Definitely depends on the person. There are definitely people who are getting 90% of their coding done with AI. I’m one of them. I have over a decade of experience and I consider coding to be the easiest but most laborious part of my job so it’s a welcome change.
One thing that’s really changed the game recently is RAG and tools with very good access to our company’s data. Good context makes a huge difference in the quality of the output. For my latest project, I’ve been using 3 internal tools. An LLM browser plugin which has access to our internal data and let’s you pin pages (and docs) you’re reading for extra focus. A coding assistant, which also has access to internal data and repos but is trained for coding. Unfortunately, it’s not integrated into our IDE. The IDE agent has RAG where you can pin specific files but without broader access to our internal data, its output is a lot poorer.
So my workflow is something like this: My company is already pretty diligent about documenting things so the first step is to write design documentation. The LLM plugin helps with research of some high level questions and helps delve into some of the details. Once that’s all reviewed and approved by everyone involved, we move into task breakdown and implementation.
First, I ask the LLM plugin to write a guide for how to implement a task, given the design documentation. I’m not interested in code, just a translation of design ideas and requirements into actionable steps (even if you don’t have the same setup as me, give this a try. Asking an LLM to reason its way through a guide helps it handle a lot more complicated tasks). Then, I pass that to the coding assistant for code creation, including any relevant files as context. That code gets copied to the IDE. The whole process takes a couple minutes at most and that gets you like 90% there.
Next is to get things compiling. This is either manual or in iteration with the coding assistant. Then before I worry about correctness, I focus on the tests. Get a good test suite up and it’ll catch any problems and let you reflector without causing regressions. Again, this may be partially manual and partially iteration with LLMs. Once the tests look good, then it’s time to get them passing. And this is the point where I start really reading through the code and getting things from 90% to 100%.
All in all, I’m still applying a lot of professional judgement throughout the whole process. But I get to focus on the parts where that judgement is actually needed and not the more mundane and toilsome parts of coding.
moormaan@lemmy.ca 2 weeks ago
Amen. Context is king, and managing context well is key to proper AI assisted coding. Also, staying accountable for the final output, as you stated in the end.
Not having good (or any in most cases) context management techniques is like saying your car is slowing you down because you have to push it everywhere you go.
I use NotebookLM to manage project context, and do scoping, planning and requirement elaboration which gets copied to Jira tickets (similar to what you explained in the first part) . On the coding side I use Claude Code with the Jira MCP. I use the copy-pasting between project and code domains to correct any mistakes AIs might have introduced. We developed a plugin which captures our engineering best practices and instructs the AI agent to discuss every aspect of the implementation and the task breakdown with the developer before writing any code or tests, as well as to keep a local progress tracker file for every ticket which also serves to capture any insights that emerged during the discussion. This file serves as long term memory between chat sessions, and also gets committed for future reference by humans and AI alike. And I always do a thorough self review towards the end.
I’m convinced beyond doubt coding without modern AI assistants and not gaining experience with them is a mistake. Resist the knee-jerk reaction to downvote comments which give you blueprints to evolve you practice because you have antipathy for AI. I don’t care about the little number at the top of this comment, but I think everyone should start learning and developing new techniques to improve their workflows.