Choose Which Developer Education Content to Create First

January 27, 2021

If you work in the software world you’ve likely heard the term MVP (minimally viable product) - what’s the most basic version of your product that provides value?

I love this approach to software development. Get something in user’s hands quickly so you

  1. validate the product
  2. build/iterate based on real world feedback.

Because I’m a fan of that approach to software development I think it can cross over very well into teaching people how to use your product.

If you’re solo or a small team it can be super overwhelming when you look at all the possible routes to go down to onboard new developers.

I want to help give you some guidance on choosing which route may give you the biggest impact at first.

Question: Who are you working with?

Before we start we need to define who it is we’re trying to help immediately.

Is it people learning a skill or people committed to your product?

I ask this because they could have different goals.

Someone wanting to learn how to do something, say send push notifications, may not care what tool they’re using to learn the skill - they just want to learn how to do it.

On the other hand, people who know they need push notifications and know they want to use your product have different goals (best practices, how to integrate it into their product, etc.)

So, ask yourself, who am I targeting with my education material?

Target: Learning a Skill

So you’ve decided you want to target someone who’s learning a skill.

They want to learn to send push notifications and if you taught them how to do it - what’s the first product they’re going to reach for when it’s time to implement the real thing?

I’ve found that people in this group are more interested in the “complete” learning experience.

They’re willing to invest more time.

So, good resources to create for this group?

  1. Quick start guides/mini-courses: Start with X, end with Y. They have a clear deliverable at the end and know exactly what they’ll learn. An example of this would be React Native Basics.
  2. Workshops/webinars: Similar to a mini-course a workshop or webinar simply allows for a bit more interaction. It can take more time but the value is there. Kent C. Dodds’ workshops are a great example.

Target: Building Their Product

Alternatively, someone may already know what they’re doing and have committed to your product. They may know the fundamentals behind why/how already and just need to know how to implement your product/API.

So how can you best help them?

  1. Strong Docs - Regardless, this is going to be crucial. People judge a product by their docs and they always give a good reference for later questions. Strong docs are crucial for long term success. The typical problem with docs is that they’re pretty dry - “here’s the argument. It does X”. Boring but super useful. React Navigation is a fantastic example.
  2. Example Apps - I’ve written tutorials and created videos for years but I still find myself preferring to look at example apps. Diving into the source code can be extremely insightful. The example apps can also serve as fuel for other types of content down the line. Here’s a social media example app I made. Note that the README is critical for these.
  3. Community - Give your users somewhere where they can ask questions and get answers directly from the team. Again, like the example apps, this insight can be used to feed future content development. Expo has a strong forum as well as a Slack community.
  4. Office Hours - Give people a known time and place where they can ask a question and get an answer. Nothing is worst that screaming into the void of StackOverflow and never getting a response.

Hope that gives you an idea of where to start. Remember to keep it simple and iterate just like you do software!