The Importance of a Strong Engineering Foundation#
Every developer starts by learning the basic syntax of a programming language:
print("Hello world.")We learn a, b, c, and then we start using them around. Slowly, but steadily, we start to use them. Curiosity flashes around because it is exciting to learn new stuff.
Eventually, we begin to form sentences and better articulate ourselves in our craft. Problems are being solved for breakfast every day.
We start committing, then competing... with ourselves. A new hobby unlocked! Friends could barely get me outside. I'm casually thinking how to program a vending machine. Then I do it, and of course, do some more.
The next logical step is to find a mentor, attend courses, get certified. Crush the first interview, wait for 6 months—instead of attending university like normal people do—and then eventually get the job.
Congrats! You made it! Welcome to the spaghetti project that nobody understands and barely anybody cares about.
No problem! I've seen worse! You try to find logic, but you don't. Then you realize you don't have colleagues to navigate you. Only one "person" is there, and you will soon reach for it.
You start using AI. You write code you don't understand. Nobody reviews it or gives you feedback. Then you use AI for that, but you can't learn like that.
After 6 months of "hands-on" practice, you're a worse coder than when you started. Yes, developing is not only about coding—that's just 20–30%—but you don't enjoy it anymore, and you're not as good or as motivated as when you started.
I'm not saying AI is the problem. It might be the environment or how you use it.
For me, the way back to enjoying programming was teaching. There, I focus on the core again instead of diving into advanced tech.