Coding agents when writing code is the bottleneck
Table of Contents
Today I realized how useful coding agents can be when writing code _is_ the bottleneck
With a new AI-powered coding agent being announced seemingly every other day, we must remind ourselves that writing code was never the bottleneck...
... except when it is.
The context
Working as a contractor means dealing with company policies that weren't designed for my dev setup - or my peace of mind. Not being formally employed incentivizes clients to be more careful when sharing confidential information or intellectual property.
I am currently working for a company that doesn't allow code, messages or any other form of intellectual property to be stored on contractor's machines. Instead, we are required to connect remotely to Windows Virtual Desktop (WVD)1 instances even if all we want is to send a message on Microsoft Teams2. And, of course, there's no native client for connecting to WVDs on Ubuntu (my OS) - so I need to use a web client. So far, this interaction can be represented by the following Mermaid diagram:
sequenceDiagram participant My Machine participant WVD My Machine<<->>WVD: latency Note over My Machine,WVD: via a web browser
You would think that that is already painful enough, right? Wrong. On top of this, all software development is done on Azure DevOps code servers accessed via Microsoft Edge3 - so the road from my laptop to the code I want to write now looks like this:
sequenceDiagram participant My Machine participant WVD participant Code Server My Machine<<->>WVD: latency WVD<<->>Code Server: more latency Note over My Machine,WVD: via my web browser Note over WVD,Code Server: via Edge
If you want, you can also consider that the web browsers in the middle include additional latency. The fact is that this whole setup means that characters I type on my keyboard sometimes take 2 seconds to appear on the screen. There's also a delay when moving the mouse that causes me to frequently click on the wrong thing. Oh, and have I mentioned that the WVD instances we're running only have 8GB of RAM - definitely not enough when you're running a Windows machine listening to a remote connection (i.e. me) with Teams and Edge open?
Maybe I'm just not as skilled as you are, dear reader... but all this limitation really damages my productivity. Simple coding tasks turn into exercises in frustration. Typing code, inspecting files, and even browsing the internet - all of this became a nightmare. Suddenly, writing code became the bottleneck.
But then, enter coding agents to save the day.
Coding agents for the win
The code servers at our disposal come with Cline pre-installed as a VS Code extension, an in-IDE coding agent that doesn't question its own sanity as often as I do. I've been relying heavily on Cline to write code for me. It is fairly capable of handling most coding tasks, and is also quite fast. Additionally, our development team did a good job of defining .clinerules
, so the bot understands the codebase structure without me having to specify it all the time. Plus Cline's website is kinda cute.
While the coding agent does the dirty work, I can focus on the bigger picture. I think about the problem (a bugfix or a new implementation), design the solution, and let Cline handle the implementation details. It also helps that Cline proposes changes progressively, one file at a time. This allows me to review and refine the code without juggling multiple windows or tabs, which is a huge win given the latency of context switching.
It's not all roses, of course. Coding agents can be very stubborn, and often make mistakes that require manual intervention. Additionally, they don't understand the nuances of the project or the task at hand unless I provide them with more context or guidance. Moreover, I have this feeling that the code generated by coding agents is of median quality at best, requiring further refinement and polishing before I'm satisfied and ready to include it in my pull request.
Closing thoughts
I'm not here to advocate for coding agents and LLMs in general. These tools must be used responsibly and are not suitable for all tasks.
The article Writing Code Was Never The Bottleneck is right on point, and I highly recommend reading it. It was just funny that I found myself in a situation where, yes, writing code was the bottleneck - and that an AI coding agent became my savior.