I listened to interesting podcast recently: The third golden age of software engineering – thanks to AI, with Grady Booch and Gergely Orosz in The Pragmatic Engineer.
Link to the episode: YouTube
Fundamentals are not going to go away. This is true in every engineering discipline. The fundamentals are not going to disappear. The tools we apply will change.
Grady Booch
Neatly summarized. I share similar perspective on AI-usage in software development.
Generating code with LLM is a no-brainer. Evaluating the code - is.
Fundamentals are required to assess if the code is valuable for the business, follows architectural direction, is secure & aligned to product's stage and vision.
By "fundamentals" I mean: knowledge of software development principles & business context.
It seems people always operate on some level of abstraction. Let me describe "communication".
Ancient civilizations used messengers to pass message between strongholds. Papyrus, horse, ship.
We, in the last three centuries: letters, telephones, text, recordings. Paper, electricity, internet.
And it always consists of:
- sender
- recipient
- message
The level of abstraction and affordance of methods changed. Goals and rules remained the same.
During my lifetime:
- telephone directory (yes, the paper book) was packed into the telephone itself
- unlimited voice calls became standard, starting from per minute pricing
I observed the same analogy in the software industry. It's easier to create and more affordable.
But because you're able to write, it doesn't mean you are a novelist. And because we can pretend to be a one by generating some text, doesn't mean we wrote a book.
Fundamentals are required to know, what does it mean to create a novel.
