It's a really hard balance to find, especially in the working world.
The simplicity or complexity of a problem is not always correlated to the simplicity or complexity of the solution.
Simple Problem: Determine if a computer program will terminate in finite time or run forever.
The solution is both infintely simple ("You can't") and complex, i.e. explaining why "you can't" or coming up with heuristics, such as those used by Windows and macOS for apps "Not Responding".
In industry, if you don't think about all the complexities of a problem ("Nobody knew health care could be so complicated" -US President), it can be your neck. On the other hand, if you can find a wonderfuly simple solution to a problem, sometimes you can retire on it.
The problem is that the simple solution never comes from underthinking, but only overthinking.
The term "overthinking" usually comes from going down rabbit-holes that you think you have to go down because of some assumption.
Here's another example: planning seating at a wedding party. If you don't know, this can drive you nuts. Uncle Bob cannot sit next to Cousin Phil, etc. Before you know it, you're looking up the NP-complete SAT problem. But in this case, you could be over thinking it. You could side-step the whole problem if you have an open bar, a great playlist (DJs are the worst), and a great dance floor. Or you could just let people pick their own seating and keep the party short.
So to answer the original question, when someone says I'm "overthinking it" it makes me feel like I got caught in the weeds with a problem. I need to take a little step back and see what is the real problem I'm trying to solve.
Totally agree with all of this. Well put!
I read a great Thoughbot article called Start with the Problem that I think of when I get into the "overthinking" zone. I find it helpful to step back from my particular solution and take another look at the actual problem I'm trying to solve. After having been stuck in the weeds, changing perspective can be all that's necessary to get un-stuck.
Totally agree, sometimes you end up making the solution a problem in of itself, and forget about the actual problem at hand.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.