Get your team onboard with GraphQL

John J Masse
EcmaStack
Published in
5 min readJan 31, 2017

GraphQL is a super cool new technology that, when used strategically, offers a powerful solution for orchestrating your client software and the data it needs. In a previous post, we chatted a bit about common problems that a stack might have that you can use GraphQL to solve. Now, let’s talk about how to build up GraphQL with your peers and those you report to that will help you build a case for introducing GraphQL to your stack.

Prepare a demo

First things first, build a working demo. Roll up your sleeves, study the documentation and build a working prototype that will give your audience enough information to allow their imaginations to take it away.

I had success building a prototype GraphQL server and interfacing with it using Graphiql. Graphiql is an IDE designed for the browser for writing and testing GraphQL queries.

We prepared this starter project to help you get the ball rolling:

https://github.com/EcmaStack/graphql-starter-kit

Make the demo relevant to your business

Think about the problems you are working to solve, or prevent, and focus on building a few simple queries that help demonstrate the points you are trying to make perfectly. Remember, you don’t have to do all of the work, just enough to tell a story. I was able to get away with taking a sample JSON response, saving it locally to the starter project and defining a few example queries.

It should take you about half of a day to get something together, perhaps even less if you started with the EcmaStack starter project.

Examples that make interesting demos:

  • A query that combines requests from two different sources
  • A query that simplifies complex business logic from an existing data source
  • A query that reduces the amount of information and/or hides sensitive information that was sent from the original API source
  • Before and after result sets

Make the demo available to the entire company

Before getting too much further, take the time to make the GraphQL demo project available to anyone interested in tinkering with it. Include a README that helps folks understand how to install and begin experimenting with the demo and the Graphiql interface.

It is also a good strategy to list the immediate problems GraphQL will help solve in the form of bullet points in the README as well.

Prepare a short script

Prepare at least enough information to get your points across. A script is best used to make sure that you have covered all of the points you want to cover in your presentation.

Don’t forget to practice.

Gain allies

The next step is to get your colleagues on your side. Schedule one-on-one sessions with people in your circle of trust, i.e. those that you communicate most frequently with and those you have built a working relationship with.

Present your demo to them first and solicit feedback. Get a sense for the types of questions that are being asked, because once you are in front of your CTO, you will want to be prepared with some answers.

Raising an Army

The more such sessions you do with your peers, the more chatter about your ideas will begin to move around the office. If you do a good enough job getting people excited about the problem you are trying to solve, a buzz will start to form around the office, and perhaps some folks might approach you with interest in working on your GraphQL project.

With enough of your colleagues interested, approach the managers in your department

With your peers onboard, it is time to start presenting your demo to your immediate ring of managers. These could be directors or developer managers. If you have done a good job raising an army, you do not have to go into these conversations alone. Invite one of your colleagues who can speak well about the problems you are solving so they can back you up in the Q&A session.

Beware of techno fear, and have empathy for those that might be hesitant for change.

Chat with folks outside your domain of expertise

Product Owners fall into this group. As Software Developers, we generally think about solving problems for ourselves, but I have found that sharing ideas with non-technical folks helps me find simpler wins to discuss in my presentations.

Presenting To Your CTO

If you did a good enough job, at this point, most folks in the development team would have heard of GraphQL. You have had to answer a ton of questions about the technology and you have likely been pushed further than you originally expected. It is now the time to work with your manager to get time in front of your CTO to chat up the possibility of your company adopting GraphQL as an orchestration solution for your projects.

A few things CTOs tend to care about:

  • How fast is it?
  • What runtimes can we use GraphQL in?
  • What are we doing for resiliency? For example, what are we doing to make sure the GraphQL service stays up? How do we handle restarts?
  • How are we measuring the latency of the service?
  • What are the costs involved in building a GraphQL server?
  • What reports and dashboards will be available to us to help us understand what problems we could face?
  • How much of our business can use GraphQL?
  • What are its limitations?
  • How long until we can deploy it?
  • Do we have a roadmap? Which of our client applications can take advantage of GraphQL?
  • Thoughts on bot mitigation?
  • What are the security risks?
  • Who else is using GraphQL in production?

Don’t let this list deter you. Your CTO could have more concerns than the ones listed here. Nevertheless, if you raised your army, you should have enough support from your immediate peers and your ring of managers to help you answer these questions.

CTOs want to make sure your customers are safe, your systems are fast and reliable, and improvements to the software are made often and responsibly.

Need more ideas? Let’s chat about it here in the comments, or reach out to our team at hello@ecmastack.com (we love chatting about technology).

Get Software Done With EcmaStack!

We would love the opportunity to chat with you.

hello@ecmastack.com

Build software, not websites.

--

--