GraphQL for Fullstack
Developers & Teams

GraphQL training for teams in London, Berlin and Europe.
From the maintainer of PostGraphile.

2 Day GraphQL course
for full stack
developers & teams

Updated for 2019

GraphQL is a revolutionary API technology combining intuitively structured data with a strong type system and powerful tooling, enabling engineers to quickly produce reliable and performant applications.

This course gives full stack engineers and cross-discipline teams the experience and intuitions to create high performance GraphQL applications/APIs rapidly and on the right footing. We recommend that 3 days are allocated to this course, but we can also deliver a more intensive version over 2 days.

The course starts by giving frontend and backend engineers the fundamental knowledge they need to use GraphQL well, introducing them to the GraphQL type system, terminology, and how to collaborate with it; how to write queries and mutations; and how to use GraphQL fragments to reduce repetition and increase performance. It goes on to outline some GraphQL best practices applicable to frontend development.

Having mastered the fundamentals, participants will go on to acquire the knowledge needed to architect reliable GraphQL APIs. Participants will build knowledge in areas such as common architectural patterns; schema design patterns and best practices; serving GraphQL over HTTP; authentication and determining whether GraphQL is a good fit for a particular problem. Significant time will be spent learning about and practicing schema design, which will give participants a good overview of many of the crucial aspects needed to build an efficient, effective and maintainable schema.

Target Audience

  • Project leaders, backend and full-stack engineers evaluating GraphQL for upcoming projects.
  • Frontend engineers who wish to understand backend concerns related to implementing GraphQL servers.
  • Teams looking to solidify their understanding and approach to GraphQL development.


GraphQL History and Mission
  • Why did Facebook invent GraphQL?
  • Are the problems it solves unique to Facebook?
  • Thinking with graphs.
  • How does GraphQL solve issues like developer onboarding, scaling teams, API performance, maintainability, and preventing bugs and regressions?
  • GraphQL schema responsibilities.
GraphQL Fundamentals
  • GraphQL terminology.
  • Anatomy of a query/mutation.
  • GraphQL type system.
  • Composing GraphQL documents with fragments.
  • Querying a local GraphQL schema.
  • Tools for exploring/understanding a GraphQL API.
  • Best practices for GraphQL consumers.
  • When to use GraphQL.
GraphQL Architecture
  • Where GraphQL fits in the application stack.
  • GraphQL resolvers.
  • How GraphQL executes a query, mutation and subscription.
  • The N+1 problem, and solutions to it.
  • Common patterns.
Designing a GraphQL Schema
  • Fundamentals.
  • How backend and frontend developers can iterate in harmony.
  • Getting started quickly with a mocked schema.
  • Where does the business logic live?
  • How to handle common requirements.
  • Client-side caches, synchronisation, global identifiers.
  • The Relay GraphQL specifications.
  • Versionless API design.
  • Guiding API consumers onto the “happy path”
Serving a GraphQL Schema
  • Understanding that GraphQL is not tied to HTTP.
  • Basics: parsing, validation and execution.
  • Authentication and authorization.
  • Query batching.
  • Persisted queries.
  • Protecting your server.
Advanced GraphQL Topics
  • GraphQL introspection.
  • Database performance (including DataLoaders).
  • Tooling available to build APIs faster.
  • Common GraphQL directives.
  • Realtime GraphQL.

Audience Requirements

All attendees must bring a laptop with the latest version of Google Chrome installed. The learnings are transferrable between different languages but from time to time we‘ll be performing examples with the GraphQL reference implementation so a good understanding of modern JavaScript (ES2017) will be very helpful. If you prefer another environment, you should come to with your favourite stack and GraphQL libraries pre-installed. Those attendees wishing to follow along with the JS code examples should have Node.js v10 or higher with a suitable package manager; we recommend yarn but npm should suffice.

Meet the trainers

Benjie Gillam

Benjie has been writing applications, servers and APIs professionally for over a decade. As part of maintaining PostGraphile, a popular OSS project that generates an extremely high-performance and highly configurable GraphQL API from your existing PostgreSQL database schema, Benjie built the Graphile suite of tools for building scalable GraphQL schemas through plugins. He also helps to maintain the official GraphiQL GraphQL IDE and is a contributor to the GraphQL Specification Working Group. He sees GraphQL as one of the biggest advancements in web API technology during his career.

Jem Gillam

Jem has a Post-Graduate Certificate in Education (PGCE), which equipped her with the tools and techniques to support people in their learning journeys. After a career change to programming where she built web and iOS apps she joined the GraphQL-Training team and brings a focus on learning methodologies and curricula planning. She also operates the human side of the Graphile OSS projects, building the community around the software and ensuring that supporters’ concerns are rapidly addressed.

On-site, Off-site or Remote

Every organization’s need is different which is why we love to work with teams on site, customizing the syllabus to meet your needs. With a decade of experience in building products and consulting with small startups through to household name media companies, we understand how to help your developers achieve the very best…

Need a remote or external location? We can do that too. We conduct bespoke online webinars and can host up to 20 developers at central locations in all major European cities.

Contact us for more details.

Teaching Style

We find that most people learn best by doing, so our 1-day and 2-day courses have multiple cycles of listening to a short presentation and then performing a programming exercise using the techniques discussed. This gives the student opportunity to solidify their understanding, experiment and even to make mistakes and learn how to fix them.

We operate a buddy system where each student is paired with another so they can help each other to solve any problems, and our trainers will be on-hand to help clarify any uncertainties and guide how to fix issues.

  • GraphiQLTools for building a GraphQL IDE
  • PostGraphileInstant GraphQL API from a PostgreSQL database schema