Welcome to Square! Let’s Learn D3!

Our internal tutorial for learning D3.

Written by Zach Margolis.

Recently, I started helping out with Square’s new engineer onboarding program, which we call NEO. NEO covers an engineer’s first 3 weeks at Square. We give these new engineers, or NEObies, a hands-on introduction to the code behind many of Square’s products; they work on tickets, and we offer a series of talks on the various technologies that we use.

While our resident visualization expert Tom Carden was out of office, I filled in and taught our introduction to D3.js class to our NEObies.

D3.js is a great tool. (We’ve posted about D3 on the Corner before; we use for merchant-facing analytics, and it powers part of Cube which we use internally on occasion.) However, D3 can have a steep learning curve, it took me a little while to really get it. So before teaching this class, I decided to write down my thoughts. The notes ended up taking a tutorial-like format with examples, so I ended up turning those notes into an actual tutorial.

We published the tutorial internally and figured people outside of Square might find it useful — I like to imagine it’s like dropping in on a NEO class at Square. Please check it out our Intro to D3.js!

We’re happy to accept contributions. Please check out the source in our square/intro-to-d3 GitHub project and feel free to send us pull requests!