Full Job Description
The role of lead is not a textbook checklist, however, there are technical responsibilities that a team must fulfill and we expect the tech lead to ensure these responsibilities are covered and be able to cover them themselves if needed.
We expect tech leads to taking a collaborative approach to leading their team. This is especially important when considering the amount of experience that each of our consultants brings. Given this, we expect you to:
- Respect the other members of your team and recognize you don’t always know best.
- Spot gaps in team capability and figure out how to fix them as a team.
- Be hands on, able and willing to contribute to development; however, don’t expect to be coding all of the time.
- Encourage the team to be proactive, give them responsibility.
- Have a clear understanding of the deployment architecture
- Have a clear understanding of the build pipeline
- Understand how you get changes into production
- Understand how all parts of the system work together
- Facilitate technical communication with other teams, both within your engagement and across other EE clients.
- Actively seek to remove knowledge silos within the team
- Ensure you have a release / branching strategy in place
- Act as the primary point of contact for your team when communicating with other teams
- Ensure there is a technical vision for the team
- Liaise with environment specialists to ensure smooth deployments to production
- Encourage the team to follow good development practices
- Feedback to the delivery lead or engagement manager on the quality of your team (good and bad)
- Recognize team members that have the potential to grow into team leads
- Ensure the use of new technologies or dependencies does not block the team.
- Ensure the team keeps necessary architectural documents up to date
- Keep an eye on the long term consequences of architectural choices, and remind others when necessary
- Build good relationships with your team members. Act as a mentor when required
- Keep the client informed and engaged in the technical side of the project
- Build relationships across your client community
Technologies / Experience
- The successful candidate must have the following experience:
- Worked as the tech lead of a development/delivery team in a large organisation
- Have worked with a variety of different technical architect roles
- Be deeply proficient in at least one programming language
- Be comfortable using other languages and evidence using multiple languages
- Have hands-on experience with some form of configuration management tooling, e.g.
Ansible, Chef, Puppet
- Have hands-on experience of at least one continuous integration and continuous delivery technology, e.g. Jenkins, Go, Team City or Bamboo.
- Full stack development experience from user interface through to data persistence
- A strong proponent of XP practices such as TDD
- Working with a delivery team to formulate an automated test strategy
- Worked as part of a number of agile delivery teams and seen a number of different approaches to delivery
- Good appreciation of secure coding practices and end to end system security
The following exposure will also be looked on favorably:
- Performing an ‘architect’ role, while retaining hands-on involvement
- Working with cloud hosting platforms such as AWS, Rackspace, Azure etc.
- Infrastructure management technologies such as Cloud Formation or Terraform
Write us at firstname.lastname@example.org to get connected!