Job Description
Overview
Impact the Moment
At McGraw Hill, our AI Platform team is building intelligent learning experiences used by millions of students and educators worldwide
We're not bolting AI onto legacy products — we're rethinking how people learn by putting generative AI, retrieval-augmented generation, and agentic workflows at the center of the experience
This is applied AI with real stakes
The models are powerful, the problems are genuinely hard, and the impact — helping a student finally grasp a concept they've been struggling with — is something you'll actually feel.
Your Impact on the Team
We're looking for a Software Engineer II — AI to join our AI Platform team
You'll build the services and APIs that use AI to power student and teacher experiences — RAG pipelines, LLM orchestration, retrieval and routing layers, the production infrastructure that turns model capabilities into shipped features.
A note on what this role is and isn't:
This is a software engineering role, not a data science or ML role
You won't be training models, fine-tuning, building eval harnesses for model performance, or running ML experiments — we have an elite team of data scientists and applied researchers who own that work
Your job is to take what they produce and the model APIs we use and turn them into reliable, observable, scalable production systems
If your background is primarily in MLOps, model training, or data science and you're hoping to do more of that here, this isn't the right fit — but we'd encourage you to check our other openings.
This is a role designed for a software engineer who's ready to go deeper
You've got a couple of years of professional experience, you've shipped real things, and you're excited about working on AI-powered products at a level beyond tutorials and side projects
Senior engineers will be around to pair with, learn from, and review your work — but increasingly, you'll be the one breaking down problems, proposing approaches, and owning features through to production.
This is a remote position open to applicants authorized to work for any employer within the United States.
What You'll Learn
We think the middle of your career is when the right environment matters most
Here's what working on this team looks like in practice:
You'll learn how production AI systems actually behave — not just the happy path, but the long tail of weird inputs, hallucinations, retrieval misses, and latency cliffs that you only encounter when real users hit your code
You'll see how senior engineers reason about LLM tradeoffs and bring you into those conversations
You'll write code that runs at the scale of millions of students, and you'll be responsible for operating it — with backup from teammates when things get tough
You'll get fast, specific feedback on your work, and you'll be expected to give the same in return
By the end of your first year, you'll have shipped features you can point to and say I built that.
What You'll Do
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.
What You Bring
We're looking for someone who meets the core requirements below
The bonus list is genuinely a bonus — not a hidden requirement. If you're excited about this role and most of this resonates, please apply, even if your experience doesn't perfectly match. We hire for trajectory, not for checklist coverage.
A few years of building real things. Roughly 2-5 years of professional software development experience
You've shipped features that real people used, you've debugged production issues, and you've learned that "works on my machine" isn't a finished state.
Solid backend fundamentals. 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.
Curiosity about AI, with some skin in the game. 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
We're looking for engineers who want to build with AI, not researchers who want to build AI itself.
Good engineering instincts. 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.
Comfort with ambiguity at your level. 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.
Clear communication. 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.
A "low-ego, high-ownership" disposition
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.
Nice to have:
- 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
Why McGraw Hill?
We firmly believe in the mission of educating students and helping them succeed. Our teams operate in a collaborative and safe environment where everyone’s input is valued, trusted, and respected.
You’ll have opportunity for horizontal and vertical movement and growth throughout the organization, including clear career paths for your long term personal and professional growth.
The pay range for this position is between $93,950 - $135,000 annually, however, base pay offered may vary depending on job-related knowledge, skills, experience, and location. 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
Click here to learn more about our benefit offerings.
McGraw Hill recruiters always use a “@mheducation.com” email address and/or from our Applicant Tracking System, iCIMS
Any variation of this email domain should be considered suspicious
Additionally, McGraw Hill recruiters and authorized representatives will never request sensitive information in email.
50686