Software Developer - AI/Machine Learning
ICFAbout the role
We are seeking a software developer who is passionate about artificial intelligence, machine learning, and large language models. As a software developer, you will be responsible for designing and implementing innovative solutions that address complex problems using cutting-edge technologies. You will work with a team of experts in AI, machine learning, and natural language processing to develop and implement solutions that meet the needs of our ICF employees.
The ideal candidate will have a strong background in both .Net and Python, with experience in developing and deploying scalable applications. You will be expected to have a deep understanding of these programming languages and be able to use them effectively to develop, optimize, and deploy AI and machine learning models and processes. Additionally, you should have experience with cloud-based platforms such as AWS, Azure, or GCP, and be familiar with containerization technologies such as Docker and Kubernetes.
At our organization, we value continuous learning and encourage our team members to stay up-to-date with the latest advancements in AI and machine learning. As such, we are looking for someone who is passionate about learning new technologies and exploring new ways to solve complex problems. ICF has deep relationships with commercial businesses that will get you up to speed with the most cutting edge technologies re: AI/ML and LLMs. If you are a self-starter with a strong work ethic and a desire to make a meaningful impact, we encourage you to apply for this exciting opportunity.
A Day in the Life at ICF
This position will be part of the Corporate IT department and the AI Engineer will be expected to:
Interact with ICF employees to understand processes, pain points, etc.
Understand the ICF landscape and be able to recommend solutions that are in ICF’s best interest
Create functional requirements based on user interviews
Translate functional requirements into technical requirements
Participate in Scrum process to implement solutions in an agile manner
Create user stories and tasks that break down technical requirements
Estimate LOE for tasks
Report out on daily status updates and roadblocks
Work with a team of analysts, BI engineers, infrastructure engineers, InfoSec and other IT experts.
Languages
.NET - Core, Framework
Python - LangChain, Pinecone, OpenAI
JavaScript - Angular, React, Vue
Database - SQL, mongo, cosmos (or some combination of structured and unstructured)
Azure - Web Apps, Containers, Storage, OpenAI, Cognitive Services (or comparable AWS/GCP)
Basic Qualifications:
3+ years hand-on experience in Python, Jupyter or Restful API.
3+ years hands-on experience with neural networks, machine learning algorithms, etc.
3+ years hands-on experience with structured/unstructured databases
1+ years hands-on experience with Large Language Models (OpenAI, LaMDA, StableLM, LLaMA, PaLM, or related large language model.)
Preferred Qualifications:
B.S. in Computer Science or equivalent technical field
Experience with MS Power Platform, Azure.
Experience working with MS SQL, Stored Procedures, data extraction, data transformation, and data loading.
Strong initiative, solid judgment, and a desire to continually grow their technical knowledge.
Experience with technology skills including .Net framework/core, JavaScript/jQuery, and PowerShell scripting.
Strong understanding of SDLC concepts and experience in Agile/Scrum project methodologies
Professional Skills:
Excellent written and verbal communication skills.
Work well independe
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s