29 Comments
User's avatar
Michał Poczwardowski's avatar

The demand for developers was there, so people rushed to fill it with supply.

Now, it's normalising, with high interest rates and automation, but I agree that good software engineering is not going anywhere.

P.S. I didn't like these complaining types of people at work either :)

Great article, Anton!

Expand full comment
Anton Zaides's avatar

Thanks Michal! :)

I think though that now is more like the new 'normal'... Sounds much more sane to me.

Expand full comment
Pawel Brodzinski's avatar

I expect software development, as a role, will normalize.

In general, it won't be paid as ridiculously as it was, because the value of what we create (as the industry) doesn't justify that. Granted, there definitely will be high-paying jobs where the supply of decently-skilled specialists will be short enough to justify even the most extravagant offers (the alleged recent Zuckerberg-Altman drama is a good example).

But those boilerplate code writing jobs that used to pay $100k+ a year are gone. And good riddance, let me add.

Necessarily, we will turn into a more holistic perception of the job. I like the frame of a product developer as it redirects the limelight from the code (means) to the product (arguably, a kind of ends).

Also, I'm looking forward to leveling or inverting the prestige disproportion between developers and testers. I expect the prominence of manual testers to rise, as it will be a quick hack to verify whether the stuff we generated works well enough and delivers enough value. And that's what matters for customers.

Expand full comment
Anton Zaides's avatar

I fully agree, and also like the Product Engineer framing.

I think in addition to QA, I would also expect to see some leveling with CS and support engineers, who were often treated as 'second class' by engineers.

Expand full comment
Janet Robinson's avatar

Why would you say good riddance to justified salaries and $100K is low? People should be paid for their experience. I see salaries in my local area that are the same salary I made 7 years ago. Has the cost of living gone up? Yes, and wages should mirror that.

And there is no software development job that is boilerplate anymore. Software developers have to know and use many tools to complete their tasks, and that is increasing.

I don't think there will be an increase in manual testers, as manual testing in a complex system can't possibly test all conditions. I see a rise in automated testing.

Expand full comment
Pawel Brodzinski's avatar

You touch a few points.

1. Should salaries go up only because the cost of living goes up? That depends. If the starting point is that the value delivered-to-salary ratio is balanced, then I'd say yes.

However, I don't think it was balanced for software engineering jobs over the past decades. Not when we compare it to healthcare workers, teachers, etc. (And of course, local specifics apply here, but en masse, the assertion stands true.)

Lots and lots of software that has been built provided very little value. The whole industry, fueled by VCs' dreams of landing the next Google or Facebook, was spending billions on useless stuff. Can someone make a valid value case for Google+, for example? Or Foursquare?

And we all rode that wave in software engineering. Running a software company for well more than a decade, and hiring developers for more than two, I've had a front-row seat to how the job market has evolved.

We reached a point where people would go to software development bootcamps because it was a promise of a well-paying job. Guess the quality of the stuff they delivered.

And yet the salary expectations were through the roof, as much for those entering the job market as for the experienced folks.

Again, save for edge cases, none of this was justified by the value delivered. It was simply exploiting the situation that software development skills were a scarce resource. And not even skills understood as insight, experience, broad context, etc. It was all about the pace of work (coding).

Guess what, it's not a scarce resource anymore. Unless someone can deliver unique value (thus, a more holistic perception of the job), they won't keep up. As much as a "Stackoverflow developer" could make it 5 years ago, it won't last now.

And for that, good riddance.

2. Isn't there boilerplate coding anymore? Oh, but there is. AI promises an easy way to try new products. What follows is that there will be a lot of basic code just to validate whether something works or not.

Heck, some of the work we keep doing relies on a lot of boilerplate code. It's just that the original insight doesn't go into the code, but rather to its architecture, UX, product management, etc. Unless a developer cannot do all these, I'm not interested in pure coding skills only.

3. $100k is low? Well, depends on a point of view, doesn't it? In the US? Maybe. Not everywhere. By the way, for the past decades, the US has been paying an even higher premium for software development skills than everyone else.

However, I wrote $100k+, which is an open-ended band. Also, even for big parts of the US market, for less experienced devs who don't work for big techs, it's not *that* low: https://bsky.app/profile/gergely.pragmaticengineer.com/post/3lsxwxvdgmc2o

4. Testers can't test for all conditions. They never could. Yet they have two things automated tests lack: intuition and judgment.

Right now, we can easily generate increasingly big chunks of code almost for free. It's the cost of reviewing them that is the pain. And the bigger the chunk, the bigger the tax on our cognitive abilities. I expect we'll see an increasing volume of problems emerging due to insufficient review (either because of conscious decisions or because of the cognitive load-related mistakes).

And automated tests, being more and more often generated, too (because who loves to write tests), won't save us. After all, they'll be:

a) generated using the existing (potentially faulty) code base

b) bound to the same mistakes AI does when generating the original code

So it's either getting an actual human being to review the product, treating it as a black box, or getting a software engineer to untangle all the generated mess, even to understand what's going on.

Having experience both as a developer and as a tester, I might have my preference on which might be more effective.

Expand full comment
Tom Donaldson's avatar

When I started working as a software developer in the early 1980s, it did not pay particularly well. Most developers I knew were in it because of passion for the work, and were happy to get paid to do what they really wanted to do.

Then the demand and salaries grew, and there was a flood of folks who just saw it as a job, and an easy way to make money. Many were only interested in up-skilling if an employer paid them to do it during the work day. They were appalled when I suggested that they read and experiment on their own time (and many jobs were outsourced).

Now here I am at the end of my career and maybe in terms of motivation we are going full cycle back to software development requiring a bit of passion, not just some minimal skill set.

Expand full comment
Anton Zaides's avatar

Interesting to hear about it! I rarely get the chance to hear from people who worked in tech before the 2000s :)

Expand full comment
Harrun Muhiden's avatar

I've just graduated with a degree in Physics and I am looking to go into software engineering. What appealed me most is the problem solving aspect since I don't get a better high than that of solving an extremely difficult bug or problem after having mulled over it in my head.

The fact I can just build anything I want to assuming I have the skills necessary along with it being an every changing industry is what pulled me to it. There's no real bottleneck to learning anything and everything about it. I like knowing I can work extremely hard at something and be rewarded for it in as close to a linear way as possible, which cannot be said for most things.

Expand full comment
Anton Zaides's avatar

Good luck! :)

Expand full comment
David Rensberger's avatar

Well, a big part of the problem was that "whiteboard coding" interviews usually selected people based purely on their ability to do things that AI can now do. I remember when all of that nonsense started, thinking that I didn't even want to work for a company who only valued a person's ability to "code", because someday they'd no longer value that.

Expand full comment
Aditya A. Niloi's avatar

Dope article. You mentioned PM and design as two roles a SWE should learn to do. What skills specifically? How would someone go about learning them? Any other roles/skills come to mind that if integrated with the proficient SWE would 5x their value and output? Thanks.

Expand full comment
Anton Zaides's avatar

If I had to choose a single action, it would be to try to make $100 from a product you've made yourself.

You'll learn so much from that process:

- How to truly understand what pain people have, validate that pain, do customer conversations, prioritze (PM)

- How to market your product

- How to have simple UX that will delight users

Expand full comment
Aditya A. Niloi's avatar

Practical and project-oriented; learning by doing. Love it!

Expand full comment
Jenny Ouyang's avatar

Really appreciate your kind intro of my work, that means a lot!

And I really resonate with what you shared. I’m seeing it too: there’s no more room for “coasting” in software engineering. AI and the market have leveled the playing field in terms of skills and knowledge. What is left is a fair game for everyone.

Expand full comment
Anton Zaides's avatar

You are welcome Jenny! By the amount of clicks seems that many people found it interesting :)

Expand full comment
Jeremy:)'s avatar

I believe the work of a great software eng. lead and the work of a GPM will merge with the next 5 years. The job of a senior software eng. and the work of an automation eng./ software QA will merge as well in the next 5 years!!! All thanks to AI

Expand full comment
Markus's avatar

Some good points in the article, but it's an unnecessarily aggressive description of engineering as a whole, while this phenomenon is happening mostly in companies producing products with a typical frontend/backend stack. They welcomed candidates spit out of bootcamps with open arms, and now the situation is normalizing a bit.

The article also does not point out the worst part of engineering, and that's the mediocre SWE becoming a subpar manager and having the delusion that suddenly he/she knows better and can judge or tell all other SWE how to do their job ;) Those same managers will make it difficult for "great" engineering to join companies or stay.

Expand full comment
Anton Zaides's avatar

Agree with the part about Managers :)

Although, in my experience it's less rare, as those mediocre engineers have a trouble shining in the actual job (at least most of them), and they don't neccessarily want to work harder (which comes with most management jobs).

Expand full comment
Omri's avatar

I'm wondering what the "IQ obsessed weirdos" are saying

Expand full comment
Gustavo Castellanos Alfonzo's avatar

What are the needed skills for "skilling-up" as a software engineer?

Expand full comment
Anton Zaides's avatar

In my opinion, it is:

- Connecting engineering work to business outcomes

- Understanding how to talk to users, how to do discovery

Basically a lot of PM skills :)

Expand full comment
Catherine Holloway's avatar

During the great depression, the NYPD was one of the few places that was hiring, and as such, they were able to filter really hard on their applicant pool during those years. The cohort of people who became police officers during that time became police chiefs with really low rates of corruption, and detectives with really high case clearing rates.

I think a similar thing might happen with software development. Right now, the smart, responsible people who could be working in science, the public sector, education, or healthcare are all being sucked up by software. It will suck for them for a bit when their salaries go down in the short term, but I think it will be better for society in the long run. I personally love being a software engineer, but I don't want to work if an LLM can do my job better than me.

Expand full comment
Anton Zaides's avatar

Very interesting take, I was not familiar with those stats. Is there a book/article you recommend on that phenomenon?

Expand full comment
Catherine Holloway's avatar

okay, so I warn you that this tale has been taken over by IQ obsessed weirdos, but it's in the NYPD's own reported history - this was also the timeperiod that they start letting women be detectives, too: https://www.prisonlegalnews.org/media/publications/Police%20Student's%20Guide%2C%20NYPD%2C%202005.pdf

Expand full comment
Anton Zaides's avatar

That’s quite a long one 😂

Expand full comment
Grady's avatar

I agree that ai is going to squeeze mediocre and offshore engineers hard. Some of the rest of the article is kinda off... It sounds like this guy has never done consulting cause a lack of good requirements is the most dangerous problem for projects.

Also not sure where this dude went to school... I went to VCU. A good but not outstanding state university. I use what I learned there every week. How operating systems work, memory management, asynchronous processing, and engineering thinking in general. I do interviews for my company and coding boot camp folks know as much or more relevant code than I did coming out of college, but they immediately fail any question that isn't an example from boot camp. School taught me a lot.

Expand full comment
Anton Zaides's avatar

Why the 3rd person voice? I’ll answer everything 🙃

As for the consulting - yep, never done it, but not sure how is it related to my point? I’m not advocating for a complete lack of requirements.

As for school - I’ve been to a mediocre college, I admit. On comparing boot camp graduates to college graduates - when you compare the 2 devs a year into their first job, I don’t think you’ll see any difference. There IS some useful things in a degree, but most of the knowledge anyway comes during the first real role.

Expand full comment
sk-logic's avatar

Well well well, AI is also way "than just writing code". It's already perfectly capable of doing everything the best of the best engineers do. Stop coping.

Expand full comment