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 a 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 Skills/Abilities:
7+ years of work experience with a Bachelors Degree or an Advanced Degree (e.g. Masters) in Computer Science/Engineering.
5+ years of people management experience in agile software development.
Dynamic leader who has directly managed team of highly competent developers in fast paced work environment.
Strong software product development background with a passion for building cloud based applications with high levels of reliability, availability and security.
Very good understanding of Enterprise Application Life Cycle Management needs.
Significant experience building REST based web services & web applications using Java and Spring framework.
Experience building service-oriented solutions and Restful microservices and a strong understanding of Java multi-threading, concurrency, and memory management.
Proficient in working with relational databases as well as NoSQL technologies like MongoDB, MySQL and Redis.
Experience with cloud platforms (e.g. AWS, Azure or Google Cloud) and building automation around their APIs.
Working 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.
Excellent knowledge of core engineering best practices and passion to implement these across teams.
Strong leadership qualities and organizational skills as well as the ability to adapt quickly to
changing priorities.
Excellent verbal, written, and presentation skills. In particular, a demonstrated ability to effectively communicate technical and business issues and solutions to multiple organizational level internally and externally.