The Lead IT Software Developer
is a well-rounded expert on the team in Front-End frameworks (Aurelia, Angular and such) and Back-End (Microsoft SQL and C#/.NET). He / She is the go-to person for any questions or direction relating to technologies for his/her assigned team and may be a resource for other experts around the organization. The lead developer works closely with/or is the architect to ensure that the technology fits within the overall architecture and create guidelines and standards in the use of technology. While the architect on the team has overall responsibility for the big picture view of the architecture for the system and the overall working of the system, the lead developers is responsible for making sure that specific technology (or technologies) where he/she is the expert is applied appropriately within the team.
The individual in this role is a senior member of the IT team who is able to understand the use of the technology, the best practices surrounding its use and how to apply it within the particular project or team. The person is part of prototyping or may even lead some of the prototyping / proof-of-concept activities. The individual guides and mentors other members of the team in their adoption of the particular technology. All this happens within the framework and process created by the architecture team, and the architecture team has the ultimate approval authority on the adoption of a particular technology. The individual will have the responsibility for the low-level design based on the high-level framework provided by the team’s architect.
The lead developers also participates in the design and development activities. Because of the leadership roles, the lead developer is expected to take on complex design, development and troubleshooting tasks. The individuals leads by example by producing high quality implementation that sets the standards for how the technology is used within the team.
The lead developer also collaborates with other leaders within the organization and End-Clients to establish cross-team standards, liaising with the architect and other senior members of other application development teams. The individual also participates in researching new technologies within the organization.
Assist with other project or departmental activities as needed.
- Bachelor’s degree in Engineering, Computer Science, Mathematics or scientific discipline.
- 10+ years IT experience, with at least 8 years of software development experience, and with 2+ years in a Sr. Software Engineering role.
- 6+ years of programming experience in C# .NET.
- Past experience developing software as part of a team in a complex n-tier application environment comprising websites, web services, databases, SOA etc.
- Experience with Microservices architecture.
- Experience writing SQL queries, stored procedures, and working with SQL Server.
- Experience with Entity Framework, Web API and RESTful services.
- Experience working with SPA applications.
- Experience developing high quality software while adhering to unit and integration testing guidelines in an agile environment and CI/CD practices.
- Strong programming experience with Object-Oriented Design principles and design patterns.
- Demonstrated ability to guide and mentor other technical staff.
- Excellent communication skills.