Roles & Responsibilities
- Provide leadership and oversight to a team of software engineers building solutions and capabilities at scale and high engineering and quality standards.
- Partner with internal and external stakeholders to understand business problems and then design and develop required solutions.
- Partner with architects to ensure developed solutions adhere to established best patterns and our architectural target state.
- Provide technical thought leadership towards solving problems for the team.
- Drive the adoption of key engineering best practices to improve quality and reliability of team's deliverables.
- Responsible for keeping the team engaged, motivated and operating with a high execution velocity.
- Responsible for coaching and mentoring of direct reports.
- Develop and nurture team of developers by motivating and mentoring, and assist in hiring critical talent.
- Design, develop and evolve highly scalable and fault-tolerant distributed services
- Guiding developers in day-to-day design and coding tasks, stepping in to code if needed.
- Design and implement APIs, abstractions and integration patterns to solve challenging distributed computing problems
- Understand and own component security analysis, including code and data flow review. Collaborate with security team to implement and verify secure coding techniques
- Ensure proper metrics instrumentation in software components, to help facilitate real time and remote troubleshooting / performance monitoring
Required Experience :
8+ years of work experience with a Bachelor’s Degree or an Advanced Degree (e.g. Masters) in Computer Science / Engineering2+ years of people management experience in agile software developmentDynamic leader who has directly managed team of highly competent developers in fast paced work environmentStrong software product development background with a passion for building cloud based applications with high levels of reliability, availability and securityVery good understanding of Enterprise Application Life cycle Management needs.Significant experience building REST based web services & web applications using Java and Spring frameworkExperience building service-oriented solutions and Restful microservices and a strong understanding of Java multi-threading, concurrency, and memory managementProficient in working with relational databases as well as NoSQL technologies like MongoDB, MySQL and RedisExperience with cloud platforms (e.g. AWS, Azure or Google Cloud) and building automation around their APIsWorking knowledge of infrastructure, ensuring high-availability, scaling, service discovery, logging, monitoring and alerting.Strong understanding of architecture patterns and operational characteristics of highly available and scalable applications.Skill Sets : Technical Leadership, Project Management, Architecture, trade-off, considerations, evaluations, Distributed Architecture, Scale