Saturday, May 1, 2010

4 Ways To Become a Better Developer, in No Time

If you're like me, you're working hard to find the right work/life balance. In that game, I think any little edge can be of value. Here are 4 tips I use to self-improve without sacrificing any time from the 'personal' side of the ledger.

Multi-purpose your MP3 player
If you have an MP3 player, put some tech-talks on it as well as music. Then when you're out doing something that allows effective multi-tasking, listen to them. I like to go running, on some days I'll listen to a podcast on software engineering. Google will help you find lots of good podcasts, one of the best sources is "Software Engineering Radio", found here.

Put a tech book (or at least tech tutorial printout) in your car
There are going to be times when you end up waiting somewhere-- these are ideal times to read material you just might not have time for otherwise. Probably my favorite example is a shopping trip. My wife loves to shop, I hate it. But now I just leave a tech book in the car, which I take out only after we get to the store we're driving to. Once we're there, I let her go through the store while I catch up on my reading. Then when she's done at that store, I put the book down as we talk and drive to the next place. Everybody's happy! (Warning: We programmers can be overly focused sometimes, which can lead to spousal displeasure. Be cognizant of the fact that you shouldn't keep reading once your spouse returns to the car!)

Take a book to the Oil Change
If you're like me, you've got two cars in the family. That means every 3 months somebody's going to be going to the shop for at least an hour-- twice! To make these waits more bearable, I've started taking a book in with me. The same technique works well at the doctor's office-- sitting in the waiting area for my checkup can be time well spent!

Leave a 'Boot-Up' Task for Tomorrow
My work laptop takes a long time (several minutes, at least) to boot up. This isn't because the machine is overloaded or needs a cleanup-- it's because this is when corporate IT pushes scripts and patches onto the box. I like to leave myself something to work on while this is going on-- a small diagram reminding myself what I was working on, a tech document, a to-do list to think about, etc. Then when my machine is busy waking up, I can start getting myself back into the right mindset.

I'm sure there are a lot of other ways to effectively use time that would otherwise be spent unproductively. If you've got a favorite, please leave it as a comment.

Happy Coding!


Ijon Tichy the Nth said...

You're spot on!
I'll give the a try. For some reason I got it into my head that tech related info and 'radio' don't go together. Maybe it's time to do away with that notion.

Funny that you mentioned doctor's waiting room. A good while back J. Baker's 'Beginning Java Objects' got me through some of the nastiest times life decided to dish out.

max said...

This is the answer to become a better programmer? Spend all those little precious spare minutes you do have to cram more programming into your head?

You forgot about taking your iPhone to the bathroom with you so you can read more programming blogs.

That philosophy may benefit those who are just starting out and trying to get ahead, but I find that "getting away" and focusing on something completely different for awhile (like fishing), actually helps me to be a better programmer.

And this has nothing to do with programming by the just makes good sense to not drown yourself in any one endeavor for too long. You have to occasionally clear your head to maintain some perspective.

Anonymous said...

Thanks for se-radio link - hadn't come across that before, and looks like it will be just the job for the gym.


Sara said...

thanks, nice post :)
the radio link is great too

Peter Kahn said...

Nice one. I especially like the boot up task. I'm a big fan of ITConversations podcasts. I load them on my phone and listen while going laundry, driving to work, doing yard work. Who knew the speaker phone feature would be useful for something. No reason to suffer through the boring tasks when they can become interesting and enhance my skills.