About the Role
You're the backbone of delivery. As an AI Solutions Engineer, you'll own complex features end-to-end—from design through production—and produce work that sets the standard for the rest of the team. You'll build intelligent agents, agentic workflows, and Foundation Layer capabilities that multiple solutions depend on.
This role sits between Junior Engineers and the Lead. You deliver independently on hard problems, contribute meaningfully to architecture decisions, and make the engineers around you better through code review and informal mentoring. The Lead sets technical direction; you execute it at a high level and push back when something doesn't make sense.
We expect you to be self-directed. You'll take ambiguous requirements and turn them into working software. You'll make sound trade-off decisions. You'll know when to build something reusable and when to ship something specific. If you want deep technical ownership without the overhead of formal leadership, this is your role.
Responsibilities
Design & Deliver
Own complex features and services end-to-end—design, build, test, deploy, monitor
Build intelligent agents, conversational interfaces, and agentic workflows
Develop Foundation Layer services—reusable AI capabilities exposed as REST APIs and MCP servers
Design and implement integrations between AI capabilities and enterprise systems
Make sound technical decisions independently, escalating when appropriate
Troubleshoot complex issues across the full stack—prompts, orchestration, APIs, infrastructure
Architecture & Technical Quality
Contribute to architecture decisions and advocate for good design
Identify opportunities to extract reusable capabilities from solution-specific work
Write code that others can maintain—clean, well-tested, well-documented
Drive quality improvements: better test coverage, better patterns, better tooling
Evaluate new technologies and recommend adoption when they provide clear value
Team Contribution
Mentor junior engineers through pairing, code review, and coaching
Conduct thorough, constructive code reviews that raise team quality
Contribute to technical interviews and hiring decisions
Share knowledge through documentation, design discussions, and informal teaching
Propose and drive improvements to team processes and engineering practices
Stakeholder Collaboration
Translate business requirements into technical designs with appropriate trade-offs
Provide accurate estimates and communicate risks proactively
Partner with QA and Analysts to ensure quality and completeness
Represent engineering perspectives in cross-functional discussions
Qualifications
Required
3–6 years of software engineering experience with demonstrated ability to deliver complex work independently
Strong programming fundamentals in Python and/or TypeScript
Experience designing and building APIs, services, or distributed systems
Solid understanding of cloud platforms (Azure preferred, AWS/GCP acceptable)
Track record of writing well-tested, production-quality code
Experience with code review—both giving feedback that improves code and receiving it constructively
Ability to take ambiguous requirements and deliver working solutions
Preferred
Experience building AI/ML applications, conversational interfaces, or intelligent automation
Familiarity with LLM concepts: prompt engineering, RAG patterns, function calling, evaluation
Experience with Microsoft Power Platform (Power Automate, Copilot Studio)
Background in Azure AI services, OpenAI APIs, or similar LLM platforms
Understanding of orchestration frameworks (Semantic Kernel, LangChain, or similar)
Experience in staffing, HR tech, or workforce management
Familiarity with containerization (Docker, Kubernetes) and CI/CD pipelines
Technology Stack
Languages: Python, TypeScript
Platforms: Azure (Container Apps, Functions, AI Services), Microsoft 365
Agent Development: Copilot Studio, Power Automate, custom orchestration
Data: REST APIs, Dataverse, SQL, Snowflake
AI/ML: Large Language Models, prompt engineering, RAG patterns, MCP
Tools: Git, GitHub, CI/CD pipelines, Docker
We don't expect expertise in everything. We expect strong fundamentals and the ability to learn quickly.
What We're NOT Looking For
Configuration specialists who rely on drag-and-drop tools instead of writing code
Engineers who deliver "good enough" and move on without considering maintainability
Senior-by-title engineers who still need close supervision on design decisions
People who treat AI as magic rather than engineering—we build, test, and iterate
What Makes You Stand Out
You write code you'd be comfortable handing to someone else to maintain
You know when to build for reuse and when to ship something purpose-built
You push back on bad ideas respectfully, including your own
You make junior engineers better by working alongside them
You take ownership of problems, not just tasks
You've debugged something truly painful and came out the other side with a better system
Career Growth
This role sits in the middle of our engineering career track:
Junior → Senior → Lead → Architect
From here, you'll move toward the Lead role—taking on technical direction, formal mentoring, and broader architecture ownership. The path to Lead is about demonstrating consistent technical judgment, the ability to drive projects independently, and the willingness to make other engineers better.
As a workplace, we focus on relationships – with each other, our clients and our candidates - in fact serving others is one of our core values. We support open communication and recognize that giving constructive criticism can be even harder than receiving it. We appreciate the fearless and the passionate, who force us to be better. Everything we do sits on a pillar of diversity - diverse perspectives, backgrounds and ideas drive innovation and make us successful.
See what it’s like to work at AGS by searching #LifeAtAGS on any social network.