I use it (LLMs / GPT-4) as a sort of "realtime intern" to offload the more commoditised tasks that I don't really need to do - and that I don't contribute unique value to by doing myself. So some boilerplate CSS layout code, sketching out unit tests, initial stubs of API client code. Lots of "filling in the gaps" - which frees me up to spend more time thinking about higher level architecture, structure, business problems, abstraction/refactoring, planning, design etc.
Due to the way my brain seems to work, it also keeps me from getting stuck on small distracting problems which would previously create some resistance or procrastination - causing a break in my flow of work. It essentially keeps me in a productive flow state for longer periods than I could sustain without it. Any problem that is not in my "critical path" that I want to be focused on in the moment, and that could be easily solved by an LLM, gets "outsourced" as such.
This is in addition to it replacing about 80% of my software development / devops related Google searches. Because I work across quite a wide range of disciplines, I'm often looking for quick answers to questions about some technology stack that I'm not using daily. It's perfect for that. And I have enough familiarity with what I'm working with to sense-check/QA the responses.
I believe you do need some subject matter knowledge and experience to get the best out of LLMs though. I think many people are verbatim copy/pasting code out and complaining when it doesn't work. I very rarely find I waste any time debugging or correcting problems - because I either spot them and correct them in real time - still saving me a lot of time regardless - or I structure my prompts in a way that avoids these problems in the first place - by breaking the request down in to granular enough parts that I can pretty much predict how accurate the response will be (most of the time; very).
And in the scenarios where there is a bit of back and forth, trying different ideas and debugging in realtime - this is almost always a much faster (net) process than if I had done the same iteration myself.
As a point on usage and confidentiality, I don't use integrated coding assistants like Copilot - everything I do is sandboxed - so nothing confidential goes into the LLM. Specific details in my prompts are "anonymised" as I enter them (as in, I self-censor) - so I get the benefit of a lot of assistance from LLMs but with no sharing of any information that I would deem confidential. I plan to experiment with tighter integration into my workflow (eg. Copilot type assistance) with a private LLM instance at some point, but I'm comfortable with the balance of productivity and confidentiality at this point.
I do also have a Hammerspoon shortcut that will take the currently highlighted text in any app, and send it directly into OpenAI's endpoint. So I can highlight a mixture of comments and/or code in my IDE and immediately send them to GPT-4 and have that highlighted text replaced (or appended to) by the response. This gives me contextual assistance without having a constant live feed into a proprietary LLM ala Copilot.