What are the responsibilities and job description for the AI/ML Software Engineer position at ASSYST?
ASSYST is seeking an AI/ML Software Engineer to build tools for automation, internal user assistance, and external user experience, including chatbots, RPA, and knowledge retrieval for our client in Annapolis, Maryland (Hybrid Role).
This is a Hybrid role that requires the selected candidate to work onsite at Annapolis, Maryland for the first two days.
Responsibilities
This is a Hybrid role that requires the selected candidate to work onsite at Annapolis, Maryland for the first two days.
Responsibilities
- Design and build software systems that integrate AI/ML techniques to automate tasks, assist internal users, and improve user-facing services.
- Build software tools such as RPA workflows, chatbots, knowledge retrieval agents, and document analysis systems.
- Contribute to technical decision-making regarding data processing, retrieval strategies, and system integration within established infrastructure constraints.
- Collaborate with team members to define agent architectures, workflows, and system design decisions.
- Evaluate and select appropriate approaches for tasks, including determining when to use LLM-based versus non-LLM techniques.
- Design and implement testing and evaluation pipelines for AI/ML systems using unit tests and integration tests.
- Generate and utilize synthetic data to support system evaluation and benchmarking efforts.
- Optimize system performance in terms of accuracy, latency, and cost efficiency.
- Support the deployment of containerized AI/ML applications within a hybrid cloud environment.
- Optimize systems for environments with limited computational resources and minimal GPU availability.
- Deliver production-grade systems aligned with defined requirements while supporting iterative tool improvement.
- Document all system designs, workflows, and technical decisions.
- Stay informed on relevant advancements in AI/ML and apply them where appropriate within project constraints.
- Complete specific year-by-year deliverables including internal chatbot refinement, translation agents, and redaction tools.
- Provide high-level summaries of hours expended by deliverable with each invoice to ensure transparency.
- Bachelor of Science in Engineering, Computer Science, or a related field, with preferred experience of three (3) years in data science/AI and three (3) years in software engineering.
- Minimum of three years of experience in data science, machine learning, or applied AI development.
- Minimum of three years of experience in software engineering, architecture, or web development.
- Demonstrated proficiency in Python for developing production-grade backend services and data pipelines.
- Experience with SQL and relational database systems such as PostgreSQL.
- Experience with embedding models, vector similarity, and graph retrieval techniques in RAG systems.
- Experience with version control systems, containerization technologies like Docker, and service-oriented architectures.
- Experience collaborating with Large Language Models (LLMs) via both API integration and local deployment.
- Experience validating AI-generated outputs and mitigating hallucinations in production pipelines.
- Experience fine-tuning small language models or embedding models.
- Experience with graph databases or extensions such as Neo4j or Apache AGE.
- Knowledge of React and Microsoft Teams Toolkit for developing chatbot user interfaces.
- Knowledge of threading, asynchronous processing, and queues in backend servers.
- Knowledge of hybrid cloud environments and distributed system considerations.
- Knowledge of classical natural language processing (NLP) techniques and non-LLM data analysis.
- Knowledge of data science libraries in Rust or other performance-oriented programming languages.
- Ability to understand data structures, algorithms, and clean coding principles.