There is a significant chunk of time spent on how to address your problem, how to break it down, thinking how it will perform in real life concurrently, etc. Sitting down and coding like you are on caffeine overdrive is not the full range of “programming” (at least in my neck of the woods).
I see a lot of people mentioning 20x in here. Would they fire 20 devs tomorrow and eat their own dogfood?
At this point if we get larger context windows and LLMs become able to break down problems to include fetching relevant code into context when needed, and perhaps with the addition of some oversight training about not removing functionality, the qualty will get much, much better.
But already they are a massive time saver and they are good at some of the more boring aspects of writing code, leaving the engineer to do more systems thinking and problem solving.
Maybe, but they are rare. Still a welcome boost, though.
—- Take a look at this code from my multi-mode (a la vim or old terminal apps) block-based content editor.
I want to build on the keyboard interface and introduce a simple way to have simple commands with small popup. E.g. after doing "A" in "view" mode, show user a popup that expects H,T,I, or V.
Or, after pressing "P" in view mode - show a small popup that has an text input waiting for the permission role for the page.
Don't implement the changes, just think through how to extend existing code to make logic like that simple.
Remember, I like simple code, I don't like spaghetti code and many small classes/files.
It's one of those things where a language aware autocomplete will often save me more time, because it doesn't try and second guess me.
If anyone has a YT video or a detailed article, please show me!