Never stop
(Posted this on LinkedIn, of all places, since it seems appropriate there. But let's also put it here, where my friends will actually see it.)
I was chatting yesterday with a sometime colleague -- a fellow programmer -- who just got laid off, who asked (paraphrasing) "How do you manage to stay hopeful in this terrible job market? What do you do in the meantime that helps?" Here are some thoughts on that.
Part of my response here is history, because I've kind of lived through it before. 2025 is starting to remind me of 2002 -- what we referred to at the time as the "nuclear winter" of the software industry, in the wake of the Dotcom Bust.
(Although this time around, the tariff mess seems to be popping the bubble earlier, and maybe a little less violently, than 25 years ago.)
Regardless, I expect the job market this year to be brutal for software engineers. We have a lot more programmers than jobs for the time being, after years of heavy hiring around the pandemic, so it's worth thinking about how to get through it.
The first question, hard but important, is: how serious are you about this? In 2002, part of how things resolved is that a lot of folks dropped out of programming and found something else to do. By that point, we had tons of folks for whom it was just a job, rather than a passion, and many of them found greener pastures elsewhere. That's 100% sensible, and I expect a fair amount of it this year.
For those of us who do consider ourselves to be software "lifers" -- the ones who can't imagine not programming on a constant basis -- I have two key pieces of advice:
- Never Stop Learning
- Never Stop Coding
On the first point, self-driven learning is the heart of software engineering: as a rule of thumb, I believe in spending several hours every week, even when fully employed, learning new stuff -- staying on top of things is a key part of my job in an industry that is constantly evolving.
That becomes more true when you're unemployed: you should take the opportunity to learn new languages, new techniques, new technologies. Take the time to expand your toolbelt and figure out new things you can do and find fun.
On the second, take the downtime as a chance to buff your portfolio. For most of us, our dayjob work is pretty hidden: the code is proprietary to our former employers, so we can't show it off.
So don't take too much time as enforced vacation. Instead, once you have your head straight, get back to "working" a full day every day on something open source. That both shows that you have some initiative, and lets you show off your chops to prospective employers.
Indeed, this is exactly what worked for me in 2002. I taught myself the then-newish C# language and built a dumb little shareware application in it. That proved directly relevant to my job hunt: I wound up getting hired to build the .NET middleware backend for a startup that I had my eye on.
(This time around, I'm taking the time to bring Querki, my own little product, up to modern snuff after years of neglect -- that's teaching me a lot about AWS, and should give me a chance to turn that crufty ancient Scala code into something I'm more willing to show off.)
Mind, it's still hard -- you have to put a lot of mental effort into not letting it get you down. But having a project to focus on will help with your mental game, and can help with the job hunt in unexpected ways. I recommend it.
no subject
Seconded. When I got laid off in 2014, almost everything I had that was recent enough to show was proprietary, so I couldn't. The severance was weirdly structured and that encouraged a break anyway, so almost immediately I looked for things I could do and do in public. It was good for my morale, too.
no subject