I joined Flatiron as a fresh-grad a few months before we started Bootcamp, our onboarding program for new engineers joining the company. Joining a company before there’s an onboarding process (as a clueless new grad, no less) is kind of like moving to Manhattan: you’ve got no idea where to start looking, and latch onto any people who give good advice. I kept a catalogue in my head for people who could help unblock me in various stages of work.
- Carlos (with the sass) was the data pipelines guy who would unblock me on all things SQL.
- James (with the dreadlocks) was the guy who I’d ask for anything related to systems or deployments.
- DJ (with the vacation when I started) was my tech lead and mentor who could answer everything else.
The process was in equal parts fun and overwhelming – I learned so much in my first few weeks. I learned coding style and etiquette through code reviews; it was communicated early-on that the first few patches I sent would be heavily critiqued. I learned about generators and partials in Python by reading articles James sent me, both of which blew my mind a little. I learned about our different products and initiatives by setting up 1:1s with people throughout the company.
Now with Bootcamp, all three of these things are formally taught. We provide an hour-long session about developer’s etiquette, targeted onboardings for both our Windows and Linux stacks, and a very helpful general product overview.
Running around and drinking from the firehose felt desperate but kind of “right”. We were a small company, so it was easy to learn from the people who built systems from the ground up. My learning experiences weren’t structured, and that kept me on my toes. Onboarding for me was picking up a motley assortment of tickets. First, there were ones that dealt with testing. Then came ones that introduced me to Blocks (our ETL framework). And slowly other tasks pushed me into the hidden corners of our stack. As smaller features were designed and scoped, I’d pick them up, gradually growing my understanding of the different systems at Flatiron.
I’ve always felt like my onboarding process was special because it was driven by me. I met people across different teams because I was curious. I was proud that I managed to piece together how things worked at Flatiron, and I was (still am) proud to work for an organization where I could count on the willingness of others to teach.
We rolled out Bootcamp when the growth of our engineering organization ramped up. We needed to onboard more new people, faster, and bootcamp was our response. It’s evolved substantially over that past few years, growing to 20 sessions run by over 30 people.
Onboarding now feels different. It’s more structured. Tickets are scoped out ahead of time, rather than on an ad-hoc basis. In the ways that matter, though, onboarding is still the same. We still give plenty of feedback on our first few code reviews. New-hires are still drinking from a firehose, albeit a less aggressive and better-directed one. We’ve formalized a lot, but the generosity and desire to teach is still there.
And so is Carlos with his sass. And so is James with his dreads. And at the time of writing, so is DJ with the vacation (he’s on paternity leave now – some things do change).