Lead Software Engineer

ICF International, Inc.

Reston, VA • 36m ago • On-site

Senior

On-site

108,476 - 184,409 USD/yr

Match your resume with similar open roles

Upload your resume to automatically match with active openings similar to this role.

PDF up to 10 MB

Your resume is private & secure

Resume Checker & Builder preview

Quick Facts

Role: Lead Software Engineer (Senior IC, hands-on technical leadership)
Work model: US Remote
Product: Demand Response Optimization Program (DROP)

Description

Lead the hands-on development and continued evolution of the DROP client-facing software product for utilities managing electricity demand. The work spans UI, APIs, data services, and analytics workflows, with an emphasis on reliability, extensibility, repeatable deployment, and product improvement. You will provide technical leadership, mentor engineers, and apply an AI-first approach while maintaining quality and correctness.

Responsibilities

  • Design, develop, test, document, implement, and maintain DROP components across the user interface, APIs, data services, and analytical workflows.
  • Build and improve capabilities for customer/device assignments, cohorting, program planning, telemetry processing, baselines, performance analysis, and reporting.
  • Refactor and modernize existing code to improve maintainability, performance, modularity, security, and reuse.
  • Lead design decisions, code reviews, troubleshooting, and implementation guidance; coordinate technical decisions with the engineering team.
  • Mentor contributing engineers and analytical developers.
  • Partner with product and analytical specialists to translate user needs into technical requirements, acceptance criteria, and implementation plans.
  • Provide technical options, estimates, dependencies, and delivery risk inputs for roadmap/sprint/release planning.
  • Improve production engineering practices: automated testing, CI/CD, logging, monitoring, error handling, data validation, deployment, and operational documentation.
  • Develop and maintain data-intensive Python and SQL workflows in Microsoft Azure and Databricks.
  • Integrate with utility data sources, DERMS platforms, APIs, telemetry feeds, storage services, Microsoft Fabric, Power BI, and client environments.
  • Use AI-assisted engineering tools to improve development/testing/documentation/troubleshooting while ensuring accountability through review, testing, validation, and monitoring.
  • Identify opportunities to incorporate generative AI, agentic workflows, machine learning, or automation into DROP and the software-development process.

Requirements

  • Bachelor’s degree in computer science, software engineering, data engineering, engineering, or related technical field
  • 3+ years of software development or data-product engineering experience
  • Experience building and supporting production web applications in cloud environments
  • Strong hands-on software engineering experience with Python, SQL, APIs, data pipelines, front-end technologies, and cloud platforms
  • Experience with Git, automated testing, CI/CD, monitoring, troubleshooting, and production support
  • Ability to translate product, analytical, and client requirements into reliable, maintainable technical solutions using AI-assisted tools

Benefits

  • Flexible workplace arrangements and work-life balance
  • Donation matching and volunteer opportunities
  • Tuition reimbursement and access to professional development resources
  • 401k matching
  • Employee Stock Purchase Plan

See similar jobs

Explore similar jobs and use your resume score to choose where to apply next

See more

Potential salary for Lead Software Engineer role

Improve your resume for just $5

$108,476 – $184,409/year

Unlock Full Resume Report