The diary and photos of Chris Beach. I'm into windsurfing, coding, badminton, drawing and composing music using computers and synths.

Let's start with a quote:
"I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours" Stephen Roberts


email: password:

seven tips to get your personal projects off the ground - understand your role as your own project manager

The web projects you give yourself are far more interesting than the software development you do in your day job, if you're like me. My evenings are often filled with thrilling, inspiring niche web projects that beg to be developed so they can one day make me rich and well-known. Annoyingly though, few of them get off the ground before those niches are filled by someone else. Whether it's motivational stalemate, technical trouble or endless returns to the drawing board, I tend to lose interest and give up.

Seven tips to get your personal projects off the ground - don’t forget your role as your own project managerI'm a decent developer, but I'm definitely doing something wrong. Recently I considered from a "management" point of view what I should be doing differently to get these projects off the ground. I imagined a situation where I was a project manager, managing a developer. How would I feel in the shoes of that developer? Well, most of the time my manager would be sitting on his arse watching me code, only occasionally piping up that I'm not working hard enough, so I'm not very happy at all. I know from my day job that managers should be doing much more than that. If this was a paid development role, I would have handed my resignation long ago.

So, let's propose that every one of your personal projects requires a project manager and that manager is you. How do you become the kind of manager that you would respect and work hard for?

  1. Motivation comes in wavesAccept that motivation comes in waves. So, if you (the developer) doesn't feel like working on your personal project this weekend then take a break for a few days. My guess is that you've been productive for a while now, and this is just a natural downer. Don’t let this be "game over" for your project. In real-life work we have a 5-days-on, 2-days-off policy. Give your personal project the same cycle, and bear in mind the "40-hours on / 16-hours off" week in your day job might scale to a "3-weeks-on / 1-week-off" for your spare-time project. That’s a whole week off where you forget about your web master-plan. Take time out from your project and ensure you banish feelings of guilt. Focus on something else, or nothing at all, and your motivation will naturally renew itself. Nothing motivates me more than being "stuck" in a no-tech zone like the countryside for a few days. As a manager, it's your job to build a timetable that sets a healthy balance between time on and off the project.
  2. Set some goals for you to achieve throughout the project. Without milestones, you are relying on the fun of development to maintain your motivation. What happens when you get to a boring data migration after a schema change? Inspire yourself through boring tasks with the promise of an interesting section later on your task list. Try to make your goals specific - there's no point in having a goal that reads "getting the project done". With a set of goals in mind, tackle them one by one, but don't be inflexible. If you get stuck on a single task, move onto another and return later in the day. You'll find your subconscious mind may have done some problem solving on that tough task whilst you're working on another. Always maintain a tangible sense of achievement (you might want to physically cross the goals off a sheet of paper). Don't set so many that you become a full-time project administrator.
  3. Failing projects are a drain on resources – in this case your spare time and morale. A project manager spots a failing project and fixes it or ends it. Never undervalue your free time, and don't plug away at something that's not working. Either fix the project or quit while you're ahead - while you still have some motivation for other projects left. How do we "fix" a project? Nine times out of ten, simply reduce the scope.



  4. Home OfficeYour office environment in a day job is governed by a manager. The lack of TV and video games is probably his choice rather than yours. At home, you are your own project manager, and every so often you need to make choices that your staff (i.e. you) might not like. Do the TV and PS3 next to your PC benefit your personal project? Does your girlfriend enjoy your bedroom becoming a personal study? Make yourself a space where you can focus on your project without distractions. Buy a laptop and a 3G/Bluetooth mobile phone and take them for long walks in the countryside (or Starbucks for us city types). Find a work environment that keeps your developer happy and focused.
  5. A manager spots when employees are causing morale issues, and takes action against them. There's an office bully in your personal project, disrupting you, the developer. He's reminding you of your earlier failures, and he's firmly entrenched in your mind, knocking your confidence. Get back into project manager mode. You hired the clown, so you're equally capable of firing him. Don't let a negative attitude ruin your motivation and override your talent. Also, disassociate with any doubters you encounter. Surround yourself with friends that inspire you and believe in your projects.
  6. Reference booksWhat kind of project manager would deny his developer a £20 reference book? You, the developer, should demand resources at home like you do at work. You, the project manager should take the training of your developer seriously and shell out a little cash now and again. Or are you going to watch him spend half a day wading through Google searches?
  7. Decide your project framework based on its suitability to the project and the budget. If a PHP developer suggests using Rails because it sounds like fun, this is where you step in and intervene as a project manager, for both of your sakes. Take some time. Choose and justify the framework based on the cost (your free-time hours and remaining morale) of learning the framework, and migrating logic/data to and from the framework. The project manager knows from prior experience that the "framework of the month" might need a little investigation before it proves its suitability for the project *
    * The exception to this rule is when your personal project is part of a deliberate investigation of the strengths and weaknesses of the "framework of the month"

Above all, be a caring and motivational project manager. No IT professional needs to be micro-managed, particularly not in their spare time when they could be watching TV. Consider your needs as a developer, your motivational cycles, and the things that get in the way of your personal projects. You've got the talent to code, and you could be a good manager too. With both "hats" on, your personal projects will succeed.

written by Chris Beach
14/01/08 02:50pm
(4 months ago)

commentone comment

photoadd photo

post to del.icio.usdigg it!permalink

6 links

[view more journal entries from tech journal]