AI, Fundamentals and the Future of Software Engineering: Reflections from an Engineer


I’ve been a software engineer for almost two decades, and in recent years, I’ve seen artificial intelligence not only change the way we program, but also how we think about the very act of building software.

In my experience, the impact of AI has been profound, not only in what I deliver, but in how I think and structure my work.

It has expanded my reasoning, my way of analyzing problems, and even my approach to technical leadership.

I realize that the more I learn to use it with purpose and method, the more I grow as an engineer and a leader.

And every time I hear someone criticize AI, I think: maybe the problem is not in the tool, but in how we are asking the questions.

I’ve learned, inside and outside of work, that half of the answer lies in the right question.

And to ask good questions, you need clarity about what you want to achieve.

That is a lesson that applies both to engineering and to management.

When using well means thinking better

I’ve noticed an interesting pattern: those who use AI consciously, understanding the problem, gathering requirements, defining the scope, and structuring their request with context, evolve at a visibly faster pace.

It’s not just a matter of productivity. It’s technical maturity and clarity of thought.

AI does not replace human reasoning, it expands our capacity to reason.

When used wisely, it provokes better questions, reveals gaps in requirements, and broadens our view of code, design, and business.

When we cultivate an environment that values structure, living documentation, responsible experimentation, and continuous learning, AI stops being a trend and becomes a multiplier of collective intelligence.

From the GPT revolution to the rise of Vibe Coding

Since GPT models became popular, software development has gone through a deep transformation, not only in tools but in mindset.

Suddenly, AI stopped being a distant academic topic and became part of the developer’s daily routine, influencing how we think, code, and deliver.

It was in this context that, in February 2025, Andrej Karpathy introduced the term “Vibe Coding”, describing a new way of creating software through dialogue with language models: the developer expresses intent and the AI translates that intent into code.

The idea is powerful, and when well applied, it accelerates processes, unlocks creativity, and increases clarity of purpose.

But like every good idea, it came with misinformation. Many people began to confuse Vibe Coding with “no longer needing to know how to program”.

What started as an experimental and creative approach turned into cheap marketing: self-proclaimed gurus and course sellers began to announce the “end of developers”, promising “code without code” and “complex projects built with a prompt”.

The problem is not in the concept. It is in the shallow and unfounded way it has been used.

That is not engineering. It is misinformation with modern design.

These narratives ignore the basics: AI does not replace technical knowledge, it enhances it.

When used without fundamentals, AI only amplifies noise.

It generates code quickly, but inconsistently; it delivers results, but without traceability; it speeds up the start, but multiplies problems later.

It is like building a structure on unstable ground. It may look efficient, but there is no foundation to support what comes next.

In practice, what I see is exactly the opposite of what these gurus preach.

Those who use AI with discernment, understanding the problem, contextualizing inputs, validating results, evolve exponentially.

They are professionals who combine curiosity with method, creativity with engineering.

They are not replaced by AI. They are empowered by it.

Vibe Coding, in this sense, is not a mistake.

It is the symptom of a time when technology is evolving faster than the average technical maturity.

And it is up to us, engineers, to put things back in place: to show that AI is a powerful tool, as long as it is used with foundation, context, and technical ethics.

From criticism to the search for foundations

After observing both the shallow use and the real potential of AI in development, I realized I needed to understand which principles can turn this power into method.

It is no longer enough to use AI as occasional support, I want to understand how it can become a structural part of the engineering cycle, without giving up quality, traceability, and the principles that sustain a good software process.

In this search, I began to delve into more solid and foundational concepts of modern software engineering, approaches that bring together classical fundamentals and emerging practices around AI.

Among them, two have proved especially relevant and that I intend to explore in future articles to deepen the topic:

  • Spec-Driven Development
  • AI-Driven Development Lifecycle (AI-DLC)

These pillars help translate the use of AI from something empirical and experimental into something truly systemic, predictable, and sustainable, the kind of engineering that builds not only code, but trust.

Continues…

Tiago Fernandes de Campos
Tech Lead and software engineer working at the intersection between AI, engineering fundamentals, and systemic leadership, building bridges between technical thinking and human vision.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *