Back to work
DoorDash

Python Django Developer – Contractor

Jan 2022 – Apr 2023

Docker
Django
PostgreSQL
Redis
Kafka
Jenkins
AWS
Linux
Elasticsearch
RabbitMQ
NGINX
Python
Java/Groovy

Brief: Update legacy Docker Containers in a monolith Django application with the latest security-patched Python and Debian packages. The project was mainly a Python web backend using Django and Django Rest Framework as a RESTful API, PostgreSQL as a backend database, and Redis as the in-memory cache. The application also used GRPC with protocol buffers for data serialization. The project was containerized Docker in a Debian Linux container. Docker-compose was used for local multi-container management. Application logs were streamed to an Elasticsearch Container for analysis by Apache Kafka. Order transactions and tasks were queued using RabbitMQ. CI/CD was orchestrated using Jenkins. Finally, the project was managed using Agile.

The project had five environments: Production, Staging, Sandbox, Testing, and Local. The local environment was for initial testing of the updated Python packages. Once initial testing for a package was completed, pushing the code into GitHub would trigger the test environment to spin up and run in Jenkins. Additional testing could be done in the cloud using the Sandbox or Staging environments. Sandbox environments were similar to the local environment and consisted of 11 docker containers. However, sandbox data was closer to actual production data. The staging environment was a closer replica of the production environment with ~50 containers and used the same data as the sandbox environment. Production, staging, and sandbox environments used Amazon Elastic Container Service (Amazon ECS) for container orchestration. Testing and local environments used docker-compose for container management.


Copyright © tntheall 2026.

Personal

WorkContact