Onboarding Your Team to use D3.js

If you work on a large team, one of the hurdles you will run into is getting someone up to speed with team workflows. One reason you might feel nervous about using D3 is the learning curve. The learning curve for D3 is probably given more credit than it’s due, but it is true that learning D3 requires some time. Here are some things you can do to onboard new team members.

Create Conventions

Don’t let your new teammate come in blind. Create guidelines and best practices that they can apply when they join. Writing these out will help you understand some of the best practices that otherwise wouldn’t be formally stated. Additionally, guidelines set a precedent that you care about the quality of your team’s code. The guidelines themselves are highly dependent on the larger context of what your team is building, but here are a few possible questions you may want to anticipate.

  1. How do I build visualizations using the front end framework we are using?
  2. Where should our visualization components live?
  3. How should team members use D3.js examples? How much copy and paste code is allowed?
  4. What’s the process for extending a visualization?
  5. What are the reusable components we can use with our visualizations?

Delegate one visualization at a time

Getting thrown into a new team with new tools can be pretty daunting. One approach I’ve found to be helpful is to give recent hires responsibility for one visualization type. Once they demonstrate a sufficient level of understanding and ownership you can give another.

If you pile the responsibility of learning multiple visualizations at once, people will look for easier solutions, often at the expense of D3’s flexibility.

Invest into Training

I’m a big believer that D3 is a skill worth investing into. It’s why I created Learning D3.

One suggestion for teams is to have at least one person become the designated trainer. The trainers job is to get new hires up to speed, to teach the basics of D3, and assign visualizations as they get started.

Teaching something is a great way to make sure you understand it yourself, and it allows you to fill in the holes of your understanding. Equipping your team to learn how to teach is going to reap dividends down the line. If they can explain the concepts clearly, you can bet they will be able to solve the hairy problems that pop up when building visualizations.

If you don’t have someone on your team who can teach D3, consider investing into your teams education. I’ve created a course that’s meant to get you up to speed with D3.js. It’s a no fluff way to learn the library. You can find it here.