Senior Software Engineer
I have built lots of microservices using event-driven architecture and I know very well how to scale things to handle lots of QPS.
- Introduced Kong API gateway to handle Authentication, Rate limiting, and decrease round trips.
- Developed two Kong plugins in Lua language to handle logging and caching.
- Integrated Bitbucket pipelines into our workflow for CI/CD.
- Developed Jenkins jobs for automating smoke test after each deployment.
- Implemented 5 services with Serverless architecture Which decreases the infrastructure cost.
- Developed a ChatBot using HuBot which helps us deploying and scaling any service from slack.
- Developed a lot of scripts and Kubernetes jobs for auto Backup and system restore.
- Coached Python language for Ad Ops Team to write scripts for automating tedious processes.
- Introduced static type checking in python services which help decrease errors by 45%.
- Introduced Airflow for building complex Workflows and monitoring them.
- Integrated Stackdriver and ELK to our new cluster in GCP to help improve monitoring.
- Integrated Pubsub in some services to help the system become more event-driven.
- Implemented Eventful in Elixir language which is a Pub/sub service used internally.
- Introduced Pact (Consumer-driven contract) which helps reducing integration bugs
- Enhanced our documentation to speed up new members' onboarding process.
- Introduce Faktory work server to distribute jobs, thus enabling us to write workers in any language and monitoring them.
- Introduced Mutation Testing to some services to improve its reliability.
- Added some new features such as real-time chat with Django Channels.
- Increased test coverage by 24% in legacy services.
- Introduced GitOps to our team which made our serverless services deploying and testing very easy.
Celery, Django, Django REST Framework, Docker, Elasticsearch, Flask, Git, Gunicorn, Heroku, Jenkins, Kubernetes, Memcached, MongoDB, MySQL, PostgreSQL, REST, RabbitMQ, Redis, Test-Driven Development