AI Software Engineer — Production AI Systems
We are looking for an AI Software Engineer to build the software and infrastructure around modern AI systems.
This role sits between traditional software engineering and AI engineering.
You might spend one day building a backend service, another debugging an agent that is making the wrong tool call, another optimizing model inference on a GPU, and another turning an experimental AI idea into something that can survive production.
We don't expect you to already know everything.
We expect you to be able to figure things out.
What you'll work on
- Build backend systems for AI-powered products
- Develop APIs and services connecting models to data, tools, and business logic
- Build knowledge-base and RAG systems
- Develop agentic workflows and tool integrations
- Integrate LLMs into production applications
- Work with databases and structured data
- Deploy and operate AI models on GPU infrastructure
- Improve latency, throughput, reliability, and resource usage
- Build evaluation and testing infrastructure for AI applications
- Investigate new technologies and research when existing solutions aren't sufficient
- Turn experimental prototypes into maintainable production systems
The exact technologies will change.
The problems won't.
Must Have
Strong software engineering
- Strong programming skills, preferably Python
- Solid understanding of data structures, algorithms, and software design
- Experience building real applications rather than only coursework projects
- Ability to write clean, maintainable, and testable code
- Comfortable with Git and collaborative development
- Comfortable working in Linux environments
- Good understanding of APIs and service-oriented systems
Backend fundamentals
- Experience designing and consuming APIs
- Understanding of databases and data modeling
- Familiarity with authentication, error handling, and service reliability
- Understanding of asynchronous or concurrent programming is valuable
- Ability to reason about performance and scalability
Debugging
We care a lot about this.
Production systems rarely fail in the exact place you expect.
You should be comfortable starting with:
> "Something is broken."
and systematically figuring out:
> "What exactly is broken, why is it broken, and how can we prove that our fix actually fixed it?"
AI literacy
You don't need to be an ML researcher.
You should understand the basic mechanics and limitations of modern AI systems and be comfortable working with:
- LLM APIs and model inference
- Embeddings and semantic search
- RAG
- AI agents and tool calling
- Model inputs, outputs, and evaluation
Most importantly, you should understand that an LLM is a component of a software system, not the software system itself.
Learning ability
Our stack changes quickly.
A technology you've never seen before should not stop you.
If given a new library, API, model, or infrastructure component, you should be comfortable reading its documentation, looking at examples, experimenting, and getting it working.
Good to Have
- Experience building LLM-powered applications
- Experience with RAG or knowledge-based systems
- Experience with agentic AI or tool calling
- Backend engineering experience
- Experience with Docker and Linux
- Experience with cloud or GPU infrastructure
- Experience with model serving or inference optimization
- Experience with databases such as PostgreSQL, Redis, or search systems
- Experience with asynchronous Python
- Familiarity with CI/CD and production monitoring
- Experience working alongside ML engineers or research teams
Bonus Points
- You have taken an AI system from prototype to production
- You have operated services on GPUs
- You have optimized an application because it was too slow, too expensive, or too unreliable
- You have built internal developer tools or infrastructure
- You have contributed to open source
- You have an interesting GitHub project
- You have built something because you were curious, rather than because someone assigned it to you
- You can explain a complicated system clearly without hiding behind buzzwords
What we care about most
You don't need to be an expert in every part of AI.
You don't even need to know our stack.
We care about whether you can enter an unfamiliar problem and make progress.
Can you research?
Can you experiment?
Can you read source code?
Can you ask good questions?
Can you recognize when your first solution is wrong?
Can you build something that another engineer can maintain?
If the answer is yes, we can teach you a lot of the rest.