smikhanov
Joined 18 years ago
Joined 18 years ago
There’s nothing in common between software development as an activity in Brooks’ times and now. This horse is dead, stop flogging it.
Or since it mentions AI, this is his follow-up to Terry Winograd publishing Understanding Computers and Cognition. Mid-80s vibe, priceless.
Exactly zero people
You are wrong! I was redoing my kitchen recently and there’s a huge variety of accessories that kitchen worktop suppliers offer that have to do with using electronics on a worktop. A round hole with a lid to thread the power cable through is a very common thing that kitchen planner software includes nowadays, especially for kitchen islands. You can even have a completely flush wireless charging pad on your kitchen worktop if you want.Just read the intro to this post, it sounds like music:
"The transition to the AI era will be one of the most turbulent times in human history" -- are you even qualified to make this claim?
"Right now, we are not preparing adequately for that transition" -- who are you to know that for certain?
"If the world takes the right steps, AI will be a force for good and leave everyone better off" -- awwwwww.
Let's have a look at a few rarely quoted examples from the last decade, shall we?
Just six years ago, a big company rolls out a line of new chips so good that geeks and technology experts all get ecstatic and can't stop churning endless raving reviews. Those chips are fast, small and consume little energy. On top of that, the big company reworks their entire OS (OS!), the whole suite of software it has for it, the developer suite with compilers and SDKs and god knows what else and also ensures that everything ever written for that OS for the old chips continues to work and it indeed does.
Then there's another big company that launched a file storage service around 20 years ago. Back then it was reliable and only gotten better over the years. They started offering their storage for a nanocent per gajibyte and twenty years of hard work allowed them to lower that cost to a picocent per gajibyte. They don't lose data, they are highly available, half of the internet stores their data at their servers.
And then there's a -- gasp! -- consortium of big companies (fools would reply to this with an XKCD standards strip) that works on improvements to a shared set of standards for 4G, one of the most widely used technology stacks in the world, agrees on it, calls it 5G and rolls it out across the world and the whole spectrum of hardware and software vendors in a manner that resembles replacing a wing of an aircraft mid-flight so that not a single pasta strand falls from the forks of the business class customers.
And here we have someone who thinks that a customer support page for his fridge (fridge!) thrown together by a low-paid second-grade developer in a third-world country is indicative of the whole industry decline.
"Nothing works", my hairy bum. Get real.
However there are people in the workforce who don’t identify with their work. Those are likely not in professions that Marx thought of when he wrote about alienation, but instead are Uber Eats delivery drivers, call centre workers, flight attendants on low-cost airlines, nurses in mediocre hospitals, and so on.
That is obvious from all the upvotes your comments get on here.
This one belongs to history books, not to the list of contemporary best practices.
Yes, they know how the feature they work on relates to other features, but actually implementing that feature is very often mostly involves fighting with technology, wrangling the entire stack into the shape you need.
In Brooks’s times the stack was paper-thin, almost nonexistent. In modern times it’s not, and adding someone who knows the technology, but doesn’t have the domain knowledge related to your feature still helps you. It doesn’t slow you down.
One may argue that I’m again pointing to the difference between accidental and incidental complexity, and my argument is essentially “accidental complexity takes over”, but accidental complexity actually does influence your feature too, by defining what’s possible and what’s not.
Some good thoughts (not mine) on the modern boundary between accidental and incidental complexity: https://danluu.com/essential-complexity/
One pathological example: if you’re running a server-based product, quite often what stands between you and a new feature launch is literally couple of thousands of lines of Kubernetes YAML. Would adding someone who’s proficient in Kubernetes slow you down? Of course not.
One may say, hey, this is just the server-side Kubernetes-based development being insane, and I’ll say, the whole modern business of software development is like this.
My blog: http://www.mikhanov.com
My Twitter account: http://twitter.com/i_am_neuron
Feel free to get in touch with me about anything (I live in London): http://www.mikhanov.com/contact