AI coding agents are amazing, but lean on them too hard and your engineering skills atrophy. Aviation already lived through this. Here's what we can steal from how they fixed it.
New engineers shouldn’t just learn how to prompt. […] The signal that an agent is bullshitting you is a learnable skill, and right now we’re mostly learning it by accident.
No. Education should focus on basics that are likely to remain relevant. The biggest signal that something will remain relevant is that it has been relevant for more than a decade already. Laws of physics, the PID control loop, what is a register, what is a LRU cache, asymmetric cryptography. Failure mode effect analysis, stuff like that. LLM prompting is very new. Better learn about big-O notation first, or you’ll never realize that the LLM went off rails. They didn’t teach you the latest Javascript framework at University either.
A simulator for engineers. This is the one I haven’t seen anyone build, and I think there’s a real gap.
[A simulator for] debugging unfamiliar production-like code, reasoning about state in a real system, recovering from a nasty incident without help. Someone should build that. (Hit me up if you already are. I would be very eager to try this.)
You probably have been building mostly new software, and not yet had the pleasure to maintain something that was built two decades ago by a team that isn’t around anymore to maintain it. There is a big market for the skill to work on high-value legacy systems without breaking them. This kind of work that you don’t see in the hyped blog posts. (Or if you do, it will have “post-mortem” in the title. In fact, you have succeeded if your work on those system never makes it to the news.)
(Edit: The problem is not building this simulator. The problem is finding both the budget and the cruelty to beat an engineer into analyzing a legacy system that is currently working as it should. At the end of the day they are frustrated not having done anything, and the company has spent money with no tangible result. I guess we really could learn something from aviation - this kind of “getting intimate with the system” for its own sake just isn’t valued.)
No. Education should focus on basics that are likely to remain relevant. The biggest signal that something will remain relevant is that it has been relevant for more than a decade already. Laws of physics, the PID control loop, what is a register, what is a LRU cache, asymmetric cryptography. Failure mode effect analysis, stuff like that. LLM prompting is very new. Better learn about big-O notation first, or you’ll never realize that the LLM went off rails. They didn’t teach you the latest Javascript framework at University either.
We are having big fun with those.
You haven’t played Factorio, have you? ;-)
You probably have been building mostly new software, and not yet had the pleasure to maintain something that was built two decades ago by a team that isn’t around anymore to maintain it. There is a big market for the skill to work on high-value legacy systems without breaking them. This kind of work that you don’t see in the hyped blog posts. (Or if you do, it will have “post-mortem” in the title. In fact, you have succeeded if your work on those system never makes it to the news.)
(Edit: The problem is not building this simulator. The problem is finding both the budget and the cruelty to beat an engineer into analyzing a legacy system that is currently working as it should. At the end of the day they are frustrated not having done anything, and the company has spent money with no tangible result. I guess we really could learn something from aviation - this kind of “getting intimate with the system” for its own sake just isn’t valued.)