(guest@joequery.me)~ $ |

Resume - View PDF


Joe McCullough
Email: joseph@vertstudios.com
Website: joequery.me
Current location: Austin, TX
Github profile: JoeQuery


Thales eSecurity - Software Developer (September 2018 - Present)

My primary focus at Thales is contributing to the UI for the Keysecure product. Keysecure is a key management system used by customers operating critical systems that require extensive security measures.

  • UI Tech
    • React/Redux
    • Enyzme unit tests
    • Testcafe E2E tests
  • Leadership
    • Scrum master for the UI team. Helped implement async communication workflows which allow the UI team to collaborate across multiple continents
    • Frequently facilitate discussions between backend developers and UX designers to help both sides understand their goals, concerns, and constraints
  • Automation
    • Configured monitoring on corporate build server agents to prevent high-use build agents from running out of disk space
    • Configured continuous integration to run unit tests, enforce linting, and enforce formatting
    • Developed a web service that creates a fully functional preview of the UI for each open pull request
      • Tech used: Ansible, terraform, flask, Gitlab webhooks

IST Research - Technical Operations / Quality Engineering (January 2016 - September 2018)

  • Docker
    • Took existing applications and created docker images via Dockerfiles
    • Optimized existing dockerized application build times
      • Multistage builds
      • Alpine builds when practical
    • Created docker-compose files to enable developers to quickly provision environmemnts
  • Monitoring
    • Used DataDog as the primary monitoring platform
    • Created system-level monitors for services such as Redis, Kafka, and Elasticsearch
    • Created dashboards and monitors for in-house applications to track application health and report anomalies
    • Integrated monitors with PagerDuty for on-call paging
    • Created custom DataDog checks in Python for polling Elasticsearch documents over specified intervals
  • AWS Management
    • EC2, ELB, RDS, Route53, Elasticache, IAM
    • Participated in the Amazon Neptune preview. Created IAM policies to allow Lambda to communicate with Neptune, S3, and API Gateway
    • Created VPC peering connections to allow for Portainer nodes to communicate across AWS organizations
  • Continuous Integration

    • Evaluated various CI tools to establish the future of CI at IST. Decided on CircleCI for its docker support
    • Created CI pipelines that run unit tests, build and push docker images, and automatically deploy to the dev environment
  • Deployment automation

    • Ansible was used for automated provisioning of infrastructure
    • Noteworthy Ansible roles authored include:
  • Troubleshooting Documentation
    • Authored troubleshooting documents called "playbooks" that accompanied PagerDuty pages so the on-call engineer could diagnose and resolve issues they may not be familiar with
    • Bridged the knowledge gap between developers and technical operations by creating diagrams that described the network communication specific to an application
  • Server management
    • Ubuntu 14.04
  • Maintenance and upgrades
    • Performed scheduled downtimes according to customer schedule requirements
    • Created logs of deployment anomalies for stability follow-up procedures
  • Python development
    • Improved twitter streaming application by implementing an asynchronous KafkaProducer
    • Implemented a Slackbot that generates a forecast-style gif of DataDog dashboards and places them into Slack channels

Austin Coding Academy - Instructor (June 2014 - November 2015)

Andrew Harper - Python Developer (Contracting May 2015 - September 2015)

  • Integrated a BackboneJS front end with a Django Rest Framework API
  • Doubled the speed of a pre-existing in-house search indexer through Django ORM optimizations
  • Created user favorites for arbitrary objects via Generic Foreign Keys
  • Implemented a flexible data submission/review cycle between Andrew Harper employees and hotel representatives

Andrew Harper - Python Developer (June 2013 - June 2014)

  • Rest API development via Django Rest Framework
    • Overrode Django Rest Framework internals to allow for more dynamic routing
    • Created authorization scheme which enforced limitations on API clients (with an emphasis on securing user data)
  • Custom shopping cart
    • Stripe integration
    • Authorization to various parts of the site based on product selection
    • Created infrastructure for promo-codes, bundled products, US vs International pricing
  • Dynamic GeoJSON generation for use with the MapBox API
  • Created custom python APIs to cope with vendors unable to expose json/xml endpoints
    • Requests was used to facilitate interaction with the vendors' web applications
    • PyQuery was used to parse the resulting HTML and extract relevant data

Communications Corporation of America - PHP Developer (Dec 2011 - June 2013)

  • Custom Drupal module development for 25+ TV station websites
  • Created custom PHP libraries for interacting with vendor web applications
  • Created in-house utilities to aid collaboration workflow. These tools enabled us to
    • easily transfer databases between developer machines
    • quickly restore from on-site database backups
  • AWS management
    • EC2 / ELB
    • RDS
    • S3 / Cloudfront
  • Nginx/Apache webserver management and configuration

Vert Studios - Web Developer (Sep 2010 - 2012)

  • Custom jQuery plugin development
  • Simple website development via Wordpress, RefineryCMS
  • Deployment, hosting, and version control management
  • Traffic generation via technical articles

Personal Projects



  • JSONSelector - A utility which describes how to traverse to a particular value in a JSON response
  • joequery.me - My personal website, a custom Flask blog engine.

Ubuntu server configuration


Technical writing / Tutorial creation

Open source contributions

  • Refactored and extended the parser of a Jinja2 syntax highlighting plugin - PR Link
  • Added installation documentation for Habitbot setup - PR Link
  • Altered the client Terminal broadcasting service ScreenxTV to hide user credentials input through the terminal - PR Link
  • Fixed an issue in mruby's mirb REPL where the strings "exit" and "quit" would terminate the REPL when intended to be used as strings - PR Link


University of Texas at Tyler
Major: Computer Science with Math minor (Did not graduate)
3900 University Boulevard
Tyler, TX 75701-6699
(903) 566-7000
Attended: 2010-2013

Associates in General Studies

Tyler Junior College
1327 South Baxter Avenue
Tyler, Texas 75701
(903) 510-2200
Graduation Date: 2010


Available upon request.