Building Apps with Stampede
Stampede, my Deno framework with autowired modules and a ready-made auth system: what it does, how to set it up, and a first model, service and controller built with it.
TL;DR
The job market is a mess, especially for juniors. Meanwhile, we're all using the very tools that might eventually cost us our jobs. And refusing to use them won't save us either.
Every major job market crisis has had its own perfect storm of causes. The dot-com crash, the 2008 financial meltdown, COVID-19, and now-well, this.
Economic speculation, the housing market collapse, and a pandemic that shut down much of the world for a while are all very different from what we’re experiencing today.
I’d argue there are two obvious factors at play:
What’s particularly interesting is that this isn’t a classic case of replacing manual labor with automation. We’re talking about automating human intellectual work. Put that way, it sounds pretty scary-because it is.
However, one thing I rarely see brought up is the sheer speed of AI adoption. ChatGPT took just five days to reach one million users.
Compare that to products from the mid-2000s (e.g., Facebook, which took around 11 months). The pace of adoption is insane, and it could help explain why the disruption we’re seeing in the job market feels so drastic.
Decades ago, it took years for tools like Excel to become widely adopted and for professionals to become proficient with them (I’d argue many still aren’t, lol). Now look at AI. We’re witnessing a similar shift, but on an entirely different timescale.
And well, let’s be honest: AI tools aren’t that difficult to adopt. There’s a tiny prerequisite: knowing how to type. And maybe… a brain cell or two.
| Crisis | Cause | Impact |
|---|---|---|
| Dot-com crash (2000–2003) | Internet bubble burst | Hiring declined and layoffs followed. |
| Financial crisis (2008–2009) | Housing and banking collapse | Hiring declined and layoffs followed, although tech was relatively resilient. |
| COVID-19 (2020) | Pandemic lockdowns, businesses disrupted | Hiring declined and layoffs followed, before an unprecedented tech hiring boom. |
| AI era (2022–present) | Capital reallocation, and drop in dev demand due to AI-driven productivity gains. | Hiring has contracted, while AI may permanently change how much engineering labor companies need. |
The above table shows a rather obvious common denominator, raising the question: “Are we in the middle of a recession?” It’d be dishonest to lie to ourselves and pretend we aren’t.
One may think that it’s the end of the road. The market is oversaturated and there is no room for junior engineers. It’s the most logical conclusion, I agree.
Well, perhaps we’ve never been more wrong.
Junior engineers may have a chance to genuinely compete with mediocre seniors, and this really allows the market to filter out mediocrity for good.
With the capabilities of the most recent LLMs, one can learn so many concepts and get to understand technologies at their own pace. This gives new blood hope and an actual chance to compete in the market.
What gives seniors an advantage in the market? Well the exact thing that most people associate with their title - the experience (or at least the years of experience).
Why did we pick a certain technology, or a pattern? A good Senior engineer (who probably spent many Friday evenings fixing broken prod) knows why.
And that’s something you can’t simply replace.
While doing research for this essay of mine, I was fortunate enough to stumble upon LinkedIn’s “U.S. Software Engineer Talent Landscape” report. I also enriched it with some of the events that may have some influence on the actual numbers.
Hiring in the U.S., 2016–2025
LinkedIn's hiring rate as an index: 1.0 is the average month of 2016.
| Month | National | Tech, Information and Media | Software Engineers | Software Engineers (Entry) |
|---|---|---|---|---|
| Dec 2016 | 0.997 | 0.964 | 0.984 | 0.899 |
| Jan 2017 | 0.987 | 0.966 | 0.966 | 0.959 |
| Feb 2017 | 1.002 | 0.984 | 1.023 | 0.961 |
| Mar 2017 | 1.002 | 0.989 | 1.051 | 1.044 |
| Apr 2017 | 1.02 | 1.013 | 1.121 | 1.038 |
| May 2017 | 1.044 | 1.056 | 1.064 | 1.165 |
| Jun 2017 | 1.015 | 1.038 | 1.033 | 1.18 |
| Jul 2017 | 1.033 | 1.028 | 1.069 | 1.041 |
| Aug 2017 | 1.041 | 1.018 | 1.041 | 1 |
| Sep 2017 | 1.067 | 1.082 | 1.113 | 1.041 |
| Oct 2017 | 1.044 | 1.036 | 1.085 | 1.082 |
| Nov 2017 | 1.062 | 1.044 | 1.1 | 0.977 |
| Dec 2017 | 1.074 | 1.059 | 1.149 | 1.046 |
| Jan 2018 | 1.051 | 1.041 | 1.098 | 1.082 |
| Feb 2018 | 1.08 | 1.041 | 1.131 | 1.085 |
| Mar 2018 | 1.067 | 1.062 | 1.152 | 1.108 |
| Apr 2018 | 1.074 | 1.046 | 1.152 | 1.162 |
| May 2018 | 1.118 | 1.111 | 1.247 | 1.198 |
| Jun 2018 | 1.09 | 1.09 | 1.201 | 1.252 |
| Jul 2018 | 1.103 | 1.08 | 1.216 | 1.193 |
| Aug 2018 | 1.105 | 1.085 | 1.219 | 1.144 |
| Sep 2018 | 1.116 | 1.131 | 1.317 | 1.201 |
| Oct 2018 | 1.123 | 1.111 | 1.322 | 1.319 |
| Nov 2018 | 1.08 | 1.08 | 1.273 | 1.234 |
| Dec 2018 | 1.051 | 1.056 | 1.25 | 1.275 |
| Jan 2019 | 1.118 | 1.139 | 1.327 | 1.252 |
| Feb 2019 | 1.09 | 1.1 | 1.296 | 1.286 |
| Mar 2019 | 1.09 | 1.113 | 1.319 | 1.291 |
| Apr 2019 | 1.103 | 1.126 | 1.355 | 1.44 |
| May 2019 | 1.134 | 1.167 | 1.407 | 1.412 |
| Jun 2019 | 1.157 | 1.219 | 1.422 | 1.366 |
| Jul 2019 | 1.157 | 1.203 | 1.404 | 1.378 |
| Aug 2019 | 1.157 | 1.203 | 1.484 | 1.507 |
| Sep 2019 | 1.17 | 1.208 | 1.409 | 1.458 |
| Oct 2019 | 1.144 | 1.193 | 1.34 | 1.281 |
| Nov 2019 | 1.152 | 1.193 | 1.355 | 1.353 |
| Dec 2019 | 1.198 | 1.268 | 1.453 | 1.494 |
| Jan 2020 | 1.178 | 1.219 | 1.417 | 1.353 |
| Feb 2020 | 1.183 | 1.214 | 1.378 | 1.425 |
| Mar 2020 | 0.989 | 1.105 | 1.306 | 1.345 |
| Apr 2020 | 0.653 | 0.871 | 1.121 | 1.08 |
| May 2020 | 0.66 | 0.837 | 1.072 | 1.067 |
| Jun 2020 | 0.799 | 0.868 | 1.141 | 1.149 |
| Jul 2020 | 1.013 | 0.977 | 1.304 | 1.268 |
| Aug 2020 | 1.02 | 1.031 | 1.234 | 1.257 |
| Sep 2020 | 1.015 | 1.002 | 1.162 | 1.121 |
| Oct 2020 | 1.1 | 1.118 | 1.263 | 1.219 |
| Nov 2020 | 1.141 | 1.198 | 1.306 | 1.314 |
| Dec 2020 | 1.178 | 1.247 | 1.319 | 1.252 |
| Jan 2021 | 1.144 | 1.242 | 1.389 | 1.322 |
| Feb 2021 | 1.214 | 1.337 | 1.445 | 1.353 |
| Mar 2021 | 1.245 | 1.445 | 1.585 | 1.654 |
| Apr 2021 | 1.239 | 1.44 | 1.605 | 1.639 |
| May 2021 | 1.198 | 1.373 | 1.345 | 1.613 |
| Jun 2021 | 1.381 | 1.541 | 1.708 | 1.757 |
| Jul 2021 | 1.342 | 1.541 | 1.698 | 1.649 |
| Aug 2021 | 1.337 | 1.549 | 1.729 | 1.734 |
| Sep 2021 | 1.381 | 1.564 | 1.858 | 1.773 |
| Oct 2021 | 1.445 | 1.667 | 1.948 | 1.899 |
| Nov 2021 | 1.513 | 1.784 | 2.042 | 2.1 |
| Dec 2021 | 1.443 | 1.695 | 1.909 | 1.92 |
| Jan 2022 | 1.427 | 1.683 | 1.94 | 2.048 |
| Feb 2022 | 1.43 | 1.708 | 1.896 | 1.855 |
| Mar 2022 | 1.469 | 1.775 | 1.979 | 1.976 |
| Apr 2022 | 1.456 | 1.747 | 1.961 | 2.01 |
| May 2022 | 1.353 | 1.639 | 1.793 | 2.002 |
| Jun 2022 | 1.368 | 1.518 | 1.757 | 1.793 |
| Jul 2022 | 1.381 | 1.474 | 1.801 | 1.76 |
| Aug 2022 | 1.337 | 1.389 | 1.762 | 1.77 |
| Sep 2022 | 1.26 | 1.252 | 1.616 | 1.582 |
| Oct 2022 | 1.245 | 1.219 | 1.448 | 1.44 |
| Nov 2022 | 1.211 | 1.118 | 1.324 | 1.206 |
| Dec 2022 | 1.159 | 1.01 | 1.149 | 1.059 |
| Jan 2023 | 1.152 | 0.974 | 1.149 | 1.129 |
| Feb 2023 | 1.116 | 0.938 | 1.147 | 1.082 |
| Mar 2023 | 1.103 | 0.917 | 0.997 | 0.904 |
| Apr 2023 | 1.093 | 0.91 | 1.01 | 0.912 |
| May 2023 | 1.082 | 0.902 | 1.067 | 0.953 |
| Jun 2023 | 1.085 | 0.868 | 1.077 | 0.966 |
| Jul 2023 | 1.069 | 0.825 | 0.93 | 0.892 |
| Aug 2023 | 1.074 | 0.83 | 0.951 | 0.853 |
| Sep 2023 | 1.069 | 0.876 | 0.897 | 0.807 |
| Oct 2023 | 1.041 | 0.868 | 0.886 | 0.83 |
| Nov 2023 | 1.018 | 0.866 | 0.912 | 0.812 |
| Dec 2023 | 1.015 | 0.876 | 0.894 | 0.804 |
| Jan 2024 | 0.995 | 0.837 | 0.886 | 0.85 |
| Feb 2024 | 0.987 | 0.871 | 0.868 | 0.843 |
| Mar 2024 | 0.961 | 0.848 | 0.858 | 0.765 |
| Apr 2024 | 0.959 | 0.853 | 0.871 | 0.835 |
| May 2024 | 0.989 | 0.874 | 0.948 | 0.835 |
| Jun 2024 | 0.982 | 0.853 | 0.94 | 0.799 |
| Jul 2024 | 0.948 | 0.853 | 0.881 | 0.799 |
| Aug 2024 | 0.951 | 0.843 | 0.837 | 0.765 |
| Sep 2024 | 0.964 | 0.855 | 0.915 | 0.855 |
| Oct 2024 | 0.928 | 0.837 | 0.897 | 0.817 |
| Nov 2024 | 0.92 | 0.822 | 0.889 | 0.855 |
| Dec 2024 | 0.964 | 0.917 | 1.005 | 0.953 |
| Jan 2025 | 0.951 | 0.85 | 0.902 | 0.804 |
| Feb 2025 | 0.953 | 0.884 | 0.879 | 0.819 |
| Mar 2025 | 0.899 | 0.837 | 0.92 | 0.874 |
| Apr 2025 | 0.897 | 0.85 | 0.93 | 0.812 |
| May 2025 | 0.943 | 0.884 | 0.917 | 0.825 |
| Jun 2025 | 0.863 | 0.773 | 0.806 | 0.796 |
| Jul 2025 | 0.902 | 0.855 | 0.84 | 0.776 |
| Aug 2025 | 0.912 | 0.866 | 0.868 | 0.799 |
| Sep 2025 | 0.881 | 0.83 | 0.85 | 0.796 |
| Oct 2025 | 0.874 | 0.837 | 0.871 | 0.788 |
| Nov 2025 | 0.886 | 0.874 | 0.871 | 0.76 |
| Dec 2025 | 0.94 | 0.946 | 0.925 | 0.776 |
Will salaries tank? Well, most likely. I don’t see in what scenario will they not tank. If the demand remains as is, and the supply of engineers with bills and rent to pay remains the same, we are looking at a very chaotic era of software development. And many among us will pay the price.
When the market is saturated, the next logical step is: the developers start to pivot to something else. Might still be in tech, but not software development, or other relevant branches. This naturally reduces the supply gradually (not overnight), and then we might actually again see a healthy job market back again. Or maybe not a healthy one, but rather a market without a massive supply/demand imbalance.
My hunch is that good senior developers will survive, and the current trend of record-low junior hiring will keep on going for the foreseeable future. It really depends on the next flagship LLMs and how they will change the narrative. It’s not some economic factor at play, it’s the unpredictability of the new tech advancements.
So would I recommend computer science to someone who’s just getting started? Perhaps not. Maybe one could pick a very sophisticated branch of computer science or engineering that very few even try to pursue, and try to master it - that could work.
Software developers have often been tasked with handling smaller tasks that are often recurring on a daily basis. Create some report, pull some data from the Prod DB, or explain why something works or doesn’t work.
Those small, yet still time-consuming tasks have been an integral part of developers’ day-to-day work. Now, access to a read replica (hopefully they have read access to the bare minimum required), and anyone can pull any data they need with zero DB knowledge.
We keep forgetting about it, but small things like this add up, and eventually the total combined work by the engineering team is reduced. This creates room for developers to take on more meaningful tasks.
Please note that I am talking from personal experience here, and not taking into account more corpo-styled companies with very clear hierarchies and responsibilities assigned among their employees. There, this may be less prevalent. Seems obvious, no?
You do get to work on some of the bigger tasks: features, infrastructure changes, migrations, major bugfixes, or refactors. But what if you could finally get rid of those constant interruptions? With MCP servers and reusable skills you’ve prepared, your colleagues could find answers without bothering you. Right?
Sounds great. That might just work. In theory, at least. Here’s what happens in reality: Because you are now much more productive, you will instead take on 4-5 bigger tasks and work on them in parallel.
Not everyone is going to thrive in an environment where they are expected to juggle many complex tasks/sessions simultaneously. Some of us have adapted and learned to manage those responsibilities. That doesn’t mean we can afford to compromise on code quality.
Context switching isn’t going anywhere, buddy. It’ll be there to haunt you forever.

We’re all using the tech that might eventually cost us our jobs. Not that we’ve got much choice.
Imagine you’re given a task that would have normally taken you a couple of days, a sprint, or whatever.
You open Claude, Codex, or whatever is gonna speedrun your layoff, give it some context, let it implement the feature, review the made changes, fix what it got wrong, and BOOM - you’re done (this is a simplified flow here, don’t actually do it this way!).
Great. You’ve just made yourself more productive. And let’s not pretend it’s not a good thing, it is.
Now imagine your entire engineering team doing the same thing. Your company starts noticing. Estimates get shorter, expectations grow, and what used to take a week is now expected to be done in a couple of days.
Eventually, someone might start asking a rather uncomfortable question: Do we really need this many devs?
If five devs can now do what previously required twenty, it’s only natural that higher-ups may want to start the cut.
Of course, there’s another way to look at it. Why not simply build more stuff? Get rid of all the technical debt and improve the product, clear the backlog. There’s almost always something useful you can work on.
The company, or whoever is funding it might however prefer cutting costs instead, and there’s nothing you can do about it. Gotta sit and take it.
So, what are your options, realistically?
You could refuse to use AI altogether. Perhaps you don’t like LLMs, don’t trust them, hate the “AI slop”, or simply prefer doing things the old-fashioned way (I wish we did, it was so much fun, writing code manually like savages).
Fair enough. But your colleagues are using them. Your competitors are using them. It turns out… everyone is using them! And sooner or later, you might find yourself competing against engineers who can accomplish considerably more in the same amount of time. And what did you do in the meantime? Nothing, really.
Reminds me of the “This 97 year old diner still serves Coke the old-fashioned way” post that got reposted like a gazillion times by now (for my chronically online people - IYKYK).
On the other hand, you could embrace AI, become exceptionally good at using it, and potentially help your company realize it doesn’t need as many engineers as it once did.
Funny how that works, isn’t it?
You could be doing everything right: being up to date with the recent frameworks and technologies, learn in your free time, etc.
And still end up getting laid off, like you haven’t done any of the above. It’s kinda brutal.
I’m not saying that layoffs are inevitable, or that every company will immediately start cutting headcount. Some will take advantage of the increased capacity to build more ambitious products, and perhaps even hire more engineers. Sometimes, a product is just sh*t, and there’s no point in hiring an army of developers, when the product is always gonna suck.
But there’s no guarantee that your increased productivity will translate into better compensation or greater job security - I’ve got news for you - it won’t.
Anyway… we’re still going to open Claude tomorrow, aren’t we?

Obviously, we’ve reached the point of no return. The Arms Race will not stop, and we ought to piggy-back on the new LLMs, so we can fight to stay competitive in the market ourselves.
Are we engineers directly contributing to it? Yes, we are using the bloody LLMs ourselves! Can we change anything? Not really. Should we? Well, probably not.
If you’re not using AI at work and choose to bury your head in the sand, you’re in for a rude awakening. It’s only a matter of time. I’m sorry.
Disliking LLMs and not using them are two different things, capiche?
My hunch is that it is worth trying to spearhead AI adoption at your company and build job security around it if you’re really passionate and you truly provide value.
But then again, who’s to say you won’t be redundant anyway?
More from the blog
Stampede, my Deno framework with autowired modules and a ready-made auth system: what it does, how to set it up, and a first model, service and controller built with it.
Contact
Please share what it is, roughly what you've got, and I'll tell you straight if I'm the right person. Or just email anur@anurbasic.com.