ADHDer here. I can help with this.<p>When you are stuck, it probably means you are too focused. You should turn your attention-thermostat more toward the exploratory side of things. You also probably want to talk the problem through with a coworker whom you like who is good at being a sounding board.<p>------------------<p># Explanation: Working Memory and Scope of Attention<p># Working Memory<p>You know how a computer processor has registers and it performs operations on the values stored in those registers?
Your brain has Working Memory and it can hold 4-9 "chunks" of information. More if you are relaxed and confident in your social position, Fewer chunks if you are stressed or worried about being kicked out of your social group.<p>A "chunk" is any piece of information that you are able to think about as a single thing.<p>- Your own home address is 1 chunk<p>- A stranger's home address is 4 chunks (house number, street name, city+state, postcode)<p>- A stranger's address whom you've said out loud a couple times is 2 chunks I guess.<p>- A design pattern you know well is 1 or 2 chunks.<p>- A design pattern you've not yet learned is 5-15 chunks.<p>Your brain decides what to hold in your Working Memory based on a whole lot of things. The mental act of focusing is ignoring ideas and stimuli in order to preserve specific information in your working memory. If you google "mindfulness meditation" or "sniper breath control technique" and try doing either, you can observe this process in action.<p>> I am a new grad<p>Great. Picture a massive undirected graph of all the wikipedia articles and their links to each other. Now picture a graph of all conceivable ideas and the conceptual links that might lead the thought of one to lead to another. When you focus, you tell your brain "If the concept doesn't seem like X, don't traverse this edge."<p>In your case, it seems like you are telling your brain "If adding the new idea doesn't mean that I can put together full solution from what is in Working Memory, stop." Well it turns out that code and design patterns can be complicated and trying to do the whole thing at once might take more Working Memory than you have. However, doing the imperfect solution would:<p>1) Take some of the complexity out of your head and put it into a text editor. Thus, it would also "chunk" it and free up space in your working memory for manipulating the rest of the complexity.<p>2) Cause you to traverse the graph of ideas more. With your working memory freed up, you might spot a solution which is based on the crappy version but closer to what you want.<p>So my advice is to ego for a walk for a bit and let your brain expand the set of possibly-relevant ideas.