I’m only making an educated guess, but I think most everyone wants, or at the very least appreciates the value of job stability. Nobody enjoys going through company layoffs.
Everyone wants to feel needed and appreciated. This is basic human nature.
As a software developer, I’m no different than anyone else. When I was just beginning my software development career in my mid twenties, the big dot com bubble was in full swing. It seemed like every day, a new announcement about a company going IPO (initial public offering) showed up on the news.
And the demand for software developers was positively INSATIABLE.
I was barely two years into my first professional gig as a software developer, when the dot com crazy really started kicking in.
It was maybe five or six years after the introduction of world wide web and the first web browser, Mosaic. Originally, the purpose of the internet was more academically oriented than anything else.
I was a junior in college when I first heard our college librarian mention the Mosaic web browser and how you could access information from across the globe with just the click of a mouse.
It wasn’t until I visited one of the computer labs and tried out Mosaic for the first time did I think to myself, “Wow, this is gonna be HUGE.”
The internet suddenly connected everyone to everyone else in the blink of an eye.
And I wanted to become part of it. The whole internet scene. Because I knew it was going to be important.
In a sort of indirect, roundabout way, I ended up going from a tech support job for a computer server manufacturer into an entry level software developer on the Microsoft stack.
I wasn’t sure if I made the right career decision at the time, but I wanted to give it my all and see if I could make it as a professional software developer.
About two years into my first stint as a professional programmer, I decided it was time to advance my career. Keep in mind this was around the late 1990s when the dot com crazy really went into high gear.
It really didn’t hit home how hot the job market was at the time, until I uploaded an updated resume to dice.com.
The next day, my answering machine (remember folks, this was still way before the iPhone came out!) was positively FLOODED with messages from recruiters from inside and outside my home state urgently asking me to call them back and talk about their exciting job opportunities.
The same for my e-mail inbox. Here I was, barely 2 years of total software developer experience, and companies were knocking down my door, trying to get me to apply.
I’m not saying this to brag, but to point out that there I was, a guy who learned how to program from on the job experience and no formal computer science degree, bootstrapping my way into an entry level programming gig.
And yet what happened to me proved the demand for practically ANYONE with even a moderate amount of professional programming experience was real.
I ended up taking another gig, advancing my career, gaining more experience and enjoying what I thought would be an endless upwards ride into prosperity and more importantly, JOB SECURITY.
I felt confident I made the right career move.
I continued to gain more experience, and steadily learning new technologies. I grew more confident in my abilities … probably a little TOO confident. Almost cocky. The fact that I was in a new digital gold rush where it seemed anyone in high tech was treated practically like a rock star, didn’t help keep me humble either.
I thought the good times would keep rolling on forever.
And then the tragedy of 9/11 happened and the economy suddenly tanked and companies, including the one I worked at at the time, were conducting massive layoffs.
Suddenly it was the WORST time to be in software development. Dot com companies suddenly deflated in value and the world entered a nasty recession.
I went through my very first layoff. I was in denial at first. Then anger. Then the other classic stages of dealing with trauma.
It was a BAD time to be a software programmer. Companies were shedding programmers left and right. 9/11 became the straw that broke the economic back of the world.
I thought I’d be able to bounce back quickly after getting laid off. Maybe a month or two tops, and I would find an even better gig than the one I got laid off from.
Turns out it took a much longer time than that to find something.
I ended up finding my first public sector employment at a Public Works department. I heard that working government gigs were much more insulated against the risks of layoffs.
From then on, always in the back of my mind, “job security” has weighed in heavily on my mind, when I make job career decisions.
And for a time, it was great. No longer was there this anxiety every quarter, if a private sector company was able to meet its financial goals. In a private sector company, revenue and profitability is EVERYTHING. If that means getting rid of employees to help save the company on expenses, well so be it.
Public sector jobs are driven by tax revenue, which, for better or worse, means that revenue isn’t the main driving factor behind what a public sector organization does. Employees are better insulated against layoffs and the work life balance is generally more respected in public sector employment.
Yet as much as I felt better protected against another layoff, I eventually felt bored. I felt like I could never try out new technology stack. One of the downsides about working in government is they are generally more conservative about trying out new things.
There is generally more red tape and bureaucracy one has to deal with. It gets even more pronounced the higher up you move in government. I’ve personally worked in government jobs at the city, county and federal level and I can attest to this increased level of red tape.
At the federal level, you become quickly aware of all the hoops you need to jump through in your day to day activities. Just trying to deploy something to a Federal server is an adventure in itself.
There are many many rules about what kind of technical stack you can work with, what programming languages you are allowed to develop with, what kind of operating systems you can work with, and on and on and on.
I eventually got tired of all the red tape and I felt like my technical skills were suffering as well.
As a software engineer, your technical skills are extremely important … you simply can’t stay still in the world of technology.
You can’t just assume the technology you work with today will be around tomorrow and in the future.
You always have to keep one eye on your current skills and the other eye on the future.
It’s vital to keep your skills up to date. Sadly, I’ve seen coworkers let go because their skills were no longer wanted by the company. They had plenty of experience and knowledge in a very dated and specialized legacy system.
Unfortunately, the company decided their services were no longer needed.
It’s a hard pill to swallow and it took me years to realize it myself, but companies don’t owe you anything. Your value to them comes from what you can offer with your skills and experience.
That’s ultimately how you increase your value to employers, not by assuming a particular kind of job will protect you, but by making sure you don’t stay stuck on a particular technology or technical stack. You keep aware of the current technological landscape and make informed decisions about which kind of skills will be in demand down the road.