API v4 (GraphQL)
Complete GraphQL API replacing REST v3. Flexible queries for repositories, issues, pull requests with nested relationships. Rate limiting based on query complexity.
Storefront API
Public GraphQL API for custom storefronts. Product catalogs, cart management, checkout flows with multi-currency support across millions of stores.
Microservices Gateway
Internal GraphQL layer aggregating data from listing, pricing, availability, and review services. Enables frontend flexibility without backend coordination.
Content Delivery API
GraphQL API powering content browsing across TV, mobile, and web apps. Optimized for different device capabilities and bandwidth constraints.
What GraphQL Engineers Actually Build
Before requiring GraphQL experience, understand what problems it solves at real companies:
Developer Platforms & APIs
GitHub's v4 API is the most famous GraphQL implementation. Their engineers built:
- Flexible queries that let developers fetch exactly the repository data they need (stars, issues, contributors—any combination)
- Nested relationships (pull requests → commits → comments → authors) in single requests
- Real-time subscriptions for notifications and activity feeds
- Rate limiting based on query complexity, not just request count
Shopify's Storefront API uses GraphQL for:
- Product catalog queries with variant, inventory, and pricing data
- Cart and checkout state management
- Customer account information
- Multi-currency and multi-language support
Travel & Marketplaces
Airbnb uses GraphQL for internal service communication:
- Aggregating data from listing service, pricing service, availability service, and reviews service into unified responses
- Frontend teams can add new data requirements without backend deployments
- Mobile clients fetch lighter payloads than web clients from the same schema
Expedia Group migrated to GraphQL for:
- Consolidating 100+ REST endpoints into unified schema
- Reducing mobile app data transfer by 30-40%
- Enabling parallel development across 200+ frontend engineers
Fintech & E-Commerce
PayPal uses GraphQL for checkout experiences:
- Dynamic payment method availability based on merchant, currency, and user location
- Real-time fraud signals integrated into checkout flow
- Consistent data shape across native apps and web
Contentful (headless CMS) provides GraphQL APIs for:
- Content delivery with exactly the fields clients need
- Preview and production environments with identical schema
- Webhook integrations for content changes
Skills by Level: Junior → Senior Progression
Junior GraphQL Developer (0-2 years)
What they know:
- Writing basic queries and mutations
- Using GraphQL clients (Apollo Client, urql)
- Understanding schema basics (types, fields, arguments)
- Consuming existing GraphQL APIs
What they're learning:
- Resolver patterns and data sources
- Caching strategies (normalized cache, cache policies)
- Error handling patterns
Good interview signs: Can explain query vs mutation, understands why GraphQL exists (compared to REST), has consumed at least one GraphQL API in a project.
Mid-Level GraphQL Developer (2-4 years)
What they know:
- Schema design for real applications
- Resolver implementation with database/service calls
- N+1 problem identification and DataLoader usage
- Authentication and authorization patterns
- Fragment composition for reusable queries
What they're building:
- New schema types and resolvers
- Integration between GraphQL and existing services
- Performance monitoring and query analysis
Good interview signs: Can design a schema for a given problem, explains DataLoader without prompting, has debugged performance issues in GraphQL.
Senior GraphQL Developer (4+ years)
What they know:
- Schema federation and stitching for microservices
- Custom directives and schema extensions
- Performance optimization at scale (query complexity analysis, persisted queries)
- Security patterns (depth limiting, query whitelisting, rate limiting)
- Migration strategies from REST to GraphQL
What they're responsible for:
- API architecture decisions
- Developer experience for API consumers
- Schema governance across teams
- Training and mentoring
Good interview signs: Has opinions on Apollo Federation vs Schema Stitching, can discuss query complexity trade-offs, has led GraphQL adoption at a company.
The Modern GraphQL Developer (2024-2026)
GraphQL tooling has matured significantly since 2015. The "modern" GraphQL stack looks very different from early implementations.
Server-Side Evolution
Then (2015-2019): Hand-written resolvers, basic Apollo Server, REST-like thinking.
Now (2024-2026):
- Code-first schemas using tools like Pothos (TypeScript), Nexus, or TypeGraphQL instead of SDL-first
- Federation for microservices (Apollo Federation 2.0, GraphQL Mesh)
- Edge deployment with Cloudflare Workers, Vercel Edge Functions
- Database-to-GraphQL tools like Hasura, PostGraphile for rapid development
Client-Side Evolution
Then: Apollo Client with Redux-like patterns, manual cache management.
Now:
- TanStack Query patterns applied to GraphQL (urql, Apollo Client 3+)
- Automatic persisted queries for performance
- TypeScript code generation (graphql-codegen) for end-to-end type safety
- Relay-style patterns becoming mainstream (connections, cursors, fragments)
Key Trends to Know
- Defer and Stream: New directives for progressive data loading (like React Suspense for APIs)
- Subscriptions over WebSockets: Real-time features without polling
- GraphQL over HTTP: Standardized protocol replacing custom implementations
- Schema Registry: Version control for schemas (Apollo Studio, Hive)
Recruiter's Cheat Sheet: Spotting Great Candidates
Resume Signals That Matter
✅ Look for:
- Specific APIs they built ("Designed product catalog schema for 50K SKUs")
- Performance metrics ("Reduced query latency from 800ms to 120ms")
- Scale indicators ("GraphQL gateway handling 10M requests/day")
- Schema design work ("Led schema federation across 5 teams")
- Mentions of Apollo, Relay, Hasura, or PostGraphile
🚫 Be skeptical of:
- "GraphQL expert" with only tutorial projects
- Listing every GraphQL tool (Apollo AND Relay AND urql AND graphql-request)
- No mention of REST experience (GraphQL builds on API fundamentals)
- Years of experience claims (GraphQL was only open-sourced in 2015)
Conversation Starters That Reveal Skill Level
| Question | Junior Answer | Senior Answer |
|---|---|---|
| "How do you handle the N+1 problem?" | "What's N+1?" or vague answer | "DataLoader pattern, batching database calls, explains trade-offs" |
| "When would you choose GraphQL over REST?" | "GraphQL is always better" | "Depends on client needs, team structure, existing infrastructure" |
| "Tell me about a schema you designed" | Describes basic CRUD types | Discusses relationships, pagination strategy, evolution over time |
| "How do you secure a GraphQL API?" | "Use authentication" | "Query depth limiting, complexity analysis, field-level authorization, persisted queries" |
GitHub Portfolio Signals
Strong:
- GraphQL server projects with custom resolvers
- Schema design documentation
- Integration with real databases/services
- Performance benchmarks or monitoring
Weak:
- Only Apollo tutorial clones
- No TypeScript (modern GraphQL is type-heavy)
- No testing for resolvers
- No documentation on schema decisions
Common Hiring Mistakes
1. Requiring GraphQL When REST Would Work
GraphQL adds complexity. If your API has simple, well-defined endpoints and few clients, REST might be better. Don't require GraphQL expertise because it's trendy.
Questions to ask yourself:
- Do we have multiple clients (web, mobile, third-party) with different data needs?
- Do frontend developers frequently wait for backend changes?
- Are we over-fetching data and hurting mobile performance?
If "no" to all three, reconsider whether you need GraphQL at all.
2. Testing Schema Trivia Instead of Problem-Solving
Don't ask: "What's the difference between a query and a mutation?"
Do ask: "Design a schema for a booking system with users, listings, and reservations."
GitHub's approach: They focus on schema design discussions and real-world problem-solving, not syntax memorization.
3. Ignoring REST Experience
A developer with 5 years of REST API experience can learn GraphQL in 2-3 weeks. The hard parts—API design, caching, authentication, rate limiting—transfer directly.
Shopify's approach: They hire strong API developers and train on GraphQL specifics rather than filtering only for GraphQL experience.
4. Overlooking Security Knowledge
GraphQL's flexibility creates unique security challenges. A junior developer might expose your entire database through poorly designed resolvers.
What to verify:
- Understanding of query depth and complexity limits
- Field-level authorization (not just endpoint-level)
- Knowledge of common GraphQL vulnerabilities (introspection exposure, batching attacks)
5. Confusing Client vs Server Skills
Using Apollo Client to consume APIs is different from designing schemas and writing resolvers. Clarify which skills you actually need:
- Frontend role: Client-side GraphQL (queries, caching, optimistic updates)
- Backend role: Schema design, resolvers, performance, security
- Fullstack role: Both, with emphasis based on your architecture