Position OverviewThe
Software Engineering Manager leads the team responsible for Follett's title catalog and course materials adoption systems: large, business-critical .NET Framework applications (C# and VB.NET) with extensive SQL Server codebases.
This is a player-coach role. The Software Engineering Manager is the primary technical representative and operational owner for these systems, stays an active contributor, and leads the engineering team. The role carries a two-part modernization mandate: modernize how the team works, with an emphasis on AI-assisted development, and modernize the applications, moving them to current .NET, containerized deployments on Azure, and modern CI/CD.
Responsibilities Team Leadership & Development:- Lead a team of engineers; set clear standards for quality, ownership, and delivery and hold the team accountable to them.
- Mentor engineers and technical leads through pairing, code review, and design feedback; develop the next generation of technical leaders.
- Conduct performance reviews for associates and manage contractor and vendor performance.
- Allocate capacity across feature work, support, and modernization; provide input on staffing, hiring, and tooling.
Application Modernization & Engineering Practices:- Own the modernization roadmap: .NET Framework to current .NET, containerized deployments on Azure, and modern CI/CD, delivered incrementally without disrupting the business.
- Bring the database tier under source control, automated deployment, and test coverage.
- Drive adoption of AI-assisted development across coding, review, testing, documentation, and legacy code comprehension.
- Establish modern engineering practices, including pull-request review, automated testing, observability, and secure coding; measure and improve delivery performance.
Delivery & Stakeholder Partnership:- Serve as the primary technical representative for these systems; report regularly on progress, risks, and issues.
- Advise engineering, product, and business leadership on technical strategy, trade-offs, and risk in business terms.
- Partner with stakeholders on priorities and sequencing; deliver roadmap work predictably.
- Own the engineering support rotation and its policies, including ticket intake, severity definitions, response expectations, and escalation paths.
- Serve as the escalation point above the rotation; communicate incident impact to stakeholders and reduce recurring support volume.
Technical Leadership & Software Development:- Contribute production code in C# and T-SQL, focused on the highest-risk changes.
- Debug and performance-tune large stored procedure codebases.
- Lead response to critical production incidents through resolution and root-cause fixes.
- Lead code and design reviews on high-impact changes, focusing on design and long-term maintainability.
- Build reference implementations that set patterns for modernization.
- Bachelor's degree or equivalent experience.
- 7+ years of professional software engineering experience, including at least 2 years in a technical leadership or management role.
- Demonstrated experience leading software engineering teams and managing complex technical projects.
- Experience managing contractors, nearshore, or offshore engineering teams.
- Strong hands-on development experience with C# and .NET Framework, including working knowledge of VB.NET.
- Advanced proficiency with Microsoft SQL Server, T-SQL, stored procedures, query optimization, execution plans, and indexing.
- Proven experience modernizing legacy .NET Framework applications to current .NET technologies.
- Experience with Microsoft Azure, containerized application deployments, and CI/CD pipelines.
- Strong understanding of software architecture, application security, automated testing, and modern development practices.
- Strong leadership, coaching, and team development skills.
- Ability to balance hands-on technical contributions with team management responsibilities.