Skip to content

writing / the stack report /

In this economy?

Exploring software's market potential and the need for developers to network beyond tech firms.

Time to get back to the business of software. This is the first in a series of subscriber only posts about finding your market, and niche. Software development is a fantastic business to be in. We want to look at that whilst thinking about building a sustainable business.

We’re going to look at both the consulting service and product sides, but I wish to begin today by looking at the opportunity in general. The last couple of years have been tough. Tech layoffs are always in the news. What does that mean for us?

Let’s go.

(Everything below this line is only available to paid subscribers)

Basic literacy

In Dickens, you’ll often encounter illiterate or semi-literate characters. Much in the stories flows from the differing social and economic opportunities that holding the ability to read and write (or not) confer. Those who can’t read are typically locked in poverty, or in older ways of living, cut off from the modern world. For interest to us, among the more privileged, there’s many a clerk, whose days are spent scribing away — leveraging for gain the skill they have, which others do not.

Some 150 years later, programming now is like writing was then. Being a developer, programmer, software engineer if you will, is a good career. It’s solid white-collar work. It’s well remunerated. And — in normal times at least — it’s easy to find work.

In the main though, that is transitional. There are still professional writers, but nobody makes a living now doing basic reading and writing for other people that can’t.

The same will go for programming. There will always be professional programmers, but consider the world where Automate the Boring Stuff with Python or Build a Blog with Django level skills were near-universal. Where instead of hiring someone to automate a mundane task, we’d just do it ourselves. Access to software would be radically increased. The economic gains from such would be a similar order to those from universal literacy, we can easily imagine.

We don’t live in that world, but it’s coming. As programmers, we have a kind of early access to it. One way of looking at why do programmers earn so much is that we’re engaged in a kind of arbitrage. We’re trading those economic gains from the future for cash in the now.

The Big Tech Gravy Train

With that image in mind, it’s worth looking at where we stand now, early 2025 as I write this.

Tech layoffs are top of the news every week, it seems. We had what looked like an excellent run. From the Great Recession of the late 2000s — the subprime mortgage crisis, the collapse of Lehman Brothers, and so on — all the way through to the triple whammy Covid-19 pandemic, global supply chain crisis, and Russian invasion of Ukraine, programmers were in high demand. Tech salaries were on the way up, and (frankly) times felt good.

This had all the hallmarks of a bubble. Big Tech weaponised access to cheap money by hiring up far more people than were really needed, starving competitors of talent, and pushing up salaries for everyone. When we saw the end of zero interest rates, all that stopped. Suddenly, an expensive game, the layoffs began.

With the new AI craze, it just goes on. I can’t tell if companies really think LLMs will entirely replace programmers, if they’re spending so much on AI build out that they can’t afford people, or if they’re just keeping their powder dry for the now. Either way, the layoffs continue. Watching the industry, it feels like there’s been zero let-up since the start of the Covid-19 pandemic in early 2020. That’s a long-time now.

It might pick up soon. The economic forces keeping interest rates low didn’t just disappear. But just as likely it’ll get worse. You’re a skilled professional. It doesn’t make any sense to tie yourself to the vagaries of the Big Tech Hiring Cycle.

Meanwhile, in the real economy…

Search, email, maps. Videos. Status updates. Photos — with oh so nice filters, or not. Likes and reposts and shares. Is that what it’s all about? (Sometimes feels like it, certainly the way we talk.)

Look around your house. Look out the window. Look at your town. Think about the myriad of things that need to come together to keep it all working. The electricity powering your device. The water in your tap. The traffic on the roads. The food in the supermarket, the farms that it came from. All the shops in town: the big ones — the chains — the smaller retailers. All of it.

How much of all of that runs on software? And how much of that carries on, regardless of whether there’s a recession on or not? Regardless of whether BigTechCo are hiring?

I’ve long-advocated to look outside the tech bubble when thinking about your career. Software is everywhere, and increasingly so. But it remains massively scarce, and expensive, compared to its potential use in the economy as a whole. I’ve seen multiple tech downturns in my career — that affects the rest of the economy, sure — but I’m yet to see the penetration of software, and so the aggregate demand for programming skills, decline ever.

Right-wing economists love talking about the creative destruction of downturns — a kind of cleansing economic autophagy. They tend to overlook the social safety-net needed to mitigate the transitional effects of this, but the general forces are real. It’s precisely when times are tight that the cost-savings of automation look all the more appealing. As a programmer, that still works to your advantage.

Benefits not Features

It’s important though to know what you’re selling. If you’re applying to a tech company (whether big tech or not) it might be OK to market yourself as a Django Developer, or a Python Developer, or a Rust Developer (or whatever).

This works for tech companies, who know what’s going on, and what these terms mean. It works (maybe) for big companies that have a tech division inside them. In that case, you’re really being hired by the tech division.

But, in my experience, it doesn’t work even for medium companies where you’re joining a small tech team. It’s not them (the tech team) that’s really hiring you.

It certainly doesn’t work for small companies, where you’re likely leading the technical project.

As you move down the scale, the response to I’m an X Developer is increasingly, So what?

At the extreme, your local small business doesn’t give a damn what programming language you use, they just want an appointments system. You have to sell that, and the benefits of that, not its implementation.

The same goes back up the scale too.

Some of the happiest engineers I know work in small teams in small to medium-sized enterprises building the software their company runs on, in their stack of choice, without ever presenting that stack as a feature itself. They might sell flexibility, speed of development, reliability, but they don’t ever sell Django, not per se.

Senior and Staff engineers at big tech aren’t selling themselves on what languages and frameworks they know, either. It’s what they can architect and build that gets them the big bucks, and lands them the new role, even when “nobody is hiring”.

LLMs as a force multiplier

It’s worth just mentioning LLMs here.

These aren’t going to put you out of business any time soon. Simon Willison posted about LLM hallucinations just as I was writing this that he’s spent “over two years” learning to leverage LLMs, and he’s “still learning new tricks (and new strengths and weaknesses) almost every day”. It’s pretty safe to say, hardly any people are bringing the time, skill, or effort to it that Simon is. We can benchmark our expectations from there.

LLMs are good in the small — they’ll often autocomplete a routine exactly as you want. They do an impressive demo, bootstrapping a tool or project — but these often feel like the “How to draw an owl” meme when you dig in a bit. But we’re a long way still from taking someone who can’t program to production-ready software just coding on vibes.

Potentially though, LLMs open a whole new market for software. The primary reason why existing processes aren’t already automated is cost. Why do I do this by hand? Because I can’t program myself, and I can’t afford an expensive developer to write the solution for me.

An LLM can potentially change that. If suddenly an automation can be done in hours, rather than days, we open up an entire new range of problems that were previously unaddressable.

Exactly how that plays out is yet to be seen, but I strongly suspect LLMs will see more work for programmers, rather than less.

Social Coding

All in all, then, I’m still optimistic about the prospects for software developers. There are cyclical effects, sure, but on balance they play-out to our favour. We’re in the middle of a multi-generational industrial transition, and it’s not over yet, not even by a long way.

There is, though, one more important thing when Tech Hiring™ is on the blink. It’s essential to get out of the cave: you need to be social. Again this something I’ve long advocated1.

Look out that window again. See all that economic activity. Somewhere in it is your niche. But how to find that?

Job boards are good. So are recruiters. But those are the crowded routes. They also don’t always (often don’t!) surface the best opportunities.

For the same reason you shouldn’t sell yourself as an X Developer, companies don’t always (often don’t!) post X Developer Needed. Tech firms do. But tech firms are just a tiny fraction of the whole.

How do you find out that the engineering firm on the south side of town is looking to update their processes? (Or whatever the opportunity is.) Not by sitting at your computer, not on a job board. Rather by the conversation you had with the managing director, when you popped in to mention that you were in town and strike up a relationship. (Or whatever your approach happened to be.)

There are agencies in your town and region (and beyond) that do the business development side of it if that’s not your thing. They’re always needing technical talent. But you need to meet them.

There are associations for every industry. There are business orientated groups in every locality. You can approach, introduce yourself, and forge connections. Most of these are grateful to have someone give a talk.

And so on.

As programmers, we’re often shy, retiring. We much prefer to be at the keyboard, rather than putting ourselves out there. But that’s what we have to overcome. It’s a skill, like any other. Practice. Get better. Do.

In this economy? Yes. Absolutely. It’s vital.


  1. I will keep linking this until we’re sure everybody has watched it. 

The Stack Report goes out by email, approximately monthly. Subscribe