Bachelor's degree in Computer Science, a related technical field, or equivalent practical experience in software engineering.
3 years of experience in application or solution architecture.
3 years of experience in developing applications in one or more programming languages such as Java, Python, Go, or similar.
Experience managing internal or client-facing projects to completion.
Experience troubleshooting client's technical issues, and working with Engineering, Sales, and Services teams, and customers.
Experience in designing, developing, and maintaining internet facing production-grade applications.
Preferred qualifications:
Experience in designing cloud-native enterprise applications.
Experience with unit or automated testing tools such as Junit.
Experience with networking technologies (e.g., Load Balancers, Firewalls) and web standards (e.g., Representational State Transfer Application Programming Interfaces (REST APIs), web security mechanisms).
Experience with DevOps practices, including infrastructure as code, continuous integration, and automated deployment.
Experience with deployment and orchestration technologies (e.g., Puppet, Chef, Salt, Ansible, Docker, Kubernetes, Mesos, OpenStack, Jenkins).
Understanding of open source server software (e.g., NGINX, RabbitMQ, Redis, Elasticsearch).