Taking a literal step away tends to help. I've often realized new approaches or epiphanies when mulling a problem while walking or in the subway.
Taking a literal step away tends to help. I've often realized new approaches or epiphanies when mulling a problem while walking or in the subway.
I used to get frustrated and send angry emails / phone calls. Now I get away from the desk for a bit and mull it over for a few hours before doing anything. The method hasn't failed me yet
What do I want this program to do? What will make me want to use it, and what will be a deal breaker?
Once I finish thinking this through, I 'become' a programmer again and get to work. Often I find that things that seem a big deal at a coding level either don't matter, or are the wrong things to worry about.
I can, but I've met plenty of bright people who simply haven't learned that ability yet.
It does work wonders for myself though. I am well-balanced between wanting technical excellence, ease-of-use and usefulness. It helps my job relations a lot.
They're not there to allocate resources or assign work or create schedules. They're supposed to be in that "higher perspective" headspace most of the time, so that by the time their decisions turn into actionable work...it's been through these mental filters.
Your business idea is where you'll likely be innovating - trying to use X language/pattern/stack to do something no other developers are talking about us a good sign that you may be going down a rabbit hole.
Further, often I've found some of the biggest problems in product development, turn out to be things that can be discarded or shouldn't have been in in the first place. Something that was adding complexity unnecessarily for example, a feature that you don't know for certain will be useful, etc.; it's a hint as to the difficulty in finding a satisfactory resolution in the first place.
The serial killer hiding in the bushes...
Edit: Jokes aside, I agree. It is very calming.
Tomorrow-me usually has a some fresh ideas and energy.