My new father-in-law looked at me with surprise and concern.
“But you haven’t even been there a year!” he said incredulously.
I couldn’t say I was surprised at his reaction. And he wasn’t the first to lecture me. This was only my second software development job since graduating and I was only at my first job for one year.
To top it off, I had just gotten married – thus the vexation of my father-in-law, who happened to have worked at the same company for over 20 years.
The next day I was confronted by my manager Robert, who put on the hard sell to keep me from leaving.
He started in a bit harsh. “You’re making a huge mistake!”
Then he softened his tone and smiled. “You really did a great job on your last project. What can we do to keep you?”
I was expecting this and told Robert I wasn’t interested in a counter offer because the new job offered me more opportunity to grow my skills.
He countered with words, not money. “But Eric, within a few years you could be a vice president here.”
Robert was obviously trying to feed my ego because that wasn’t exactly something that could be put into writing. Besides, at that time all I wanted was to write great software, not some pie-in-the-sky promise.
Later that day, my older coworker Jerome gave me a hard time as well. He leaned up against my cube wall and lectured me on why leaving was a bad idea.
“This is a good company. I’ve been here ten years and they have always treated me right.” Jerome then gave me his most serious look. “You will likely regret this.”
Looking back on it, I don’t regret it at all.
The Developers’ Job Hopping Habit
You see, I’m on my twelfth job in 22 years and I couldn’t be happier with the trajectory my career has taken in software development. The only reason I hesitate giving the same advice to younger software developers is because hiring manager attitudes’ still haven’t changed.
If a software developer’s resume displays an average of one job every two years, most hiring managers would likely not bring them in for an interview. They would be labeled a “job hopper.”
The underlying negative connotation would be that they are not loyal to a company and would leave at the drop of a hat. What manager would want to risk spending time and money to bring them up to speed and then see them leave for greener pastures?
The paradigm of software developers as long term, loyal employees needs to shift, because the majority of this type of work is project-based with a start and end date. It may turn out that a software developer stays in a job for years, but if it doesn’t turn out that way, their work history shouldn’t be held against them.
I would argue that what is most important is how relevant a software developer’s skillset is to the job opening. For example, if a manager needs someone who knows Scala with experience in coding high volume, concurrent transactions, then that manager should go find the person with the best experience, no matter how many jobs the candidate has had.
A good software developer will do everything in their power to stay current. If their employer isn’t providing them with those opportunities, they will continue to educate themselves and look elsewhere.
Sometimes that means taking a job for less money to increase longer-term prospects. I once took a lower paying job to learn a hot ERP language and it paid off handsomely when I left a couple years later for a much higher salary.
Did this make me a high tech mercenary? Maybe so, but the company I left ended up filing for bankruptcy a few years later.
Would I have been better off staying just to receive a pink slip? Don’t think so!
New Generation Coders
The younger generation of software developers has seen their parents get laid off by corporations after many years of loyal service. Frankly, it has been proven time and again that there is very little loyalty in the corporate world. Executives and managers protect themselves, their friends and the people who are critical to keeping the lights on.