Redefining My Software Process
Navigating the fast-pacedness of LLMs' influence in development
During this week, I was also looking at my current productivity in writing software. Here is what I noticed:
- Deep thinking is being replaced with waiting on an LLM if there is a problem.
- The pause for LLM autocompletion. Degrading grasp on language syntax.
- Less satisfaction in writing code.
In our world, in the advent of LLMs, we are being told to go fast or go home. However, great software needs a balance of time for better understanding what the software is doing and properly documenting them. My deep focus has reduced because of the context switching between thinking and LLM tools. Going to either extremes will not be beneficial. If I abandon LLMs, I will not get up to speed on how to improve my processes with the emerging technology. If I go all in on LLMs, regardless of my skillset, I’ll get dumber with time.
I was hanging out with ThePrimeagen and we looked at a tweet from Ghostly developer, Mitchell. This is the link to his post: @mitchellh’s tweet.
I took inspiration from him and decided to define a software process for myself in this age of LLMs to maximize the gains.
My New Software Development Process (The Writing Code Part)
- Do things manually with documentations.
- If you run into a problem, write a GitHub issue to detail your understanding of it.
- Deliver the github issue to an LLM to figure out the bug and suggest a fix.
- Let the LLM explain how it figured it out and what the solution does.
- Make manual updates and approve the fix if correct.
- Document the process.
That’s about it. I’ll observe to see if my deep focus restores to normal or even improves.
