Discussion about this post

User's avatar
Michał's avatar

I have very similar observations like you Oskar. I gave it a very simple task of improving code coverage in the existing codebase (small python project). I used Cursor. I was positively surprised by the automation factor. It could run certain commands to get current coverage percent. It could run/rerun the tests to check for improvements, etc. Then the magic started to fade away. It struggled to write improving tests. I directed it in some course and it could make it work. The sad part is ... I could have done it way faster without struggling to describe "the obvious" sometimes. I still prefer to have fun writing the code even the boilerplate :)

Expand full comment
Architecture Corner's avatar

I agree that the productivity gains are inflated for the real case of production code -- not the vibe nature. To begin with, developers do not spend 100% of their time in the mechanical task of typing. Whatever gains we can get are on the portion of the development effort that mostly entails the actual code generation part.

I do not want to go in the comparison with junior dev but maybe to share that my perspective of investing time in the requirements to actually be a positive thing if taken properly.

I subscribe to the first solve the problem and then code, and spending some time to do exactly that helps you to understand, with LLM or not, what is path to be taken.

As long as you do that in a continuous and incremental fashion, like you would in any "agile" approach, the risk of big design upfront or rational rose/waterfall diminishes.

If I were to guess I would say the factor to me is more likely 1.25x than 10 but still positive. At least for business applications. I can't speak on using it for developing frameworks or other types.

Things that _helped_ me:

- having my coding / architecture standards documented in .md instruction files (what libraries to use, my definitions of entities, value objects, security, infrastructure etc)

- using a spec / PRD

- asking it to do small iterations and update an execution plan

Not perfect and sometimes enfuriating when something simple goes wrong but mostly positive.

Expand full comment
3 more comments...

No posts