Half a Year Working with AI Coding Companion

Published on: 2025-08-17

Reflections on the what worked well, what didn't work well, and what does it mean for the future

I love AI coding companion. It allows me to focus my attention to the creative part of software engineering: understanding the product requirements, thinking about trade-offs, and doing system-design. It also makes the whole feature development much faster, granting me a lot more dopamine as I finish more things.

What Works for Me

  1. Cursor

Chatting with AI in the same place where I write my code. It’s a wholesome experience. I’m still a more IntelliJ person than VS code person. That said, I hope IntelliJ will bring out similar experience soon.

  1. Learning Prompting Skills

There are so many resouces to read on how to formulate a good prompt. Strategies such as giving the AI chat a persona (you are an expert on React, jest and react testing library), a lot of context, and interrupting it when it’s going in the wrong direction, have brought me a long way.

  1. Using AI as Sparring Partner

It used to be a very important for me to always have a competent sparring partner in my team. Today I spar with AI a lot. It helps me getting to a better trade-off analysis, and pointing out solution that I might not be aware of.

Interpersonal connection should not however be totally replaced, as sparring is part of helping each other grow.

  1. Sharing Experience with Others

Our company has a weekly tech meeting. In the last few months, it is mostly about sharing experience working with AI. I got inspired a lot.

What Did Not Work for Me

This is much harder. The most important lesson I have with AI coding companion is that we have to review the code being generated. It happened multiple times with me and with code that I reviewed, where I saw mistakes evidently generated by AI. For example unnecessary comments (“Don’t use comments as a substitute for bad code.”), generated test cases (edge cases which exploded the pull requests), and bad naming (lack of domain understanding).

What Does it Mean for the Future?

Skills

Reading and writing (in English) are becoming more important than ever. We have to read through the stuff that is generated, so that we can judge and iterate. We have to write well and clear, so that we get well-written and clear answers.

Understanding business context is also becoming more important for software engineers, as the importance of coding decreases. What will bring more leverage in the business context, this is the question that separates good product engineers from the bad ones.

Do We Still Need Software Engineers?

Yes, but a LOT less of them.

The market for average software engineer will become bad, if any. I can’t predict how fast this process will be, but it will happen.

Either we have to work on the product thinking skills, or be really nice and provide emotional value for the team/company, or we have to learn another profession. This happened with farmers, ice cutters, and telegraph operators. Same as ever.