Engineering Manager
Code and Theory
Summary
Join Code and Theory's engineering team as an Engineering Manager specializing in .NET. You will lead and mentor a team of engineers, driving the delivery of high-quality software solutions using Microsoft technologies. Responsibilities include overseeing the entire software development lifecycle, managing project timelines and resources, and fostering a collaborative team environment. This role requires extensive experience in .NET development, Agile methodologies, and team leadership. The ideal candidate will possess strong technical skills, excellent communication abilities, and a proven track record of success in delivering complex software projects. Code and Theory offers a remote-first work environment with a global team.
Requirements
- Bachelorโs or Masterโs degree in Computer Science, Software Engineering, or a related field
- 13+ years of experience in software development, with at least 3+ years in a management role, leading engineering teams
- Extensive experience with the Microsoft .NET technology stack, including C#, ASP.NET Core, SQL Server, Entity Framework, Azure SQL Database, Azure App Services, Azure Functions, Azure DevOps, AKS
- Proven experience in delivering end-to-end software solutions with a focus on enterprise applications
- Strong background in Agile methodologies (Scrum, Kanban) and experience leading Agile teams in an enterprise setting
- Cloud-native development experience, including hands-on experience with Azure cloud services, CI/CD pipelines, and DevOps practices
- Familiarity with containerization technologies (e.g., Docker, Kubernetes) and cloud orchestration platforms
- Strong background in code quality, code reviews, and automated testing
- Experience with microservices architecture and designing scalable, high-performance systems
- Proven ability to lead and develop high-performing teams in a fast-paced, high-growth environment
- Excellent communication skills with the ability to engage stakeholders at all levels, both technical and non-technical
- Strong decision-making skills, able to weigh trade-offs and make tough calls to balance speed, quality, and cost
- Ability to break down complex problems and find scalable, long-term solutions
- Ability to provide constructive feedback, mentor team members, and guide them toward professional growth
Responsibilities
- Lead, mentor, and develop a team of engineers, fostering a culture of collaboration, accountability, and high performance
- Identify skill gaps, create personal development plans, and offer growth opportunities to foster team members' professional development
- Conduct regular one-on-one meetings, provide constructive feedback, and manage performance reviews to ensure ongoing team improvement
- Work closely with HR and talent acquisition to hire top-tier engineering talent and onboard new team members effectively
- Champion an inclusive team environment that celebrates diverse perspectives and encourages cross-functional collaboration
- Lead the end-to-end delivery of software solutions, from gathering business requirements to deploying the solution and iterating based on feedback
- Oversee project scope, timelines, and resource allocation, ensuring that engineering teams meet deadlines while maintaining high standards of quality
- Work with product managers, business leaders, and clients to understand business needs and translate them into technical solutions
- Provide hands-on technical guidance in architecture, design, and code reviews to ensure high-quality deliverables
- Proactively identify potential risks, bottlenecks, or blockers that may hinder project progress and implement solutions to mitigate these challenges
- Drive the adoption of Agile methodologies (Scrum/Kanban) within the team, and facilitate sprint planning, retrospectives, and daily stand-ups
- Guide the architecture and design of enterprise-grade applications built on the Microsoft .NET stack, ensuring solutions are scalable, performant, and maintainable
- Stay up-to-date with new technologies and best practices in the .NET ecosystem, identifying opportunities to leverage new tools and frameworks
- Define technical standards and ensure adherence to best practices in coding, documentation, and design patterns
- Lead the development of cloud-based solutions using Microsoft Azure (e.g., Azure App Services, Azure Functions, Azure SQL Database, Azure DevOps)
- Oversee the integration of .NET applications with various external systems and platforms, ensuring seamless deployment and CI/CD pipelines are in place
- Communicate technical roadmaps, progress, risks, and issues to senior leadership and other stakeholders in a clear and effective manner
- Collaborate with product managers, QA teams, UX/UI designers, and other departments to ensure alignment on goals and seamless delivery
- Work with the customer-facing teams to understand user feedback and requirements, ensuring product updates align with customer needs
- Foster a culture of continuous improvement by encouraging the team to adopt best practices and iterate on processes to improve quality and efficiency
- Promote the use of DevOps practices, automating as much of the deployment pipeline as possible, and using monitoring tools to track application performance
- Establish strong quality assurance practices, ensuring the team consistently delivers high-quality code, leveraging automated tests, code reviews, and QA processes
- Ensure secure coding practices are followed and that the application meets necessary security standards (e.g., OWASP)
- Ensure the solutions comply with applicable regulatory requirements, including GDPR, SOC2, HIPAA, or other industry-specific standards
Benefits
Remote-first approach