Senior Software Engineer/Tech Lead
About the role
At ICF Next, we are fearless in finding new ways to solve problems, relentless in making sure it pays off for our clients and committed to making a positive change in the world. Join our community of mission-driven creatives, communicators, strategists, and technologists to challenge the status quo.
Please note this role is contingent.
The Team
You'll lead a delivery team within a cross-functional program that includes software engineers, solution and cloud architects, database administrators, DevSecOps engineers, quality assurance specialists, user experience professionals, business analysts, product managers, data analysts, accessibility and security specialists, and behavioral health subject matter experts. We partner with federal stakeholders to operate and modernize a mission-critical data collection and performance reporting platform used by grantees and program staff.
The Work
In this player-coach role, you will provide day-to-day technical leadership while remaining hands-on in the design, development, testing, and support of secure .NET applications. You will guide engineers through solution design and implementation, organize technical work, review code, resolve blockers, and help the team deliver dependable capabilities for data entry, batch ingestion, validation, workflow, reporting, and data exchange. A key part of the work is improving the platform without disrupting active users. You will help the team modernize legacy components incrementally, strengthen engineering practices, improve performance and data quality, expand automated testing and deployment, and make production behavior easier to observe and troubleshoot. You will also coach engineers and communicate technical options, risks, and progress to program and client stakeholders.
Key Responsibilities
- Lead a team of software engineers by organizing technical work, clarifying priorities, removing blockers, reviewing outcomes, and providing practical coaching and feedback.
- Design, develop, and maintain production web applications using C#, .NET, ASP.NET Core or MVC, and modern JavaScript or TypeScript.
- Translate product, data, security, accessibility, and operational requirements into clear technical designs and implementation plans.
- Guide the design of REST APIs, domain models, SQL Server data structures, queries, and integrations with internal and external systems.
- Oversee capabilities for data entry, batch upload, validation, duplicate detection, workflow, notifications, reporting, and data download.
- Establish expectations for automated tests, code quality, peer review, branching, release readiness, and maintainable documentation.
- Support continuous integration and deployment practices and coordinate application releases with cloud, DevSecOps, database, security, and quality assurance teams.
- Lead investigation of production defects and performance issues using application logs, monitoring data, root-cause analysis, and tested corrective actions.
- Ensure the team applies secure coding, least-privilege access, role-based authorization, privacy, Section 508, and WCAG requirements throughout delivery.
- Participate in Ag