Resume - View PDF
I'm Joe, a Senior Frontend Developer currently specializing in ReactJS.
- Selenium-based E2E frameworks
- AWS resource management
- CI pipelines
- The breadth of my 12+ years of professional experience allows me to optimally delegate responsibilities of software components to the proper layers of the stack.
- I enjoy using code reviews as an opportunity to share knowledge with my teammates.
- I take a maintainability-first approach to authoring source code and shy away from clever hacks unless they are absolutely necessary.
- I collaborate effectively with UX designers, project managers, backend developers, and devops to help design performant, observable, and intuitive features from the ground up.
- I enjoy mentoring junior and mid-level developers to aid their career growth.
- I fiercely advocate for end-users when presented with ideas that would degrade their experience.
My ideal team culture
- Welcoming to all.
- Highly collaborative with frequent opportunities to pair program.
- Short, effective, actionable meetings.
- Neither over-encumbered with processes nor shoot-from-the-hip.
- Speedy CI/CD pipelines.
- Respectful of life outside of work.
Indeed - Software Developer (May 2021 - Present)
The Assessments team at Indeed helps people get jobs across numerous industries by allowing job-seekers to demonstrate their skills to employers.
My role includes full-stack development with a heavy emphasis on React.
Drastically improved legacy React code that was underperforming by diagnosing the origin of excessive component re-renders. Culprits included non-memoized event handler props and unnecessary use of the Function as Child Component pattern.
Refactored a large, brittle React component that relied on non-deterministic useEffect chains. This component had been the origin of multiple production issues.
Implemented a new UI flow that allowed job seekers to reuse existing test scores if employers asked them to take an assessment they had previously taken. This measurably improved the percentage of assessments completed.
Collaborated on implementing a new UI flow that aimed to emphasize phone screen recordings provided to employers by job-seekers. This measurably increased the rate that employers were listening job-seekers phone screen recordings, thus reducing wasted job-seeker time.
Consistently gave extensive merge request feedback on React code pushed by junior engineers or backend-leaning senior engineers.
Helped facilitate communication between the assessments team and UX designers.
Mentored junior engineers on technical and non-technical aspects of career progression.
Thales eSecurity - Software Developer (September 2018 - Present)
My primary focus at Thales was 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
- Enyzme unit tests
- Testcafe E2E tests
- 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
- 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)
- 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
- 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
- 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
- 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)
- Corporate training
- Introduction to Ruby for AMD engineers
- Developer community outreach
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
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
- 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
- Stupid Table Plugin - A stupidly simple jQuery table sorting plugin
- 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
- Installation of JIRA Server, Confluence, Apache Guacamole
- Guide to installing Arduino on Ubuntu Virtualbox Guest under Windows Host
- mrbc playground - An environment to quickly convert ruby to object code.
Technical writing / Tutorial creation
- Beginner's introduction to pointers in C - Beginner focused lesson on the fundamentals of pointers. (100,000+ views!)
- Python built-in function reference - My own examples to supplement Python's official documentation.
- Double pointers in C - Illustrative examples to explain double pointers.
- SQL exercises for beginners - Custom made examples, explanations, and assignments for learning SQL fundamentals.
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
Associates in General Studies
Tyler Junior College
1327 South Baxter Avenue
Tyler, Texas 75701
Graduation Date: 2010
Available upon request.