The career advice I've gotten since I entered the development workforce has generally fallen into two camps:
"Leave your job as soon as possible for a higher paying position - it's the best way to get a raise in this industry, and you've got to build out your resume"
"Find what you love to do, then do it (and then maybe start your own company or something). Find meaningful work".
I've been mulling these over lately, having gotten a surprise recommendation from a friend to work for his employer. I'll preface this by saying that I come from a background where my position was not in as high demand as technical roles are these days. Even though I've spent the last few years working in this industry, the wider tech world of recruiters, "rockstar ninja one-man-army brogrammers," buzzwords, branding, and intangible products is still a bizarre, mysterious, and often terrifying place to me.
Most emails that contain the words "I'm reaching out about a position at X company" are pretty easy to ignore - developers get a lot of these, and they're generally pretty spammy, impersonal, or just misdirected. My initial reaction was to archive this email before even opening it, but the fact that it was from a head of engineering (and not a recruiter) caught my attention. Out of curiosity, I opened it up - a friend and former co-worker who I respected had given me a personal recommendation and wanted me to join his team.
It felt nice to be recognized, and as I looked further into the role, the project they were hiring for was very similar to what I work on in my day to day. In addition, the company is huge and has amazing benefits, has a strong reputation as a force for social good, and is very highly rated by their current and former employees. My friend convinced me to talk to their head of engineering, who turned out to be very likable and shared a lot of my views on programming, team makeup, and personal growth.
After going through all this and talking to friends at other companies, I made my decision - I was going to interview for the position. With that decision came a sadness that took me by surprise. I chalked this up to anxiety about leaving my current team, joining a new team; sadness about leaving the folks I'd grown so close to over the past few years. I waffled back and forth, changing my mind every few days. I parroted the advice I'd been given and told myself that this was "simply the right career move;" that this was how I was going to advance to the next stage of my career. That sadness, however, lingered - a sense of loss, growing stronger before I'd even interviewed.
It took a reality check from a developer who's been in the field a lot longer than I have to shed some light on what I was feeling. I poured out my thoughts and emotions; I told him about all the excitement, trepidation, anxiety, and sadness I was feeling, all the benefits and perks of the new job I was considering. He asked me the question I hadn't asked myself that seems so obvious in retrospect - "Well, why do you want to leave?"
I responded that actually, I really didn't - I was happy in my role, felt valued, supported, and respected. Before this other company had reached out, I had been functioning under the idea that I wouldn't be leaving my job for at least a few more years. He helped me dig in further, and asked me if the benefits I was being offered - while generous - were something I wanted more than what I'd be leaving behind. He asked if I felt like my work was done here - not the work assigned to me, or what was expected of me, but the work I wanted to do. Did I feel it was complete?
In the long run, I decided that my work was not yet done.
The things I worked so hard to build and valued - my relationships, the respect of my co-workers, the product itself and the influence I have on it, the opportunities I have to mentor and be mentored, the ability to work at a company whose mission so closely aligns with my own - all of these things taken together are worth so much more to me than the name recognition and deeper pockets of a larger corporation.
TLDR; Some things are worth staying for.
If you made it this far, thank you! I would love to hear about your experiences with opportunity, and about how you assess that you're in the right (or wrong) workplace.