Time and Motivation

Published October 07, 2007
Advertisement
Many beginners - not absolute beginners, but beginners still - ask questions pertaining to finding time and the motivation to stick with a project with large scope. There are a variety of non-answer responses, such as, "You should write smaller programs," or "Break it up into smaller parts, then treat each part as a project so that you get to complete several in turn." Those are useful bits of advice, but they don't answer the question.

So what's the answer to the question? You make it.

I'm a professional software developer. My day job might be killing me - this past week I had days of 9 am to 2 am and 10 am to 4 am - so I inherently don't have a lot of spare time, particularly not to devote to another programming project. I have a girlfriend, and I have to spend time with her. So when do I work on this resource?

I try to do things like program on the subway train, when coming back from work. (I can't do it when going, usually, because I go with my girlfriend, and the train is packed so I'm standing; balancing a laptop in my hands sufficiently to type while avoiding falling due to the train's movement... not my style.) Sometimes I'm too burnt out after work, so it has to wait until I'm rested, or late at night. And sometimes it goes several days, or over a week. On previous projects I've gone weeks without touching code. And my subway downtime is a peculiarity of those who live in large cities with developed public transit systems - a rarity in the USA.

The truth about when I code for this project? At work. I keep the project window open all day, and whenever I've got some time to spare, I throw in some code. I may not necessarily build - having a manager walk by and see a game of Pong on your screen is far more troubling than seeing you peering at an IDE - but I'll prototype and use the interactive shell to evaluate various conditions. I can also read up on documentation I need to implement a feature, and maybe even write a small snippet. I can work on non-visual aspects, like when I wrote the 2d vector type at the office.

If you want to do something bad enough, you'll make the time. Just remember to be fair: don't cheat your employer by falling behind on your assigned tasks. That's cheating yourself, too, by lowering your reputation.

As for motivation, I guess I really can't speak to that. I've been doing this so consistently for so long - I've tried to walk away from programming and games and technology at least twice, and failed. This is my life. People who ask about motivation may simply be in the wrong career. If you don't have a passion for this, then look around for something you do have a passion for.

What have your experiences been?

Tomorrow - today, now - I get the day off. I have errands to run, of course, and I'll check in on work stuff, but I should be able to use some of the time to get some code written. In between watching all those foreign DVDs I rented. Hmm... foreign means I have to read the dialog. Bummer!
0 likes 3 comments

Comments

coderx75
I find that dabbling with personal projects on company time is actually productive (when not abused). Hammering away at the same problem 12 hours a day is never productive (IMO) and having something available at work to allow you to step away from that problem relieves some of the stress. I tend to come back to it with a new perspective/approach/etc. Although I'm discrete about working on personal projects at work, I don't see it as "cheating" the company. It's better than chatting by the coffee machine or (worst of all) playing Solitaire. If you gotta get away, you gotta get away.

I do research, take notes on any ideas I may have or concepts I come up with, psuedocode, write small prototypes, etc. When taking notes and psuedocoding, I always use notepad. So, I position notepad to look like it's part of the IDE to anyone looking at it from a distance (even up close it's hard to tell it's not part of the IDE.)
October 08, 2007 04:55 PM
Telastyn
At my current place of employ, I have a fairly standard employee agreement that prevents such practices. Any proof you spend any company time or resources on your personal project and the company gets all ownership. I've heard too many stories of too many guys being screwed by such things so hobby projects are off limits.

I'll ponder design or implementation, but no code. I won't even connect to the repository... Probably best for my productivity anyways.


Still, I think the problem isn't so much that people cannot find time as they've unreasonable expectations as to how long something takes, or the skill of people who can bang out something fantastic in a few days.
October 08, 2007 06:55 PM
jollyjeffers
Quote:I have a fairly standard employee agreement that prevents such practices.
Curiously I don't with my current employer, but IBM were very strict on this. You had to declare any OSS projects you contributed to in your spare time and your involvement in a project could be terminated if they decided it conflicted. This happened to someone working on the Java networking stack at IBM and contributing to Thunderbird at the weekends [rolleyes]

Quote:What have your experiences been?
My main one is that I both consciously and unconsciously downgrade my involvement in ANY project because I don't want to over promise and under deliver. I've done that too many times since working and I value my reputation and credibility enough to avoid doing it again...

In general I'll have peaks and troughs - '3D Pipes in D3D10' is seemingly dead at the moment, but at some point soon (don't know when) I'll probably burn an entire weekend on it. Productivity will go through the roof and then I'll get busy with the day job and I won't touch it for another month...

Jack
October 10, 2007 01:31 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement