One of the most valuable lessons I learned came from my university music professor. He once asked, “How good would you be if you did everything your teacher told you to do?” His point wasn’t to follow instructions blindly but to recognize that once you’re familiar enough with a discipline, you start to understand what truly helps you improve. You know the habits, procedures, and mindsets that make a difference.

He made that remark because, let’s face it, we don’t always do what we know we should. And why not? I believe the most common reason is simply laziness.
The basics can be hard work. They might not be as exciting as the flashy, advanced stuff. But think about building a skyscraper—would you rather focus on the foundation or just get to the penthouse? You don’t appreciate the importance of a solid base until it crumbles beneath you.
Let’s Take a Moment to Inspect the Basics
When I reflect on my own journey in software engineering, I realize how essential the fundamentals are. I’ve compiled some observations on these basics, which can be applied not just to software engineering, but to any discipline. Let’s look at a few key habits that have been game-changers for me.
1. Question Every Assumption.
It’s easy to assume something is true simply because you’ve been told it is. But how many problems have I solved by just double-checking those assumptions? A recent project of mine involved aligning software deployment with industry best practices. The leadership, however, had slightly different definitions of common terms. If I’d stuck with the standard definitions without questioning them, I would’ve missed some crucial requirements. Always verify your assumptions before moving forward.
2. Look Up Every Term You Don’t Understand.
When you encounter something unfamiliar, it is naturally more tempting to guess the meaning of the unfamiliar term. yet, that could cause us to miss on deeper understanding. Looking back at when I first ventured into the ocean of object-oriented programming, “everything is an object” just popped into my conscious shortcut thinking. But once I took the time to understand it more thoroughly, I realized how much it shaped the way we approach problem-solving. Sometimes, a few minutes spent researching a term can unlock a much richer understanding of the topic at hand.
3. Validate Your Sources.
It’s easy to trust a source simply because it sounds credible. But if you haven’t cross-checked it against something you know to be reliable, you could be misled. A recent example: while working with Linux DNS configurations, I came across a lot of forum posts with conflicting advice. By consulting the official documentation, I discovered that I didn’t need the third-party library others were recommending. By sticking to the documentation, I reduced the number of dependencies, making my application more secure.
4. Take Notes – And Then Take More.
It’s incredible how much more productive I’ve become by taking detailed notes. When I started writing everything down, even ideas that seemed trivial at the time, my efficiency skyrocketed. With digital notes, searching through them becomes as easy as a Ctrl-F. A few months ago, I jotted down my research into configuring certain applications. At first, it was just for my own reference. But later, I realized I’d created a resource others could benefit from as well. That initial note-taking became an invaluable knowledge base.
5. Test Everything You Build.
It might seem like testing is unnecessary if everything looks fine on paper, but testing is crucial. A recent study found that nearly half of security professionals don’t test major application updates. It’s easy to assume things will work, but without testing, you’ll never know if there’s a hidden flaw. While developing a program to check response payloads, I discovered that by testing with unexpected inputs, I was able to build a more robust solution.
The Power of Basics
Why do I emphasize these basics so much? First, because I’ve seen their impact firsthand. Embracing these methodologies has helped me attack the increasingly complex problems. Left untackled without the basics, I wouldn’t be in the position I am in today.
Second, companies are always looking for ways to improve productivity, often with a recent discovery in technology. But don’t confuse a shiny new tool with real improvement. Generative AI might be the next big thing, but it won’t replace the need for strong foundational skills.
Mastery is simply refined basics. We might look at the advanced skills and tools around us, but in reality, it’s the simple practices we rely on every day that truly drive progress.