Code shower thoughts

Luxor Obelisks in Paris.
In 2019, I used to write Java. Mainly because I was a mobile developer and I worked on Android apps. Java is well known for being a boilerplate heavy language. Android development back then was no different.
What does it mean to be boilerplate-heavy? Take the ratio between product code to all code in a system. Boilerplate-heavy applications will have a higher amount of 'ceremonial' code compared to 'product' code.
Is that bad? Well it's worse than writing less code for sure. We're spending more time writing code that isn't a feature of the product. Ideally, the language/tool you're using should have you spending more time thinking of questions along the lines of
"What should the loading UI look like?"
instead of
"How do I manage the loading state?"
Now, don't get me wrong, I don't want to write Java in my future if I can help it. But there's a feeling I used to get more often from working in that language. I like to call it "code shower thoughts".
shower thought
(informal) An idea, often some minor epiphany, that occurs while showering or otherwise going about one’s everyday routine.
Keyword there is "routine". Writing a class instantiation in Java for the 100th time doesn't demand active thinking, it's routine. When I needed to write another C-style for-loop, I wasn't thinking about how. It was already routine. My brain can be elsewhere; thinking about product code.
This led me to a thought. Not about programming languages, but dev tooling. I do believe that every dev should become an expert in the tools of their daily craft. You shouldn't be as slow at navigating your IDE as when you started your career.
But is it really better to do everything as fast as possible?
Yeah, but only to a certain degree. I think there's a balance. It's beneficial to leave some room for your brain to run on autopilot sometimes. Give yourself time to think about what you're doing. Have some code shower thoughts.