3 Essential Traits to be a Good Software Engineer

AI Is a Tool, Not a Replacement. Master These 3 Skills to Stay Ahead in Tech’s AI Revolution

🧐 What Am I Thinking This Week

“Just use AI to write the code!”

I can probably get a Breville 876 by now if I afford a dollar every time I hear this. But I also actually bought it during Amazon Prime Week.

People often think that software engineers just sit in dark rooms converting coffee into code making it a perfect career for introverts that don’t wish to talk to people. This might also make people believe AI is going to replace us all.

The truth is coding is only part of the job and here are 3 skills that good software engineers should have.

Planning and Communication

PM comes into the room and says we need a login system and you just start building it. There’s a nearly 100% chances that you will be building the wrong thing.

People have different definitions for the same words. You might be thinking you are talking about the same feature and you don’t want to find out if that is true until you build everything.

Good engineers ask annoying questions first: What kind of login? Social auth or email/password? What about password reset? Two-factor authentication? What happens when someone forgets their email? How does this fit with our existing user system?

Then the fun part: you will decide what tools and libraries to use. Should you use Auth0, build everything yourselves, or modify what you already have. Should you have short-term and long-term strategies. Whatever decision you make now, it will affect the timeline, budget, what your deliverables are.

The best engineers I know are basically professional question-askers who happen to write code. They communicate early and often because building the wrong thing perfectly is still building the wrong thing.

Problem-Solving and Debugging

Good software engineers don’t just quit when they see problems. They should be like a curious detective looking through logs, stack traces, patterns to recreate the problem, find ways to test them, and validate the fix.

They would also come up with ways to prevent the problems from happening. If it’s a flaw in process, how can we adjust this so an intern wouldn’t accidentally take down the production database. If it’s in coding pattern, what sort of tests can we do early, or what linting rules can we set.

The best engineers I know have their own ways of solving problems, find information to help them, and have their own procedures to get to bottom of bugs instead of sitting there uninterested doing nothing.

Continuous Learning and Adaptability

Good engineers treat learning as compound interest. New tools and ideas come out every day, especially now in the era of AI. Standing still will only be left behind so they learn new things every day no matter how small. In the long run, such consistent investments will pay massive dividends.

While people are afraid of AI taking their jobs, the good engineers learn, adapt, and think how these AI tools can help them become better engineers or augment them to product better results in shorter times.

  • Could you use AI to explain codebase and produce a document for others?

  • Could AI help you conduct code review and cover edge cases?

  • Could AI explore new ideas and produce MVP faster for validations?

This is how they stay ahead of others and not worry about being left behind.

While AI is indeed a powerful tool, software engineering is fundamentally about understanding problems, communicating solutions, and adapting to new challenges. Learning to work effectively with AI can help you deliver faster and better results. But engineers who blindly use AI to generate code without understanding the broader context of their work are the ones who should worry about being replaced."

💡The ONE thing I've found interesting

By now, people have been really productive and introduced to the world of agentic coding with Claude Code. If Cursor gives you the having senior sitting with you doing pair programming vibe, Claude Code is having a senior at your fingertip to do what you’d like. You can even create agents that run on its own when you are away from keyboard.

Currently there is a rate limit implemented every 5 hour so you don’t overwhelm the servers. Some people, or one person, have found ways to have more model usage on a $200 max plan. With that, Anthropic is introducing a weekly limit on August 28 to prevent this. They anticipate the impact would be minimum but as you can imagine, the communicate isn’t really fond of this. I don’t think I would hit that limit myself but I know people that have a team of agents that might be worried.

If you enjoyed this post, join over 100 fellow readers on this journey, subscribe and share to get fresh insights delivered straight to your inbox!

Reply

or to participate.