

10 Ways to Improve Your Programming Productivity - moorage
http://www.matthewpaulmoore.com/articles/443-10-ways-to-improve-your-programming-productivity
A collection of some old methods, revisited. After looking back and trying to figure out what separates one [productive] day from the next [unproductive day], here are some commonalities I've noticed.
======
andr
1) I have a little switch on my laptop that turns WiFi on. When I need to
focus, I just turn it off. I only allow myself to turn it on if it's a
development-related thing I need to do.

2) I use my down time (subway, boring classes, etc.) to work out what I need
to do next. I start with a high-level todo of features then iteratively break
them down to smaller pieces, usually going as detailed as function signatures
and database table design. Not only does it make it easier to get work done
once I get to the computer, but putting the design of a feature in the back of
my mind for a few hours will usually bring out the design flaws before I write
a single line of code. (My red pocket Moleskine works great.)

3) If I haven't done the feature design ahead of time, when I start a new
complex method, I write the method as English comments, one step per line.
After that, I write the implementation of each comment in code.

~~~
hernan7
+1 on 2) and 3). In my case, unless the logic of the program is very simple, I
always try make a sketch of what I am going to program before I start --
either on paper or text editor.

Of course, YMMV. Others will be more productive just plunging into the program
head first.

------
DarrenStuart
excellent read, I agree with pretty much all of it.

my tip for not being side tracked is...

make your home page on your development machine blank.

Being a webdeveloper I found everytime I open my browser with igoogle I would
get sidetracked by some story.

I have also taken to getting up earlier and reading all I can first thing and
then just getting on with it.

~~~
raju
Agreed. Great read. And the second point

Leave Yourself a Place to Start (or: Leave work with something small broken)

is something I do all the time. I work Java at my day job, and have found that
leaving out the semi-colon at the last place I touched (so that eclipse shows
a compile error) really helps me get back to what I was doing the previous
evening (or the friday before) so much quicker.

And the last point, get to know your tools. I am currently trying to learn
emacs, but I have pretty much mastered eclipse (and other tools that I use).
Not having to use the mouse to get to different views and perspectives to
browsing around for files, absolutely necessary for improving your
productivity at work.

In addition to the last point, getting to know additional tools outside of the
development environment really helps. I read websites like lifehacker and have
learned of tools like Launchy (on windows). Yes, it takes a while to get used
to these tools, but once you have figured them out and configured them to your
liking, you can really fly. Though i do get made fun of at work, considering
the number of shortcut key combinations that I keep in my head. Invariably,
someone will stop by to ask me for a key combo, and I have to type it out
because a lot of the times its muscle memory.

[My apologies for the long post]

~~~
hernan7
Great idea about that semicolon.

~~~
Hexstream
Yeah, the missing semicolon basically represents a continuation to his state
of mind at the time of exiting the programming function.

------
aflag
I agree with the guy, but my problem lays not in not knowing how to be more
productive. The real issue is to get to actually follow those tips.

Every now and then I see myself buried in work and having to work 24x7. When I
get like that, after solving the most imediate problem, I kinda reboot to the
point where I actually follow good guidelines for productivity. After a few
months, though, I get all burried on work again. My goal is to make this cycle
so big that I progressively need less reboots. But it's hard to keep on track
all the time with such a distractive and beatiful world around.

------
webwright
Is this a underhanded pitch for me to shill for RescueTime?! I won't do it, I
tell you. I WON'T!

