Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years applied experience
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Advanced in one or more programming language(s)
- Proficiency in automation and continuous delivery methods
- Proficient in all aspects of the Software Development Life Cycle
- Experience with .Net/.Net core or similar enterprise-level technologies and successfully leading enterprise level software engineering and teams in the areas of software and/or cloud service
- Developing and improving engineering practices and processes. Exposure to JS stacks like Angular, React, Node, TypeScript, etc.
- Exposure to working with XML, JSON and NoSQL and relational databases. Developing highly scalable data-driven applications based on structured and unstructured data sets
- Exposure to Performance Engineering practices. Exposure to Architecting Automated Testing solutions. Exposure to patterns, tools and practices for CI/CD
- Using and architecting containerization technologies (Docker, Kubernetes, Mesos, Docker Swarm)
- Deploying enterprise grade production apps in AWS, or Azure, or GCP, etc. and experience with Agile Methodology and Tools – with a willingness to help teams become agile, high performing and foster a culture of team-work and sustainable
Preferred qualifications, capabilities, and skills
- Familiarity with functional programming techniques and technologies such as Scala, Clojure, or Lisp
- Secure Software Development Lifecycle with OWASP guidelines & practices
- Analysis and Design Patterns: Object Oriented Analysis and Design (OOAD), UML, MVVM, Microservice