Developing robust, fault tolerant software solutions that deliver business value while adhering to quality system procedures governing software version control, configuration management and Systems Development Lifecycle (SDLC) with a focus on ease of maintenance and extensibility.
Collaborate with peers and lead(s) in the team to understand requirements and detail out design.
Design of software service or application in alignment with architecture vision. Own technical designs/reviews
Identify, plan and mitigate technology risks in a timely manner
Review code, design and BDD
With a platform mindset, ensure the design and implementation results in reusable software asset
Attention to details, ensure non-functional requirements are considered as part of design, implementation and test
Champion code quality initiatives, drive it with rigor in the team and bring in TDD/BDD ways of development.
Finds opportunities for collaboration across teams, works on cross-team commitments, and achieves scale by enabling the work for others.
Up to date on software technologies and cloud frameworks
Coach and mentor junior engineers.
Candidates must have :
Overall 10+ years of "Hands on" exp. in Java
Experience of different aspects of software product development, testing and teaching, learning and influencing in these areas
Experience & firm knowledge in software design concepts and design patterns
Awareness of the intersections of business, technical and human concerns
Working experience in highly regulated industries.
Must have worked on cloud development with good understanding of cloud delivery, deployment, operation, monitoring.
Good knowledge any of SQL/NoSQL database.
Understanding of clean code concepts, unit testing, integration testing.
Understanding of DevOps with hands-on experience in Continues integration.
Hands-on experience in Azure: Compute, Data, Containers