Job Description
The Lead Developer transforms business requirements into robust technical designs. You will take ownership of project delivery by leading a team of developers. Your responsibilities include ensuring alignment with architectural standards, driving development best practices, and delivering high-quality solutions. This role demands strong leadership, technical expertise, and the ability to manage distributed teams to achieve successful project outcomes.
Essential Position Functions
· Architect, develop, and maintain scalable software applications with little or no supervision
· Drive the full software development lifecycle, including requirements analysis, system design, implementation, testing, and deployment
· Lead a team of developers, enabling those around you to do their best work
· Lead troubleshooting efforts for complex software and integration issues
· Champion software quality through rigorous code reviews, automated testing, and continuous integration practices
· Provide recommendations on architecture direction, product direction, and development tools
· Work closely with other departments to provide designs that solve business problems and ultimately benefit our customers
· Produce and maintain comprehensive documentation for software architecture, code, and development processes
· Evaluate and integrate emerging technologies to enhance system performance and reliability
· Mentor and guide engineers, fostering a culture of technical excellence and continuous improvement
· Collaborate with cross-functional teams to align software solutions with business and operational goals
· Interact with product owners and stakeholders to gather information, provide education, give status updates, and communicate relevant project-related activities
Supervisory Responsibilities
This position will act as a team lead on an agile team. This position requires a comfort level with leadership towards ensuring other developers are producing quality code. This position has the authority to determine the corrective action needed to achieve desired outcomes.
Education and Qualifications
· Bachelor's or Master's degree in Computer Science, Engineering, related field, or 7+ years of professional software development experience
· 3+ years of experience as part of an agile development team
· Demonstrated success in delivering projects from concept to completion
Required Technical Skills
· Expert proficiency in C# and .NET Framework, with willingness to adopt newer .NET technologies
· Working knowledge of Java and related frameworks (Hibernate, JPA)
· Expert knowledge of Object-Oriented Programming (OOP) principles
· Expert knowledge of varying design patterns such as CQRS, API Gateways, and event-driven design
· Expert knowledge of building and architecting REST APIs
· Expert knowledge of distributed systems and microservice architectures
· Strong experience with relational databases (SQL Server, MySQL, Azure SQL, Oracle)
Required Platform Experience
· Azure API Management
· Azure Functions
· Kafka (event streaming)
· Azure Redis Cache
· Azure SQL Database
· Dynatrace (application performance monitoring)
Additional Technical Skills
· Experience with CI/CD pipelines and deployment automation
· Experience with GitHub and GitHub Actions
· Experience working with AI-assisted development tools (GitHub Copilot, Cursor, or similar)
· Experience with the Atlassian toolset, especially JIRA
· Familiarity with Agile development methodologies
· Knowledge of networking protocols and cybersecurity best practices
Knowledge, Skills, and Abilities
· Ability to work directly with customers to drive to business outcomes
· Excellent communication skills with the ability to convey complex technical concepts to non-technical stakeholders
· Excellent organizational and leadership skills
· Ability to work with a diverse group of development team members
· Ability to work on multiple features and refactoring/support concurrently
· Ability to work across a development team to keep sprint commitments on track
· Ability to stay on the leading edge of technology trends
· Ability to problem solve: define problems, collect data, establish facts, draw conclusions
· Ability to prioritize tasks and tactfully negotiate priority with stakeholders
· Passionate about continuous improvement, efficiency at scale, and automation
- · Committed to self-study to maintain or increase technical abilities