Re:The 'internet of things' is sending us back to the Middle...
by jeffdavis on Monday September 18, 2017 @12:05AM
(#15273323)
"The issue is that things change so quickly that generating such knowledge is economically useless."
That's a good point, and certainly part of the problem, but it does not detract from my point.
The bottom line is that we don't understand the software in the world around us and that it would be hopeless to try. Whether that's because of static complexity or dynamic complexity seems like a separate discussion.
Changing software on the scale that humans do is kind of like changing the laws of physics every year. Great to know that we understand some past snapshot of the software stack that we built, but not relevant to living in today's world.
People are perfectly capable of understanding very large programs even from reverse engineering.
The issue is that things change so quickly that generating such knowledge is economically useless.
I have this discussion with my CTO all the time:
"I'd like you to go do <X>".
"No, please give that to <junior person>."
"But he's junior. I want someone senior to do it."
"The half-life on the knowledge to do <X> is weeks to months. Senior people will be no better at <X> than a junior person, and our junior people are quite capable precisely because we trust them with things that other places would consider a "senior" task. The first couple of weeks are going to be spent on Google, Slack, IRC, mailing lists, forums, and anything else figuring out all the ways that thing fails and how to debug it. After a week or two, they won't be junior at it, and we'll make them give a talk about it if we deploy it."
Sometimes I still have to step in, and that's fine. But I avoid learning software things with short half-lives as much as possible, nowadays.
Of course, that makes me an out-of-touch, crusty, old fart to my juniors.
But, they are smart enough to acknowledge that my code always seems to be so much more reliable than theirs. And that's fine, too.