July 31, 2025

Advice to Software Engineers in the Age of AI

By
Fadi Boulos
BG

A few months after ChatGPT launched, people worried that AI was going to replace them.

The wise reassured us: AI is not going to replace you, but someone using AI will. It was an invitation for people to embrace LLMs and leverage their power to work better and faster.

Fast forward to today, and the message is now: someone using AI the right way is going to replace you. It's the survival of the best user.

The best AI user is not someone who uses AI at every turn. The best AI user is the person who still analyzes and thinks before, during, and after using AI.

This is particularly true for software engineers who are increasingly reliant on LLMs to do a great part of their work: coding.

Here are 3 pieces of advice for software engineers to use AI the right way.

Prioritize Why and How over What

When an LLM proposes a solution to a problem, it's providing the What.

Oftentimes, it's a relevant answer. However, software engineers should focus on two other components to better understand how the answer came to be relevant:

  • Why: what are the underlying reasons that made the LLM answer that way?
  • How: how is this going to solve the problem?

Foundational software engineering knowledge is becoming more valuable. AI is doing the code, so most of the work will shift to system and solution design.

Learn what makes software reliable, scalable, and maintainable. Understand system design, i.e., how parts fit together and interact.

On the business and functional sides, make sure to understand the big picture. AI can generate code, but only you can decide if a system meets business goals.

Debug, Debug, Debug

It is estimated that 50% of coding time is spent on debugging. With more and more code written by AI coding assistants, we will be spending more time on debugging.

The main reason is that we're never 100% sure of what LLMs included in the code they produced.

When it's integrated within our codebase, we should expect some things to go wrong or face improbable situations.

To be ready, one can only prepare by practicing debugging at every occasion.

Software engineers are problem solvers at the end, so tracing problems to their root cause and fixing them is the code of what we do.

Take every opportunity to debug your code or your teammate's: you'll need great debugging skills down the road.

Test Like There's No Tomorrow

In The Pragmatic Programmer book, the authors focus on testing your code before users do.

I believe testing will become even more important now that AI writes large parts of our software.

Think of the different test cases before you start coding. In production, your code may - and most likely will - break under a specific scenario. You want to be prepared for that.

Always ask: "What could go wrong?" and prepare accordingly. Cover edge cases and think of possible security vulnerabilities.

Tools like Netflix's Chaos Monkey and Android's Monkey will become more relevant when you don't have full visibility into your code.

Takeaways for software engineers in the age of AI:

  1. Master first principles.
  2. Hone your debugging skills.
  3. Test for all (im)possible scenarios.

Take the first step toward building your dream team

Book a call and get matched with engineers in 24–72h.