It&#x27;s really easy (and sometimes fun) to get mired in the &quot;planning&quot; phase of thing. You need to keep that drive when the things get more abstract and you&#x27;ll eventually find the same drive again.<p>For instance, choosing a method, that&#x27;s easy. Doing a bunch of brainstorming and coming up with projects to apply that method too, that&#x27;s easy (for me). It&#x27;s that next step, where you&#x27;re actually designing the infrastructure of the system that&#x27;s difficult. Suddenly you&#x27;re getting distracted by things like Operating Systems, web hosting, bandwidth requirements, APIs, etc. And it becomes this huge, abstract project.<p>It&#x27;s then that you need to stay focused. Even if you only commit to 20 minutes a day, you&#x27;ll be surprised how far you get. I find that really it doesn&#x27;t take that long for me to take an abstract problem and reduce it down to a component I can get up and running now. This reduces the amount of mental overhead I&#x27;m juggling drastically and allows me to continue.<p>It&#x27;s the same thing at work for me, have you ever had that experience where you finish a feature, and it&#x27;s time to jump into the next one? And it&#x27;s almost like you <i>can&#x27;t</i> do it. You need to breathe, because you&#x27;ve just been so focused at such a low level on this one feature, and suddenly you have to open your brain up to imagine the <i>entire</i> f#$@ing system again! And you need to connect end points, think about data structures, algorithms, libraries.<p>Another thing I recommend is trying to get some work done <i>before</i> you go to work. Your mind is pretty refreshed after a good nights rest and a decent breakfast, but much less so after two commutes and a good 8 hours in the office.<p>Finally, in my area there are a ton of meetups. A lot of these are just hacker hours. You get a bit of social activity and they tend to keep my focused (since who&#x27;s going to bust out Hulu and toss on Seinfeld at the monthly ViM meetup? There&#x27;s someone talking about macros up there! MACROS!). I&#x27;d recommend finding some of those. The interchange of ideas, and being able to bounce ideas off other practiced programmers is another tangible benefit.<p>And a free beer and slice of pizza (well never is definitely the wrong word here...) never hurt anyone.