What's the right middle ground approach to this? I agree that inevitably my more advanced software approaches at work have been compromised by reliance on LLMs, especially given encouragement from management. Are there specific prompts/instructions people find that allow for learning and iterative development without slowing down the actual development cycle too much? I want to keep learning and keep my skills sharp but it feels like a losing battle.

Use it not just as an output tool but as an input as well.

You could try doing the high level design yourself at least. Ask for its review and iterate without asking it to do it all.

Once it has generated some implementation, critique it and ensure you understand its approach And you agree with it, steer it otherwise.

If there’s anything unclear to you say so and have it rewrite it in an easier way to understand.

Yes, use Matt Pocock's /grilling skill to make sure you're thinking about and understanding and signing off on the _technical design_.