One difference I’ve noticed between those new to the software industry and those who’ve been around the block a few times is how selective they are about their jobs. Consequently, a piece of advice I’ve taken up to giving new and recent grads is to look beyond the cool toys, the cutting edge languages/frameworks, and how much hacker cred is on display. What lasts after all that superficial stuff progressively falls away is company the culture and business fundamentals, and that will be the biggest factor in how long you’ll stay.
Company fit matters, and it’s worth taking the time to determine a match before discussing salaries or even going through interviews. In other words, don’t collect offers.
I learned this lesson the roundabout way – via experience – as I skipped from company to company using the wrong or irrelevant set of criteria to make my decisions. One startup I joined mostly because they had a web development position only and I wanted into the field (I was doing C++ at the time); another one was because I knew one of the founders and there was a possibility of getting deeper into the startup scene (which never materialized, at least for the rank-and-file employees). Google was perhaps the worst, in that the team – and thus the people that’ll define how and why you work – is assigned after the offer is accepted and you may have a chance to chat briefly with an engineering or product manager before making your decision.
When I decided to leave Google, I spent upwards of three months looking for my next job. A lot of that time was spent talking with people and visiting campuses; you can tell volumes by how companies treat potential candidates:
- Some were courteous and friendly, but could only offer salary as enticement, and even then they had trouble matching (much less beating) Google’s generous comp. packages.
- A few wanted to go straight into an impromptu phone screen. I think I bombed a few of those, but I didn’t bother returning to find out.
- I’d say the most common interaction was gentle probing and selling of the company’s “cool perks” (usually centered on the aforementioned equipment and languages used), whose polite facade faded after I declined to immediately go onsite for an interview.
- A handful of places were genuinely interested in talking about the problems they were solving, and the good and bad of their daily work. They were also willing to shake hands and part ways for a few months, and while there was an unspoken expectation to revisit in the short term, I didn’t feel that constant pressure to fill a seat. It was and is an art few bother to practice.
For all the trouble we go through to interview, negotiate offers, quit our current job (and hand off our responsibilities), then start the learning process over with a new one, it’s certainly worth the time to slow down and think about whether these disruptions are worthwhile if the same – or worse – problems surface in the new environment a few months later. Taking the time to identify a true match in role is extra work, but it’s effort well-spent.