Earlier this year, the AI tools I used for software engineering were Cursor and ChatGPT. I was regularly using Cursor’s autocomplete and agent mode, and ChatGPT for everything else. Since then, the landscape has evolved considerably; here’s my toolset as of August 2025- and roughly how much I use each tool.
Claude Code (80%)
The CLI claude
tool took over as my primary AI tool for software engineering. In my opinion it is the best in class.
My use of Claude isn’t terribly advanced. I have a ~/.claude/settings.json
, and a hook for linting claude’s common mistakes, similar to this one.
I hit Claude’s daily limits a few times on the basic plan and I definitely noticed the recent stability issues before Anthropic introduced rate limits.
Claude has been transformative in so many ways, but an example that stands out to me is an error case. While on call, I saw some super unusual behavior in our monitoring system: the application was making an inordinate number of requests to a remote dependency. Worse, I knew this was in a complex part of the code base that I never examined.
I asked Claude, “Where could this bizarre behavior be happening?” and in about an hour we had a straightforward patch for the issue. Latencies dropped significantly.
Cursor (15%)
For types of work that aren’t really suitable for Claude, I still use Cursor. I don’t use the agent mode at all since I started using Claude.
The main problem I had with Cursor compared to VS Code is around debugging python tests. It just never worked for me with Cursor. It’s frustrating enough that I close Cursor and switch to VS Code.
Cursor’s autocomplete is still useful enough compared to just out of the box VS Code.
ChatGPT (5%)
ChatGPT is the first AI tool I used. I still use ChatGPT a lot for the other non-coding software engineering activities:
- Refining proposals
- Generating ASCII diagrams of complicated interactions
- Debugging interesting things with Linux
- Researching tools that would help
ChatGPT’s recent enhancements around searching the internet for more current data made researching software tools in a fast moving world a lot more useful.
One example I have is around semgrep. semgrep is positioned as a code security tool.
I was exploring ways to create CI checks for teams to ensure distributed systems client best practices. These included Timeouts, Retries, and Backoff with Jitter. ChatGPT showed me that semgrep could be a tool that performs these checks. In hindsight it’s obvious: semgrep is a great tool for this, but I would have never considered using a security tool for ensuring client best practices.
Fin
I’m bullish on AI, especially for software engineering. The next area I want to explore is leveraging MCPs that provide operational data (logs/traces/etc).