Job Description
This will require an understanding of requirements, operating models, business flows and data and then partnering with technical specialists to deliver appropriate solutions. There is an implicit ownership and accountability for the solution working as intended.
Job responsibilities:
The ideal candidate is a results-oriented hands-on leader who can handle many different roles such as:
- Provide technical leadership across functional teams
- Lead code reviews and mentor junior developers
- Participate in design sessions with fellow programmers, business analysts, and other team members to analyze business requirements and outline the proposed IT solution
- Design and implement secure and robust REST APIs using Java Spring Boot
- have advanced knowledge of architecture and design across all systems
- Design scalable and extensible relational and NoSQL databases
- Prototype creative solutions quickly, and be able to collaborate with others in crafting and implementing your technical vision
- Contributes to product area, or software in order to automate manual operational work
- Troubleshoots priority incidents, facilitates blameless post-mortems and supports solutions for closure
Required qualifications, capabilities and skills:
- Formal training or certification on software engineering concepts and 5+ years applied experience
- Knowledge of application, data and infrastructure architecture disciplines
- Understanding of architecture and design across all systems
- 10+ years of very Strong hands-on experience of developing microservices using Java and Spring Boot (understanding Spring internals)
- 5+ years hands-on experience of building distributed system with micro-services, REST APIs
- 5+ years hands-on experience with SQL and NoSQL
- 3+ years hands-on experience with Docker and Kubernetes
- 3+ years hands-on experience with event driven app architecture
- 3+ years hands-on experience using latest front-end technologies such as React JS or Angular JS and associated eco-systems
- Working knowledge of CI/CD tools & process (GIT/Bitbucket, Maven, Gradle, Jenkins, Sonar)
Preferred qualifications, capabilities and skills
- Experience working with global team/follow the sun model of development is a plus.
- Strong leadership, interpersonal and communication skills. Experience leading/managing a technical team is a strong plus.
- Zeal to learn new technologies.
- Independent and self-motivated
- Certification such as Java developer is preferred
- Knowledge in UX/UI/Mobile design is preferred.
- Knowledge of software best practices like refactoring, clean code, domain driven design, encapsulation etc.