Folks always ask me the reasons why I joined and left my jobs, here's a thread of each one and where my head was at for joining and (where applicable) leaving.
1. First job out of college at a big company I had joined there because I thought I'd be doing robotics and computer vision but got switched into a different R&D division. I didn't have mentorship there and left for a startup in NYC to grow more and be more challenged.
2. Mid-stage startup, medium sized. Joined because I loved the product and lots of opportunity for growth I grew A LOT in the 2.5 years I was there, left because under-leveled and mad underpaid and my growth started plateauing. Also, couldn't pass up on building GitHub Actions.
3. Bigger company, ~700 people. Joined because I loved the product and also was working on building what would become GitHub Actions. Grew A LOT as an engineer while here, lots of impact and amazing people. Left after 2.5 years as growth started plateauing and felt too comfy.
4. Current job, at a startup and joined as employee #40-something. Building a REALLYYYYYY dope product with some really amazing people, a lot of whom I worked with at Company #2 and/or Company #3. Learning a lot, doing a lot, and growing a lot. Will be here for awhile. :)
Folks always tell me what to look for when they are finding a new job. I always say, "What are you optimizing for? Growth? Pay? Title? Solving interesting problems?" Throughout your career, I would say optimize for growth as much as possible.
As you gain more experience, you actually are able to optimize for all four over time. In my experience, sacrificing pay early on (if you can) for faster/greater growth can let you optimize for everything sooner.
Disclaimer: this is my personal bias from my lived experience.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
So far, I'm really enjoying the remote and engineering culture at GitHub. I can see how they've had success with a remote workforce, pretty much EVERYTHING (like, literally everything) is documented and organized for everything. It's awesome.
Additionally, this is the first time I've worked at a company where the team explicitly says, "Nobody really 'owns' a PR or specific feature." It's cool to see somebody open up a PR, get code review from a teammate, and the same teammate can go and make the fixes later on.
This is dope because the two people can be split across timezones, but if one in the UK logs off with a PR open with feedback, somebody in the US can see said feedback, help implement it and get another set of eyes on it, and by the next day it's ready for the author to deploy.