The ChatGPT Coder
I’ve been working on a small side project and it’s insane how much coding ChatGPT/GPT-4 has spared me from writing myself. In one evening, I had a proof of concept going with its own Windows UI Program written in Python.
At first, I just wanted to see if ChatGPT could do it. Afterwards, I just kept requesting features, improving the UI, and tweaking the tiniest details. To complete the same program, it would have taken me much longer and more importantly required so much more of my attention. Instead ,I was able to just go off of work already completed for me by the AI and focus on higher level qualities like usability.
Buried within this experience is perhaps an outline of a new kind of coder who we are slowly starting to see:
Iterative
It’s an interesting process right now, I’ve just never seen anything like it before. Coding is becoming far more of an iterative process. I request something from ChatGPT, copy the code, paste the code into my editor, run the program, and return to it with further requests. It could be to fix non working code, ask it about a bug, or to request new features. But this iterative, back-and-forth process between human and AI is a new paradigm worth thinking about further. We’re definitely witnessing an acceleration point in coding.
Runs Code End to End
Besides articulating what needs to get done, I feel like my main role is to run the code and describe some kind of a sensory experience to ChatGPT. I might run the code and let ChatGPT know there was an error that came up, or run it and describe elements in the UI which are not visually aligned. Similar to E2E Testing, my role is to paste the code, run it, and let ChatGPT know what happened and what could be improved. It’s not fully multimodal yet, nor is it operating in a time-series kind of way, but this is a new kind of collaboration altogether.
UI Focused
Since I wasn’t so caught up in the programming part, it was interesting to have more time to spend on the visual, user experience of the program. As a human and end user, I felt this was an area I could have more of a say and care more about than ChatGPT. It was easy to make changes to the frontend as well by asking for it.
Cross-domain
Through ChatGPT, I found myself working with new kinds of libraries and technologies I hadn’t even heard of before. I didn’t need to read their docs or learn them intimately before I was able to get value from them. I think ChatGPT represents a new kind of interdisciplinary collaboration in the programming world we just have not seen before.
Customer/value centric
It was amazing to not write code and be able to just focus on the core problem I was trying to solve. ChatGPT makes it easier to focus on customer needs instead of writing code.
Lean
This is just a new kind of approach to the “lean” startup or lean development. Instead of something completely written by hand, you can have something made with a lot less effort but more value than your typical startup MVP. You can move faster knowing a lot of the code can be written for you in the future. You’re also more willing to shed features since you weren’t the one that wrote it!
These are some interesting characteristics for a new kind of programmer altogether. It’s worth thinking about what all of this could mean for the future of the technology industry. I’ll have to come back with more implications keeping these things in mind.
Major Caveat: I actually know how to code
I want to close by saying my experience was more streamlined and perhaps, ideal … but this is because I actually know how to code and have been doing it for many years. I know how to correct mistakes ChatGPT itself may be making or tweak the right details because I would be doing every step myself anyways. This represents a, “happy path” experience which other ChatGPT users may not experience.