Lead Software Engineer

Job Details
8+ Years of Experience

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 can 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 pro-active, give them responsibility
  • Have a clear understanding of the deployment architecture
  • Have a clear understanding of the build pipeline
  • Understand how you get changes in 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 from 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 on the technical side of the project.

Technologies / Experience –

The successful candidate must have the following experience:

  • Worked as the tech lead of a development/delivery team in a large organization
  • Have worked with a variety of different technical architect roles
  • Be deeply proficient in at least one programming language (Java, Scala, C#)
  • 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
  • Strong proponent of XP practices such as TDD
  • Working with a delivery team to formulate an automated test strategy.
  • Worked as part of agile delivery teams and seen several 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 leadengineer@careerxperts.com to get connected!