Job responsibilities
- Lead and manage a team of software developers in the design, development, testing, and deployment of software applications
- Provide guidance to immediate team of software engineers on daily tasks and activities
- Provide technical leadership to ensure the team's adherence to coding standards, best practices, and software architecture principles
- Anticipate dependencies with other teams to deliver products and applications in line with business requirements
- Manage stakeholder relationships and the team’s work in accordance with compliance standards, service level agreements, and business requirements
- Guide technical discussions within the team and represent the team in cross-functional technical discussions
- Lead technical initiatives utilizing data technologies like Kafka or Cassandra
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years applied experience. In addition, demonstrated coaching and mentoring experience
- experience in software engineering with a strong understanding of data structures, algorithms and software design & experience in managing software Development team(s).
- Deep understanding of software development processes, methodologies, and best practices
- Experience with software development tools such as Git, JIRA, and CI/CD pipelines
- Proficient in Cloud Native software development using Microservice architecture
Preferred qualifications, capabilities, and skills
- In-depth knowledge of the financial services industry and their IT systems
- Strong familiarity with designing highly scalable Distributed Systems
- Advanced understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
- Experience leading technology projects adopting Agile Software Development methodologies