Ask HN: What is wrong with modern software development
I’m trying not to be a naysayer, but what is wrong with modern software development and why does it require so many developers while projects get delivered later and later?

A couple years back Dynatrace was hiring a thousand developers worldwide for improving their product.

The OSX-team, who developed an entire operating system including utilities, famously consisted of 100 developers.

What is wrong with the industry? Is it scrum and pull based development? How was it before ticketing systems? Did bosses just assign tasks to their employees?

  • 0x3f
  • ·
  • 10 hours ago
  • ·
  • [ - ]
Work grows to fill available time/capacity. 'New-and-improved' software development technologies thus increase capacity for busywork and complexity. Complexity itself allows engineers to present needless work as essential to non-technical people. So complexity begets complexity.

I've worked at a ton of startups and very few are adept at avoiding needless archictecture astronaut type stuff. And it's very hard to change the ship's direction after the engineering team have convinced themselves it's all appropriate and necessary to have 100 microservices for their 5-man team and 10k users.

Bosses assigned higher level projects or goals, but to a larger extent developers were expected to have some domain and product knowledge, and to figure out and have opinions on the individual tasks for improving the product for themselves.

Now, the "product manager", "product owner" and "scrum master" roles have been created, so that developers are more like interchangeable / replaceable cogs in the machine.

This all works well for quickly adding new buttons to existing apps, but its pretty useless for innovating new products or architectures, especially since inevitably no one person ends up with a good understanding over the overall product or architecture.

The problem is Title inflation

It all stems from title inflation, and disrespect for the title "Engineer". FAANG, and the whole Silicon Valley ecosystem seems to think that programming and Engineering are the same thing.

We're now at the point that Electrical, Mechanical, Chemical, Civil, and Engineering disciplines reached a few decades after they started. It's time to license Software Engineering. Programming can remain an unlicensed profession, as most of the workforce actually are programmers, not those who wear the Iron Ring[0].

Engineers make sure that things are safe and reliable. They do it at their own pace, and have final say so, as their professional reputation and liability is at stake for the results. They have oversight for projects, and make sure testing happens, and the resulting system, though it was constructed by others, is fit for purpose.

Engineering organizations don't fire people willy-nilly. They have longer time horizions that the next quarter's profit numbers meeting expectations.

It's time for everyone to either admit they aren't engineers, or put on their big boy pants and take the licensing tests and become actual Engineers. I'll remain a programmer. I'm not worthy of the Iron Ring.

[0] https://en.wikipedia.org/wiki/Engineer%27s_Ring

PS: If BitGrid actually works, and somehow makes me able to afford it, I'd love to go back to school and actually become an Engineer, even though I'm aged out of the workforce.

I kinda think only system programmers are programmers, the rest are technicians. I’m definitely not a programmer.
Because human is not ai.