The Technical Development Lead is responsible to contribute work product to the agile team as a software engineer, ensure maximum productivity of all other software engineers on the team every day, and ensure that the work product of all software engineers is of high quality and adheres to the enterprise architecture defined by our Architecture team & the software engineering practices of the company. This role will partner closely with one or more enterprise architects to ensure that you understand and have internalized the high-level design of the proposed solution, and then you will create an implementation plan for the architecture, breaking proposed implementation into chunks of work that can be executed upon by yourself and the other software engineers on the agile team. The Technical Development Lead is responsible for supervising of one or more senior software engineers, software engineers and/or associate software engineers, providing mentorship and leadership, supporting their professional development, ensuring they contribute at a level commensurate with their position, helping them to resolve work issues, and taking corrective actions when required
· Accountable for the throughput and quality of the software engineers on an agile development team, and the adherence of their work product to the architectural design of the project and software engineering practices of the company.
· Contribute valuable work product as a software engineer and technical leader on an agile development team.
· Partner closely with one or more enterprise architects to understand and internalize the high-level architecture of a solution as defined by the architect(s) and translate that into an implementation plan for the software engineers on the agile team.
· Partner closely with the product owner and/or business liaison on the team to understand all functional requirements and ensure that the work product of the team meets the customer and business objectives of the project.
· Assign work to and monitor the work product of all software engineers on the agile team to ensure quality, velocity, and adherence to architectural designs and the software engineering standards of the company.
· Resolve technical issues on a timely basis to ensure the continuous productivity of all software engineers on the team; in some cases, this will require you to lead “technical design spikes” in a project to investigate technically complex issues, identify optimal solutions, and then break these solutions into tasks that can be executed upon by the software engineers, all while ensuring that the progress of the team is on track.
· Surface any other issues on the project that impede the progress of the software engineers – solving those issues that are within your control and driving other team members (such as the program manager, product owner, enterprise architect or QA lead) to solve issues before they impede the progress of the software engineers.
· Drive processes that enable remote software engineers (who may be working on the other side of the globe) to be fully and continuously productive and highly engaged members of the agile development team.
· Coordinate with other David’s Bridal agile development teams and/or external technology providers to ensure the delivery of their work product meets the functional and quality requirements you have defined; if this work product is a dependency for the success of your project, you will ensure its quality and timeliness to ensure the progress of your team’s work.
· Ensure adherence to best software engineering practices, such as ensuring that each software engineer develops unit tests for the work product they deliver.
· Supervise one or more senior software engineers, software engineers and/or associate software engineers, providing mentorship and leadership, supporting their professional development, ensuring they contribute at a level commensurate with their position, helping them to resolve work issues, and taking corrective actions when required.
· Serve as a key leader of the agile development team – together with the program manager, QA lead, architect and product owner – to ensure a high functioning and cohesive team. You will foster an environment of mutual respect, accountability and excellence, and you will work with other team leaders to resolve conflicts within the team in a speedy, productive and professional manner.
· Monitor the quality and throughput of each software engineer on the team; you will provide mentoring and guidance to help each software engineer contribute to the best of their abilities; if a software engineer is unable to contribute at an appropriate level, you will quickly resolve the situation, whether the resource is an employee or a contractor.
Other Duties & Responsibilities:
· Participate in level of effort estimation processes and leveraging your software engineering experience to provide actionable input.
· Contribute to the evolution of best software engineering practices at David’s Bridal, including mentoring members of other agile teams.
· Promoting the professional growth of yourself and other members of agile teams at David’s Bridal.
[RW1] Please review Principal Duties to ensure that these are listed in order of what takes the largest % of the team member’s time to the least amount of time over the course of a year. Any duty that takes less than 10% of the team member’s time needs to be moved to the Other Duties section. Total % of duties should equal 100%.