I love job interviews.
It's a bit of a hobby really. You get this brief chance to dip your toes in a company's culture, to see what they're all about and how they work. If you're lucky, you get to talk to some awesome engineers who are much better than you.
If you're really lucky, you even get to travel for a few days!
You can never have too many excuses to travel.
It all started a few months ago when I wrote a blogpost ranting about the terrible engineering practices of one of my clients and how I was hired to swoop in and fix their codebase. A few days later I get an email from somebody at Shopify along the lines of "Hey, one of our developers saw your post, then saw your Github. I think we're doing some stuff you'd find interesting. Wanna talk?"
As always when opportunity strikes, I said "Sure!"
A few days later came the usual first-contact Skype call. Yeah we're doing this and that, we're this sort of company, we're doing so and so. Yes I'm a cool guy, I like making things and you seem interesting, let's talk some more.
This part is never too interesting. A bit like a first date, both people are sort of kind of interested, but nobody really knows what's going on so there's just a lot of gentle probing and poking.
Then comes the fun part.
Just like at Google, there were two technical Skype calls where I got to talk with two different engineers working on extremely different stuff. I think this part was about figuring out whether I'm more of a frontend guy or more of a backend guy.
I did later get to meet with both dudes again. Both called their team The Core Team (tm). Friendly rivalries are always a good sign!
Unlike Google last year, both of these Skype calls were extremely relaxed. It was just a casual chat about technology and my approach to coding, testing and solving problems. If there was a pre-prepared list of questions, I couldn't spot any painstaking adherence to a plot.
One of the interviews devolved into a twenty minute explanation of how batman.js works, that was particularly lovely. Shame I still haven't had a chance to try it out because it sounds really awesome.
A bit later I was invited to fly over to Ottawa and chat a bit more.
When a company spends a few K just to talk to you for a few days, you know they mean business. Still, everyone upheld the casual tone throughout.
My interviews were spread over two days.
Casually, the first day started at noon. I was to come into the Shopify HQ have some lunch and a meeting later.
The HQ was just across the street from my hotel, but my room was facing the other way so I couldn't see it. Because Google Maps doesn't know you can walk across parking lots, it took me about ten minutes to find the entrance. Silly Maps.
Stepping out of the elevator I immediately fell in love with the place. Walls covered in comic book posters, memes and an assortment of geek stuff everywhere. There was even one of those Halo helmets at the reception.
How cool is that!
It doesn't matter that I don't really play videogames or that pretty walls and wonderful beanbags in the lounge area don't matter much when you're staring at a computer all day. What matters is that these are signs of a company culture I'd enjoy. None of that endless grey cubicle crap I saw on my tour of IBM two years ago.
The main lounge used to be a club. I'm told Lady Gaga played there once. Nowadays it's just a huge room swarming in geeks when catering brings in the food. There's videogames on the balcony and an endless supply of tea and coffee.
There's an assortment of teas. Very important.
There is also a table devoted to LEGO. Fun.
After lunch I had a conversation with the guy responsible in company culture. He makes sure there are no asshats roaming around the offices. He's also the person making sure the offices look as great as they do.
He misses the times when he could spend most of his time hacking on the product and doing design. I got the impression everyone at Shopify is a hacker, no matter their role these days.
Always a good sign.
In the evening I had dinner with a bunch of engineers and one other potential recruit. Both the recruit and I were so jetlagged we spent most of our time staring ahead of us with blank faces and trying very hard to follow the conversation.
Then came the big day. Once more it started very casually at half past eleven in the morning. This time with a bit of confusion about who I was supposed to talk to ... meetings, changes of schedule, stuff. Hungover from too little sleep I was more confused than anyone and can't really tell what was going on.
I ended up having a nice chat with a Columbian fellow from the scaling team. They make sure programmers don't have to worry too much about scalability and can focus on solving problems. Interesting job, but not really for me.
The chat culminated in lunch when the whole of Shopify descended upon the lounge when catering arrived.
All of the six or so interviews I had that day were very pleasant. All happened in the comfort of the lounge couches and I never felt like I was being drilled on the basics of computer science or solving silly problems.
The most technical bit, really, was the two hour pairing session where I implemented some interesting graphs using a library based on d3.js I had never heard of before. NVD3, it makes graphing a bit simpler.
Very unlike Google, where I was cooped up in a small room with a whiteboard all day and forced to produce executable code without a computer. Sure those were fun and awesome, but they were all the same.
At Shopify I was having pleasant conversations. Everyone was more open too. When I asked about their work, they gave me straight answers, explained what they're doing and we chatted about the problems they are facing and how I'd approach them.
The company culture was out there, wide open for me to figure out. Everyone seemed genuinely interesting and genuinely interested in talking to me.
Finally I had a chat with the CTO. He realized we've both been talking to people all day and were getting kind of tired. So he took me out to a coffee shop for a cup of tea.
That was lovely. I really liked the coffee shop too.
Turned out we were both very tired - there were moments where we just looked at each other for a few minutes. Unable to find any words.
His is an interesting story of a guy who used to be the main hacker on the core product and eventually became one of the heads of a company of 170 people. His job these days is talking to people all day. He's still adjusting.
At dinner later that day I found out that even as the CTO with a bunch of brilliant engineers, he can still spend 2 months hacking away all day with headphones on when there's an emergency to solve.
After that, Shopify doesn't crash anymore.
I'm not sure I ever got a chance to talk to the engineer who made the initial recommendation based on my blogpost, but I definitely got to talk to a bunch of great people and had massive fun.
A few days after coming home I got a call saying they're interested. Now I have to make a tough life changing decision between Shopify, freelancing and two other job jobs that have magically landed on my table when I was looking the other way ...
Here's how it works 👇
And get thoughtful letters 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Ready to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization
Curious about Serverless and the modern backend? Check out Serverless Handbook, modern backend for the frontend engineer.
Ready to learn how it all fits together and build a modern webapp from scratch? Learn how to launch a webapp and make your first 💰 on the side with ServerlessReact.Dev
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️