2 ms·
One unique aspect of software engineering is that it is still growing exponentially, doubling approximately every five years. As a direct consequence of the ma
by jiggawatts 3y ago
One unique aspect of software engineering is that it is still growing exponentially, doubling approximately every five years.
As a direct consequence of the mathematics of exponential growth, this means that:
HALF of all software developers have LESS THAN 5 YEARS of experience!
This results in experienced devs being simply outnumbered by newcomers and having to perpetually fight against the rising tide of beginner errors.
As someone with nearly four decades of experience, I'm facing six such doublings (plus retirees subtracting from the experienced pool!), meaning that I'm outnumbered by people will less experience 64-to-1.
In my time I've seen every wheel reinvented -- badly -- at least three or four times over. I've seen the same huge, glaring mistakes made over and over by new people. It's literally impossible to convince them of their mistakes because it's one voice against dozens.
Few if any other industries are like this because they don't have the same insane growth curve. Surgeons with less than 5 years of experience are hugely outnumbered by surgeons with 10, 15, 20, etc... years of experience all the way up to 50+. They don't get to overrule the Chief of Surgery. They're told to shut up and learn how to do things properly by people who made mistakes and learned from the consequences.
As a random example of this effect, the entire industry is learning for like the third or fourth time that text-based formats are not better, and their "ease of use" is a deceptive trap.
JSON is just text, and is "so easy" -> gRPC, a binary wire format.
HTTP is just text, and is "so easy" -> HTTP/3, a binary protocol.
This kind of thing will keep happening until the exponential growth transitions into the flat bit of the S curve, and the average experience level starts climbing towards two decades.