"staying focused"
i'm reposting this from my other weblog. mainly, i think this is a topic we'd all love to hear more about. if you have any of your own theories, comment away!
so today it happened again. a conversation over email i feel i must share with the world. here's the first message in the series, from a friend and colleague, posted to a mailing list we're both on.
So I'm a programmer. What does this mean? It means I'm responsible for delivering a product based on some specs, Right. We're all pretty much in the same position.
I have found myself these last two weeks, really getting a ton of coding done. I seem to go in streaks; sometimes I feel useless, and other times I feel like the day really rocked and I got a lot done.
Here's my question?
What do you do to stay focused on coding, to be productive. There is so much other crap to interfere with this all day. E-mail, meetings, phone calls, MSDN, coding tips, those damn user groups :), girlfriends/boyfriends, lunch, snacks, internet surfing, day dreaming, planning, paying bills, reading forums, researching (which I count as productivity if it's work related).
As you are reading this (if it's during the work day) you're slacking; Right?
I'm thinking of only checking my e-mail 2 times a day. Once in the morning, before I leave for work, and once after lunch. It seems like e-mail is where most of my time gets wasted. This message is a perfect example :)
What tricks do you have to help me be more productive?
Thanks for the help
i had to contemplate this, once i (ironically) had enough time to read it. my response is listed below:
I never stop coding. That's just it. You figure out the mentality that works for you when you're coding, and you stay in that mode. Always. When you're coding, of course, but when you're showering, driving, moving to a new home, doing anything. You take a consistently analytical view of the world and spend each and every waking moment contemplating something. You never, ever allow yourself to get too far "away from the machine." Here's some more things of a virtuous nature, that when adopted will allow you to keep trucking.
Drive
Think of Einstein. He had 7 suits, all exactly the same, so that he didn't have to think about "what to wear."
Consistency
Always do something. Read something, sit down for a little while just to write a simple class. Think of a problem you had this week, write a class to fix it. You can always find a few moments to do something in your code. So when you get those moments, write some code.
Reliability
Maintain a repository. Or 4. When you're exercising previous habitual behavior, do so in your repository.
Read
Need I say more? If you're on the web, spend time reading stuff that's relevant. With rss, this process is expedited for you. Your news and that which you're interested in will find you. All you have to do is take a moment to read it.
Concentrate on Efficiency
No matter what you're doing - driving to the mall, talking to a friend, riding a bike, shopping for groceries. Make sure this is a-priority numero uno. Keep your eye on what you've got to do, prioritize according to the size of explosion that will incur if you don't meet respective deadlines, and push on.
Simplification
Make your life simple. If work is of the essence, chances are that your priorities are completely out of whack. Partners hate your code. Parents don't understand and think you're playing games. Co-workers hate that you aren't personable, because you're always sitting there, headphones blaring, coding as fast as you can. Whatever the case may be, the more into this world you are the faster you work. The faster you can work the more you can get done. Find the simplest way to code, and you'll most likely simplify your work.
Given that you're in this because you love it so much and that (if you follow these simple guidelines :) ) you can now execute much more efficiently, you'll have time for all the other stuff you like to do.
Coding. Its not just a job, its an adventure.