Lead Software Engineer
Description
The position also requires leading and coaching individual developers in a team-orientated environment to deliver quality software in a preset allotted time frame. The team lead will work closely with individual team members to assess competencies, assist in guiding employee career initiatives, and foster a collaborative and positive team culture.
Responsibilities:
- Design, develop and maintain our enterprise software solutions
- Contribute ideas for mitigation of legacy code and well as establishing criteria for the selection, development, and implementation of new technologies within the enterprise
- Ensure the ongoing success of projects by designing high-quality technical solutions
- Collaborate with other software developers, business analysts, and software architects to solve complex technical problems
- Participate in troubleshooting production issues
- Design, develop and debug scalable platform services
- Review designs and code implementations of other developers
- Coaching other engineers on the team
- Conduct engineering team member performance reviews
- Assist in engineering team member career planning
- Other general human resource responsibilities (time off approval, etc)
Qualifications:
- 5+ years of experience designing, building and deploying highly available and scalable web applications in a professional work environment
- Ability to excel working in a highly collaborative team environment
- Skills and experience with C# and SQL
- Strong knowledge of computer science fundamentals in data structures, algorithms, complexity analysis, databases and web technologies
- Exceptional software design, problem solving and object-oriented coding skills
- Knowledge of various industry standard development practices such as Agile, OOD, TDD, BDD
- Familiarity with REST services and ASP.NET Web API
- Knowledge of various industry-standard development practices such as Agile, OOD, TDD, BDD
- Strong knowledge of design and code patterns, specifically toward .NET
- Proficient with tooling to enable SDLC (Jira, Git, Visual Studio, etc.)
- Strong verbal and written communication skills with both technical and non-technical colleagues and customers
- Experience as a team lead or other supervisory responsibility
- Ability to provide constructive feedback to team members
- Bachelor’s Degree in Computer Science or similar education