3 ms·
Some of this is due to the immaturity of our industry. Even the most grizzled, experienced web developers typically have about 20-30 years experience. Most have
by blowski 10y ago
Some of this is due to the immaturity of our industry. Even the most grizzled, experienced web developers typically have about 20-30 years experience. Most have fewer than 10. So we make mistakes out of immaturity and inexperience, rather like the junior blacksmith taking over the forge because there's no one else to do it.
Developers want to do new things, partly out of boredom, partly out of fear of becoming stale. Non-technical business managers have no idea of the consequences of "using Elixir instead of Java" or "Microservices instead of Monoliths" so they just nod and go along with it.
Eventually, developers get tired of having to pull all-nighters that could have been avoided by using more simple solutions. Then you have a bigger pool of 'experienced developers' who prioritise stability over fashion.
So the industry is becoming more stable and less hype-driven, but it will take a long time to get there. We need to learn lessons from other crafts and industries, like factory production and carpentry.
- duncanawoods 10y agoI have been programming since the '80s and I disagree that the industry becoming more stable or that the prime cause is immaturity. IMHO the ultimate source of instability is that we deal with pure thought-stuff that has very little internal constraint except at the interfaces. Other engineering is quickly constrained by materials, biology and physics but for us, any idle thought can become our reality. The faster we can communicate and the faster we can build, the faster the iteration. We can achieve much the same ends in any number of different styles and paradigms. The primitives for a programmer have more to do with poetry, memes, fashion and the creative end of pure math than physical systems. There can be no assumption of convergence. The pull of a social group will crush the technical excellence of an out group.
- blowski 10y agoWe face a lot of those constraints as well - money, time, computing power, knowledge, politics. In the short term, a social group may dominate and push a company in the wrong direction. In the long term, that company will lose out to the one that chooses the right direction, because of those constraints. ('Company' is a loose term here - it could be a department, a team, etc.)
- duncanawoods 10y agoThose constraints are incomparably looser than those encountered in a "stable" engineering discipline e.g. you can't build a driveshaft out of wood but you could write paxos in brainfuck. The use of physical material with hard constraints means there are "few good solutions" hence the disciplines converge and stabilise. Our thought-stuff just doesn't have that property. Even a hard real-time constraint does not strongly dictate many of our design and implementation choices of the written code, only the final behaviour.
- eeZah7Ux 10y agoNot being constrained by weight and size (unlike most other forms of engineering) explains code bloat and perhaps NIH but not hype.
- duncanawoods 10y agoThe argument is that the lack of constraint means that social forces are allowed to dominate, such as hype, fashion etc. Its not causal, its vulnerability. Any human endeavour similarly unconstrained will see similar dynamics when popularity, status, boredom and novelty run free.
- eeZah7Ux 10y ago> 20-30 years experience. Most have fewer than 10 I've rarely met devs with more than 20 years of experience that would buy into any hype. OTOH it the most hype-y conferences I've been to the average level of experience seemed to be... between 0 and 2 years.