- Previous experience building and architecting microservice-based distributed applications for deployment to a cloud environment
- B.S. (or higher) in Computer Science, or equivalent work experience
- 10+ years experience in object-oriented and asynchronous programming in multiple languages (C++, Golang, Python, C#, Java)
- 5+ years building microservices in the cloud using HTTP protocols, message brokers, caching, and databases
- 5+ years architecting scalable database solutions (Relational and/or NoSQL) for microservice architecture
- Significant experience working in a Linux-based environment including basic system administration and performance management
- Familiarity with front-end frameworks like React or similar
- Familiarity with Cloud Architecture in AWS and Azure, Containerization systems, and DevOps principles
- Previous on-call experience identifying root causes and fixing issues independently
- Solid Computer Science fundamentals including design patterns, algorithms, memory management, and asynchronous processing
- Strong C++ fundamentals and proficiency with Golang/Java and Python/C#
- Proficiency in building multi-layered microservice architecture at enterprise scale
- Expertise in message brokers and caching systems for scalability
- Experience with major cloud platforms such as AWS, Azure, and Google Cloud
- Database knowledge for optimization and tuning (MySQL, Mongo variants) and proficiency in query languages
- Ability to diagnose performance and connectivity issues in Linux and Windows
- Understanding of application-side security best practices for microservices
- Experience with CI/CD pipelines and tools like Jenkins, Git, Perforce, Team City; expertise in branch management
- Experience with open-source frameworks, operating systems, and containerization technologies like Docker, ECS, AKS, Kubernetes
- Expertise in application and API testing methodologies and automated testing