Responsibilities
Delivery
Support interactions with customers and development team to gather and define requirements
Focus on technology requirements / standards on 1 or more squads. Drive the technical design and evolution of the services owned by the teams. Lead architectural and design discussions
Assist the Squad Leads & Teams to ideate, review design, mentor during build, code-review, test, load-test, launch and monitor performance in production
Help engineers / squads to design the right system by giving them clear objectives but letting them take care of the system-level architecture
Provide regular reports to the Area Lead and other departments on your Squad's technical achievements, challenges, and recommended solutions.
Help remove blockers
Lead and consult on developing maintainable/scalable, effective, defect free source code that meets business requirements and team standards, conduct unit test case development, develop highly complex test scripts, conduct impact analysis.
Assist in analyzing and troubleshooting application issues
Support and facilitate maintenance and upgrades of existing software applications
Lead troubleshooting and major incident support, perform blameless postmortems, and drive action that improves reliability for the long term
Practice & Craftsmanship
Work with Chapter Leads, Principal Engineers and other Tech Leads to ensure best practices are implemented and followed.
Identify and implement appropriate continuous improvement opportunities
Capability Development
Mentor team members technically and professionally by offering constructive feedback.
Teach less experienced engineers through pair programming and code reviews.
Work with Principal Engineers, Squad Leads to assess the skill level of engineers and identify areas of improvement, further learning
Other
Collaborate with other teams to ensure end-to-end integration, manage risks and address cross-org dependencies and impediments
Work with teams [ Squad / Area ] to plan, prioritize, and complete project assignments
Participate in risk assessments and mitigating activities as needed
Regularly attend meetings to discuss projects, issues, and ideas
Participate in technical audits and ensure the implementation recommendations
Support the whole software development life cycle (SDLC)
Determine department goals and creating implementation plans
Required Skills
Proven experience in the ability to mentor and develop teams.
Software architecture and design skills to guide the development of solutions that are secure, scalable, and reliable.
In depth knowledge of industry standard best practices, development lifecycle processes and methodologies. Experience using agile methodology is a plus.
Experienced in the use of metrics and data to drive decision making on architectural / technology drive.
Can lead through influence without direct authority.
Excellent written, verbal and presentation skills.
Ability to think independently and contribute to the overall effort without much direction.
Ability to work well within a team environment.
Ability to work well under pressure.
Ability to be a self-starter and work in a fast-paced environment performing work of high difficulty in designing, writing, editing, modifying and debugging code.
Able to communicate technical information and details effectively at all levels and understand customer systems
Able to diagnose / troubleshoot the most complex issues independently
Technical Skillsets should adapt based on the requirement of the project / area