Building Engineers, Not Just Software: The Fundamental Principle

Mabrouk Mahdhi
3 min readJul 20, 2023
Photo by Daniel Cheung on Unsplash

As I sit down to share my thoughts with you all today, I find myself reflecting on a fundamental principle imparted by someone very dear to me, my brother Hassan Habib (Hassan Habib). He has an insightful perspective on the nature of engineering that has resonated deeply within me, and it goes something like this:

“We are in the business of building engineers, not just software.”

On the surface, this principle may seem counter-intuitive. After all, aren’t we as software engineers hired to build software? Yes, that’s true. But if we only view our work through this lens, we limit ourselves. We miss out on an enriching and sustainable long-term vision: the development of exceptional engineers who are capable of building exceptional software.

Software is transient. It evolves, it gets updated, it becomes obsolete, and new technologies take its place. It’s the engineers, with their capacity to learn, adapt, and innovate, who remain consistent. They are the ones who master new technologies, adapt to changing landscapes, and push the boundaries of what software can accomplish.

Building good engineers takes more than just teaching them a programming language or familiarizing them with development tools. It involves:

  1. Cultivating a Mindset: Good engineers have a growth mindset. They’re curious, resilient, and ready to tackle complex problems. They embrace failure as a learning opportunity, and they continuously seek ways to improve their skills and knowledge.
  2. Creating a Supportive Environment: A culture that encourages asking questions, sharing knowledge, and collaborating effectively is crucial in building good engineers. A supportive environment fosters trust, encourages risk-taking, and promotes innovation.
  3. Promoting a Deep Understanding of Principles: Good engineers understand the foundational principles of software engineering. They don’t just know how to code; they understand why certain practices exist and how to best utilize them.
  4. Fostering Ethical and Responsible Engineering: Good engineers understand the ethical implications of their work. They consider the potential societal impact of the software they develop and strive to make responsible decisions.

Hassan’s principle underscores the value of investing in people. It embodies the understanding that the tools we use to build software may change, but the value of a well-trained, adaptive engineer is timeless. By focusing on building engineers, we contribute to a self-sustaining cycle of improvement and innovation. We’re not just creating software for today, but we’re also preparing for the software needs of tomorrow.

In essence, software is a product, and it will always be subject to evolution and obsolescence. Engineers, on the other hand, are the creators, the innovators, and the visionaries who drive this evolution. When we invest in building good engineers, we’re investing in the future of software itself.

Hassan’s “The Standard” has provided us with a guideline that not only helps us build better software but also assists us in nurturing the creators behind that software. It’s an approach that I wholeheartedly endorse and wish to propagate further.

So, let’s commit to being builders of engineers as much as we are builders of software, and see how our work transforms for the better.

Remember, software will come and go, but good engineers will continue to create, innovate, and make a difference.

#SoftwareEngineering #TheStandard #BuildingEngineers #GrowthMindset

--

--

Mabrouk Mahdhi
Mabrouk Mahdhi

Written by Mabrouk Mahdhi

Founder @ CodeCampsis, Microsoft MVP

No responses yet