Generational knowledge loss is often either discarded as irrelevant, illusory or misunderstood.
It is not a new phenomenon and can easily be traced back to antiquity.
Because _reality has a surprising amount of details_ the entire humanity knowledge at any given time is living in our memories, not written, and even if we had the time and will to try and formalize it, language is not complete enough and we lack the ability to fully introspect what we know.
You can ask a professional Tennis or Chess player to formalize his expert knowledge and it may contains some useful insights, but far from enough to replicate his skills.
So learning is re-discovering many things, a Sysphean task, and the majority is lost, we managed to keep just enough thanks to the invention of writing and books to reach a kind of slow escape velocity.
Because technology is constantly evolving, what is lost is not systematically relevant, like writing poetry in ancient Greek.
But there is the risk of losing too much, too quickly. As a veteran of the videogame industry I can attest that many mistakes that are made today were solved before, but the good designs and principles were largely lost.
Newcomers are not inherently less smart than their parents, quite often they just don't learn because the incentives changed.
I am not entirely convinced the emergence of "vibe coding" and other assistants will be a net gain.
Ages ago, I worked at a flexographic print manufacturer, once, when a new hire had made a large plot on Kraft paper (which was moderately expensive/difficult to source and a nuisance to switch to/from), it turned out a circle was on a non-printing layer (why Adobe Illustrator allows that is a separate discussion --- Freehand's printing everything which is visible and not printing anything invisible or on the background is correct) and came to me asking help in re-loading the Kraft paper and in explaining to the folks who were concerned about money and so forth.
Instead, I troubled the lead stripper for a compass and ruling pen and got a bottle of fountain pen ink (fortunately, the circle was black, and that was a colour I had in my ink rotation) and showed the trainee how to use a compass w/ a ruling pen to create a circle with a desired stroke thickness in ink --- their low-budget graphic design program had totally skipped over any sort of physical media, going straight to computer usage....
Great that you knew that - but that doesn't mean it was worth it for the kid to learn.
There is more interesting/useful things in life to learn than you will live. Just becoming a brain surgeon, heart surgeon, anesthesiologist, and other somewhat related medical specialties will take you to retirement age without ever leaving school. That is despite the overlap, we haven't even start to make you any form of engineer, musician, or any other the other interest fields there are out there.
We as a society have to look at things like manually drawing as hobbies you can learn if you want that should be put in a book just in case someone wants - but otherwise not taught. There is nothing wrong with what you knew how to do, but there are more important things to teach kids and we need them to move on to the real world not learning everything.
The core problem is the quixotic quest for efficiency. Right now I'll blame JIRA because that's the latest incarnation of this beast, but it's the mindset behind thinking that's a good idea in the first place. As long as I've been working I've been under artificial, meaningless time constraints that seem to only exist to catch cheaters, but that actually serve to make experimentation impossible.
32:22 It's time to be honest. As engineers, we are not known to be effective communicators. That's just not a strong suit of an engineer.
32:29 It is time to lay out and systematize the communication so that every organization that's involved knows far more information than they need. We have actual targets and dates that are actionable and they don't depend on a miracle in technological innovation occurring at some point on the Gantt chart.
32:48 We actually have actionable things that have to happen in certain time frames. And if something doesn't happen, a critical technology isn't in development, we communicate that there's a schedule slip to everyone.
From what I've seen of recent very large engineering projects, saying "we need Gantt charts" is a good way to get sidelined/fired?
It seems that modern organizations absolutely loathe up front systems engineering and planning?
Try enjoying reading for purposes other than spending as few brain tokens as possible to acquire maximum info. It takes time to understand another persons perspective. Sophie’s Choice wouldn’t be as good a movie if you watched the 30-second TL;DR.
To each their own, I found it tedious and annoying. I quit reading maybe 1/4 of the way in. By then already I had loud alarms going off that I need to read the comments because I'm sure many of the points are easy for a real expert to debunk - too much feels off.
Well I found the text to be obviously inflated with AI, becoming much more verbose than necessary, even if syntactically, grammatically and structurally it was correct.
I would write that prose. It’s very powerful to use small sentences with small words to drive a point home. Like when you are in some drawn out argument about th future with your spouse and your child comes in the room. She says quietly, “please stop fighting I’m hungry”. How do you argue with that? You can’t, it’s just true.
> Destin pointed them at NASA SP-287, a document the Apollo engineers wrote and left behind specifically so the next generation wouldn’t have to rediscover everything from scratch. The title is “What Made Apollo a Success.” It has been sitting there, public, for decades. Most of the people in that room had not read it.
> The principle at the center of that document is blunt:
> “Build it simple and then double up on as many components or systems so that if one fails, the other will take over.”
> double up on as many components or systems so that if one fails, the other will take over.”
This is bad advice for a rocket where we are already on the edge of what is even possible. If earth had just a little more gravity it wouldn't be possible to escape our gravity well to a moon. Good engineering is a lot more complex than that simple little advice and a good engineer should already know all the ways that advice is wrong in the real world.
It's not bad advice, it's Great advice. If you're at the leading edge of any technology, you haven't had decades of experience to fall back on to characterize the components involved in the configuration to which they'll be applied. All sorts of new problems cropped up once everything was in space. Clean metal surfaces spontaneously weld, for example.
You obviously have to be well aware of the tyranny of the rocket equation, but you really shouldn't use that as an excuse to try to trick your way around problems in clever ways that are likely to cascade into mission failure and possible cost of the crew at the first little anomaly.
You can't just pull over to the side of the road in aircraft, and space is even more unforgiving. There's nothing to stand on to lever against. Even a slow accumulation of sweat can drown you if you're not careful.
Keep It Simple and Stupid is the bedrock of good engineering.
Read the entries in the blog that predate AI, the style is very clearly different.
I would be shocked if someone consciously or unconsciously adopted AI style so perfectly so quickly. Changing your style is not easy and if you're capable of it, probably this is not the style you'd pick.
I don’t quite understand this alarmist argument about AI making us forget how to build software.
We are software engineers, we are used to this! The whole history of computing has been about creating higher abstractions to make it easier to build software. Who has thought recently about instruction sets, memory layouts, gotos, pointers, system calls? Some still do, but not everyone has to anymore.
From day one I had the expectation that my knowledge would become obsolete and that I needed to keep learning. That new tools will constantly replace me, my knowhow for doing things manually, and that I will need embrace and learn how to take advantage of new levels of automations.
Frankly my experience of AI hasn’t been much different from when React, Spark, Elasticsearch, AWS or Rust came in for instance, some random examples. You just keep learning and embracing the new technologies. Yes they automate some of what you were good at doing and that part of you is no longer needed, that’s the whole point.
I think we will be totally fine as software engineers, not because we are not being replaced, but because replacing ourselves and adapting to it is the core of what we do!
React, Spark, Elasticsearch, AWS or Rust were deterministic programming languages; they did exactly what the developer specified.
With Claude Code, they are semi-independent non-deterministic agents; they are more like consultants that the developer manages. The fact that they tend to generate verbose code which overwhelms the developer's ability to review is also troubling.
When they generate such code I hit delete and start over. I mostly don't have a problem understanding the code that Claude writes (or whatever AI I'm using today - my company keeps changing what they want me to use). It sometimes takes some time to figure it out, but it isn't any worse than figuring out what other programmers have written.
I do however need several rounds of "review this code", and pointing out trivial details that are wrong, before it is worth me trying to figure out the big picture.
>> The whole history of computing has been about creating higher abstractions to make it easier to build software
These abstractions are understandable and predictable. There is no mental model for the current LLMs(in entirety, even though the parts are known), the output might as well come from a genie.
That's not true. The mental model is a distribution over completions. Weird you say LLMs are like genies, genies being magical beings that can accomplish anything.
It is not a new phenomenon and can easily be traced back to antiquity.
Because _reality has a surprising amount of details_ the entire humanity knowledge at any given time is living in our memories, not written, and even if we had the time and will to try and formalize it, language is not complete enough and we lack the ability to fully introspect what we know.
You can ask a professional Tennis or Chess player to formalize his expert knowledge and it may contains some useful insights, but far from enough to replicate his skills.
So learning is re-discovering many things, a Sysphean task, and the majority is lost, we managed to keep just enough thanks to the invention of writing and books to reach a kind of slow escape velocity.
Because technology is constantly evolving, what is lost is not systematically relevant, like writing poetry in ancient Greek.
But there is the risk of losing too much, too quickly. As a veteran of the videogame industry I can attest that many mistakes that are made today were solved before, but the good designs and principles were largely lost.
Newcomers are not inherently less smart than their parents, quite often they just don't learn because the incentives changed.
I am not entirely convinced the emergence of "vibe coding" and other assistants will be a net gain.