Note: The job is a remote job and is open to candidates in USA. McGraw Hill is building intelligent learning experiences through its AI Platform team for millions of students and educators. The Software Engineer III - AI will develop reliable, scalable backend services and APIs involving RAG pipelines, LLM orchestration, retrieval, routing, and production AI infrastructure, while collaborating with data scientists, product managers, designers, and engineers.
Responsibilities
- Build the services that deliver AI to users. Pick up work on our RAG pipelines, LLM orchestration layers, and the APIs that surface AI capabilities to users. You'll integrate with model providers (Azure OpenAI and others), wire up retrieval and routing logic, and build the production glue that turns research into shipped product. You'll start with well-scoped features and grow into owning them end-to-end as you ramp
- Work across our backend stack. Most of your time will be in Python (FastAPI, async/await, Pydantic), with opportunities to contribute to Go services as you grow. You'll touch PostgreSQL, async task workers, and the integrations that connect our services together
- Ship with care. Write code that's tested, readable, and considerate of the people who'll maintain it after you. Participate in code reviews — both giving and receiving — and learn how your team thinks about quality, observability, and reliability
- Get good at AI engineering — the software side. You don't need to arrive as an expert. You do need to be the kind of person who reads the docs, runs the experiments, asks the awkward questions, and forms a real point of view about how to build with LLMs reliably — prompt design, retrieval quality, latency and cost tradeoffs, graceful failure modes. We'll invest in your growth here. (To be clear: the model science itself lives with our data science team. You'll partner with them, but you won't be doing their job.)
- Collaborate broadly. You'll work with data scientists evaluating model outputs, product managers shaping features, designers thinking about UX, and other engineers across the org. Communicating clearly — in PRs, in design discussions, in Slack — is part of the job
- Grow into more. Over time, you'll start influencing design decisions on your team, mentoring engineers newer than you, and taking on larger pieces of work. We'll meet you where you are and help you get to where you want to go
Skills
- This is a remote position open to applicants authorized to work for any employer within the United States
- Roughly 2-5 years of professional software development experience
- Comfort in any modern backend language — Python preferred, but if your background is heavier on Go, Java, Kotlin, or Node and you're confident you can ramp in Python, tell us about that
- Experience building APIs and working with relational databases (PostgreSQL, MySQL, or similar) is the baseline
- You don't need a list of production RAG systems on your resume
- You do need to have engaged with this stuff as a software engineer — built something that calls an LLM, broken something, formed opinions about prompt design or retrieval quality, played with frameworks like LangChain or LlamaIndex
- You know when to ask for help and when to push through
- You write tests because you've been burned by not writing tests
- You read more code than you write, and you can explain why you made the choices you did
- Senior engineers will scope harder problems for you, but you'll increasingly be the one breaking down medium-sized features, identifying edge cases, and flagging risks early
- You're past the stage of needing tasks handed to you in step-by-step form
- You can explain a tradeoff in writing without 14 paragraphs
- You give code review feedback that's specific and kind
- You ask questions in public channels because you've figured out that other people probably have the same question
- You see a problem and want to fix it
- You're more interested in the team shipping the right thing than in being the one who shipped it
- You're willing to be wrong in public so you can learn faster
- Python preferred
- Production experience with AWS or Azure
- Familiarity with frontend work (React or Angular) — you don't have to live there, but you can help when needed
- Experience with vector databases, embeddings, or RAG architectures
- Exposure to Go, or genuine willingness to learn it
- Familiarity with Kubernetes, Terraform, or modern CI/CD (GitHub Actions)
- Background in edtech, accessibility (WCAG 2.2 AA), or content-rich product domains
- Open-source contributions, technical writing, or teaching of any kind
Benefits
- An annual bonus plan may be provided as part of the compensation package, in addition to a full range of medical and/or other benefits, depending on the position offered.
- Horizontal and vertical movement and growth throughout the organization, including clear career paths for your long term personal and professional growth.
- Remote position open to applicants authorized to work for any employer within the United States.
Company Overview