Lead Software Engineer
Location: US Remote
Preferred Location: Oregon Remote
Are you ready to make a difference?
ICF is seeking a hands-on Lead Engineer to deliver and improve EDT, an established software product. In this remote role, you will write and review code while owning architectural decisions, design direction, and the technical roadmap for defined areas of the product. You will collaborate with existing technical leadership, establish technical direction within your area of ownership, and translate that direction into well-organized implementation work.
This is a technical leadership role, not a people-management position. Active coding and code review are central to the work, alongside architectural ownership, stakeholder communication, technical planning, and coordination of engineering activities. The right candidate combines strong development skills with the judgment to set direction, make final technical recommendations within their area of ownership, and build consensus around implementation choices.
What you will be doing:
- Build and improve application code using C# and .NET, TypeScript and React, with hands-on development as a primary responsibility.
- Review code and provide constructive technical feedback that supports maintainable implementations, consistent application of established patterns, and adoption of new patterns where the product’s architecture needs to evolve.
- Own architectural decisions and design direction for defined areas of the product, ensuring that solutions align with broader product goals and established enterprise standards. Lead day-to-day engineering execution by translating that direction into actionable development tickets and organizing dependencies, sequencing, and implementation work.
- Make technical decisions and final recommendations within the role’s area of ownership, using collaboration to build consensus while resolving disagreements when alignment cannot be reached. Ensure the engineering team shares responsibility for implementation quality and reliability, not just coordination.
- Own and evolve the medium-term technical roadmap for defined areas of the product, sequencing architectural improvements and delivery work to balance current needs with long-term maintainability, reliability, performance, and product sustainability.
- Anticipate technical dependencies and delivery risks, raise them early, and lead the development of practical responses with stakeholders and existing technical leadership.
- Communicate proactively with stakeholders about engineering progress, technical needs, limitations, and implementation tradeoffs.
- Own production readiness and operational health for the product’s 2027 launch and ongoing operation, including reliability, performance, observability, deployment pipelines, operational documentation, issue resolution, and long-term support outcomes.
- Define and lead the product’s agentic engineering practices, establishing technical standards and decision criteria for how AI tools support design, implementation, code review, testing, and maintainable delivery.
- Own work end to end, complete objectives, ask questions early, and flag when a decision or detail has been overlooked.
What we need you to have (minimum qualifications):
- 8+ years of relevant software engineering experience, including architecture ownership, technical leadership responsibilities, and continued hands-on contribution to a production codebase.
- Demonstrated ability to build and maintain frontend application code using TypeScript and React.
- Experience leading day-to-day engineering execution while remaining an active contributor to the codebase, including organizing implementation work, managing technical dependencies, and reviewing other engineers’ code.
- Experience owning architecture, design direction, and technical strategy for a defined solution area, including making final technical recommendations and translating direction into actionable implementation plans and well-defined development tickets.
- Demonstrated experience using agentic coding tools in day-to-day development, including sound judgment about where they add value and where they do not, and skill in prompting and directing them toward maintainable results.
- Experience owning quality without a dedicated QA team, including writing automated tests, defining test strategy, and verifying your own and others' work before release.
What we would like you to have:
- Experience developing software in Azure. Azure experience is preferred, not required.
- Demonstrated ability to build and maintain server-side application code using C# and .NET.
Professional Skills:
- Clear, proactive communication, including the ability to explain technical needs, constraints, and tradeoffs to technical and nontechnical stakeholders.
- A collaborative approach that makes space for different perspectives, builds shared understanding, and supports timely technical decisions, including when full consensus cannot be reached.
- Practical judgment, organization, and follow-through when coordinating engineering work, sequencing improvements, and surfacing dependencies and risks in a remote team.
- An ability to lead through technical contribution and shared understanding rather than formal supervisory authority.
Pay Range
There are multiple factors that are considered in determining final pay for a position, including, but not limited to, relevant work experience, skills, certifications and competencies that align to the specified role, geographic location, education and certifications as well as contract provisions regarding labor categories that are specific to the position.
The pay range for this position based on full-time employment is:
$119,323.00 - $202,850.00
Nationwide Remote Office (US99)