THE BLOG OF
DR. JOSH C. SIMMONS
.

WHY I QUIT SHOPIFY AFTER FIVE MONTHS

8 MIN READ

A Quick Aside

I never expected this article to blow up like it did. I figured I'd just share an experience I had. The more information we share as tech workers - the more we increase our collective knowledge and empower ourselves. I don't yet know what to make of the responses - generally nobody gives a s••• about what I write - I average about 10 site visits a day. I got a lot of emails - mostly folks reaching out offering genuine thoughtful feedback or even jobs (I am flattered). I even got some hate mail - that's a first for me.

The comments on HackerNews where I got most of the initial traffic from is more perplexing. Maybe I'm not a very good writer and the article has just been misunderstood by many. That's the generous interpretation. I'll try to reiterate my purpose and cause here:

This article in no way represents the views or attitudes of Shopify. I wrote it after I left Shopify, i.e. not acting in my capacity as a Shopify employee. I wrote the article not to demonstrate that hiring is broken, or to complain about the position I was given. It wasn't what I initially expected, but I was grateful for my position at Shopify and I was happy for a while. I definitely learned a lot.

At the end of the day - I am the only one who can make the best decisions for myself. I have a number of mentors I've sought counsel on regarding my decision. I am unwavering in it. I think from a certain perspective that can be seen as arrogance - but I'm just some guy trying to find my way in this career and I write about that. Maybe, as some have suggested I'm making a huge mistake, but a quality that I'm cultivating, that I've seen in all of the developers I admire, is ownership. For better or worse I'm following my heart wherever that goes, and even if some day that leads me to dark places, I'll still have my integrity.


I have answered this many times since announcing my departure. The reactions have ranged from shock to immediate understanding. Through this experience, I’ve discovered two things: this phenomenon is interesting to people (they ask about it a lot), and I’m not great at giving an explanation for my decisions verbally (prefer to write). I hope I can address the question more fully through this post.

Enter the Green Bag

I decided to start interviewing for Senior Frontend Engineer positions in the Summer of 2021. The reasons for which aren't important here. During the process, I had interviews with a FANG-ish company, an early-stage startup, and Shopify all for Senior Frontend Engineer roles.

There were a few things that could have been done better during the Shopify interview process. The recruiters seemed frazzled and disorganized. Shopify scaled their engineering department pretty aggressively in 2021 and I wonder if the recruiting department was understaffed to meet this need. It wasn't uncommon to ask a question and to wait two weeks for a response. It's my understanding from reading about others' experiences with the process that this phenomenon was not exceptional.

Most of the interview questions were frontend (React) focused - a surprising departure from the hardcore leetcode-focus of companies at this tier. The ~5 interviews were each conducted by different engineers. Mostly everyone was nice but I did have one extremely rude interviewer. One bad interviewer definitely isn't indicative of the company at large, and certainly polite people can have a bad day, however, this can serve as a glimpse into how the company selects interviewers. I would later learn that this is on a volunteer basis. Engineers can become interviewers inside of their first six months at the company. This practice suggests that perhaps the company is scaling faster than resources safely allow. It is something that wouldn't raise my eyebrow if happening at a smaller outfit, but Shopify is large enough that they should be able to responsibly partition resources for this need.

The interview process was uniquely positive in some ways. Shopify has a Life Story round. Due to developers' insistence on rebranding everything, this is just a cutesy title for a work history interview. This is unique for a company of this size though. While interviewing at two FANG companies previously, I was never asked questions about work history - the only thing those companies were concerned with was whether or not I could solve algorithm problems with optimal efficiency. My hunch with those companies was that it wouldn't have been a major issue if I was video-ing in from the State Penitentiary (due to murder charges) as long as I solved the algorithms correctly. Of course, there is some due diligence, and we must ask algorithm questions to ensure engineers can think properly, but if that's all a company is indexing candidacy on, it suggests something about how they view me, and I become disinterested in working for them. Shopify's Life Story round was a refreshing and free-ranging conversation that felt humanizing.

I didn't take the ordinary developer path, and I never went to a boot camp, I crashed into this field sideways while gleefully fleeing academia going 100 MPH. I think that's what makes me unique and I want to work for companies that value this. I thought Shopify valued the diversity of my background but I was only partially right. I received bittersweet news in late August that I did get an offer but I'd be downleveled from senior to mid. The reasoning for this wasn't my performance in the technical interviews, it wasn't based on my answers to soft questions, and it wasn't that I had a bunch of non-CS experience, it was because I didn't have enough years of experience in tech-specific jobs. I was disappointed in Shopify for using such a reductive metric to determine levelling. What does the unit "year of experience" represent, and is it comparable across domains? Does a year of experience at FANG == a year of experience at WITCH?

I accepted. Despite the downlevelling, despite the fact that compensation was well below market, Shopify was a big step for me. I will always optimize career decisions based on a position's potential to improve my ability as a developer. I will optimize for this over title, benefits, and pay. I believed that working at Shopify would make me a better frontend developer.

Who Am I?

I was hired as a frontend developer, which turned out to be misleading. During onboarding, there were multiple coding exercises that were conducted in Rails. I shrugged it off and got through them - after all, Shopify is tightly intertwined with the Rails world. This trend progressed into my day-to-day coding work though. As the months progressed, I primarily worked on Rails issues. Frontend work was foretold but rarely manifested. Most of the "frontend work" I saw was via Rails ERB templates 🤮. To illustrate - I use a time tracker called Waka Time that integrates into my code editor. It logs what languages I'm working in and for how long. Despite working on 3 major JS/TS-based frontend projects in my own time here is a breakdown of time spent coding in various languages over the past 5 months:

  • Ruby 46.83%
  • JS and TS 25.56%
  • Others (Markdown, YAML, Python, Solidity) 27.61%

I don't doubt that more frontend work was coming down the pipeline for my team - even greenfield work - but I felt the months ticking by and my frontend skills degrading. In order to triage this, I worked on a number of frontend projects in my spare time at a pace that was admittedly draining.

Gut Feeling

I asked myself the question, "Am I becoming a better frontend developer through this experience?" and the answer was of course no. These things are complex though and I could see how maybe six months or a year from various points I might be working on some exciting frontend work. This line of self-questioning mutated into, "Do I care about eCommerce?" It was a question I never had the bravery to ask myself before. I've worked almost exclusively in eCommerce of one form or another since I started working in tech. I began to wonder if it might be time to try something different.

Everything on the surface was good for me at Shopify and I want to take some space to recognize that.

The people were phenomenal. I think assholes are pretty effectively filtered out during the Life Story round. That's not an easy thing to do while scaling. My manager was a great mentor and kind person. I hope that one day under different circumstances I can work with him again. Same for my team. There was a meetup planned but unfortunately, Canada is pretty strict with COVID measures so it was canceled. I would have really liked to meet up with everyone and have a beer. I actually still would - I'm trying to keep in touch after I leave.

Work-life balance at Shopify is unparalleled. Work is synchronous-ish but it's super easy to run out for some afternoon errands or a quick workout. Shopify is pretty visionary here - turns out happy and healthy employees do better work than ones that are chained to a desk all day. PTO is unlimited and it's actually treated as such - I had never heard of anyone getting their PTO denied and took plenty myself. There is even a bit of a stigma about working while sick - if you do so, your coworkers will urge you to just take a day and rest up instead. Pretty cool and pretty rare.

Codebase is ... intruiging. I won't be too explicit here, but I learned a LOT about architecture at a scale I've never experienced before. There are many forward-thinking solutions to technical problems, everyone has a good 30,000 ft overview of the what and why for these solutions and is happy to explain them to you.

Despite all of these things, my heart said it was time to do something different. That's not for hippy-dippy reasons either. Whenever I reject a gut feeling in my life, my body refuses to work properly which for me usually manifests as insomnia or weight gain. I know people that live like this, sometimes for decades, sometimes never realizing they're rejecting a part of themselves. It's not somewhere you want to end up.

What's Next

I'll save the details for a future post because this one is about the journey, not the destination. I'm torn up (but not torn) about leaving Shopify. I feel a lot like how I did when I left Ohio to move to California. The origin is safe, it's known territory, the people are incredible, there are good growth prospects - but when you put rationality over passion you become repressed, when you put passion over rationality you become a fool -- I've tried both btw. I am rationally satisfied and passionate about my destination and that's enough because if you wait to be fully confident you'll never go anywhere.

I recently removed social share links from my site. If you enjoyed what you read, please take the time to tell one person directly about this blog.