My relationship with AI
In short I have no desire to become a vibe coder. I've spent too much time learning how to build web pages, style them and make them interactive and accessible. I'm still on this learning journey, currently focussing on React and NextJS. I think it's foolish to give into AI at this stage just because it's quick and efficient. I don't want my rate of learning to drop off a cliff because suddenly an LLM can code for me.
At the same time, I think to stay away from AI as a matter of principle is equally foolish. I can't ignore the opportunity cost of being able to build things, and learn things so much quicker. So the question is where do I draw the line on how much I let AI into my professional life?
Like many, my first touch point was using chatGPT. I very quickly felt comfortable with the user experience of the humble chatbot. The conversational nature was, and is appealing to me. I can imagine it as a helpful colleague that knows everything, doesn't judge me for my silly questions and is always there to help me. (as long as I subscribe to the paid plan :))
This is several orders of magnitude less painful than the "old" way of figuring out how to do something. The developer docs was always the first port of call (and usually still is) but I found often these docs are written by developers who in my opinion aren't always the best at making writing accessible. Google would send me to various blogs or Stack Overflow posts. I'd find myself referencing a post that was written 6 years before, that is only vaguely relevent to my context. Some developers argue that the way you learn is by doing the hard yards in other words, driving yourself to the brink of desperation. I would argue this is counter-productive and perhaps slightly damaging to self-confidence and mental health.
I tried some other LLM's like Claude and DeepSeek. ChatGPT wins out for me, because of its user experience. I find the responses are very accessible and easy to understand. They form into an article of their own which I can come back to and reference into the future. The others are good also, but aren't quite as good as ChatGPT.
I also tried Cursor, which is a fork of VSCode. It has AI features built right into the code editor. This is a bit of a shift in the relationship, from the helpful, to a somewhat beligerent colleague who nudges you away from your keyboard and just writes it for you. I felt unsettled that the AI almost lives in my code, or even is my code. I'd start writing a function and what it presumes I'm writing would flash up on the screen in an instant. Far too invasive and not at all conducive to learning and development. I did not like this at all.
Falling back on ChatGPT, I tried Codex. It connects to your repo via GitHub, and can perform tasks such as finding opportunities to refactor, find bugs and add new features. It does this by showing you its code, where you can review and ask questions, before submitting it as a pull request. You then review the PR before merging it in. At the time of writing I'm relatively new to it, but I am a fan. Because the PR workflow is akin to how you would work with another developer on the same project. Yes, the AI has direct access to the codebase, something which made me feel uneasy with Cursor, but there is that more familiar collaborative development workflow. The relationship is again, the helpful colleague, not the beligerent one.
Like with everything, I'm on a journey. I still feel like I've exposed myself to a fraction of what's possible. There will likely be a part 2 to this in the future.