While working on personal projects, it’s easy to start well, but slack off after you get half way through. Well it is for me, and I don’t think I’m alone. Many of my friends have the same problem. Here’s what it looks like. You start something cool, figure out how to do it, make a prototype, and then you just put it on a shelf. If you’re anything like me, you have a bunch of unfinished projects just sitting around doing nothing. You need to find someone or something that will push you to finish it.
This is isolated to personal projects. When there’s a paying client, the motivation based on a commitment to documented goals and the ramifications of failure to both finances and reputation. That provides enough motivation to drive the project to a successful end. There just isn’t much at stake when you are working on something for yourself. Let’s do something about that.
Set Real Goals
Pretend you’re doing this for a client. Start with a real goal, and if you need help with setting goals, talk with a friend. Having someone else to bounce ideas off of can provide a huge benefit. When you’re working with a client, you have multiple people thinking and talking about the project. Write those goals down. You could even do it just like a real job, and use your standard contract and design documents.
Simply put, this person will hold you accountable when you say you’re going to do something, even if it isn’t for them. They will ask you about the things you have mentioned, and you will definitely get some grief when you haven’t done anything lately. An accountability partner should be a close friend or someone you talk to frequently about this type of stuff. Hopefully you know someone who actually thinks the geeky stuff you’re doing in your spare time is cool.
This takes a more active role than just checking in on you regularly. It’s having somebody to sit next to you while you work. They don’t need to do anything but be there to offer a smile and listen to you when you have something to say or show. My wife or one of my kids will hang out with me while I work on some projects. For me moral support is very important, especially if there’s a chance the project will be frustrating or if it has the potential to make money.
Ask Yourself Why
What is it that makes you want to do something outside of work? Maybe the project is for your hobby, or maybe it’s related to your job. It is important to know why you are doing something. It certainly could be just because it’s fun, but if there’s more to it than that, you should find that out in the beginning.
You can, and should, use these things in combination with each other. Finishing your projects strong will give you something to show off. I wouldn’t put a prototype on display, but I certainly would show a polished finished product to the world. If you find that the project has lagged, restart it. There’s nothing wrong with restarting a project, resetting your goals, and making a new plan based on what you have already done. When I do a job for a client, I break it up into phases. Each phase feels like a sub-project that I’m starting.
Show Your Work
When you’re done, show your finished product to your friends and colleagues. If you’ve done a great job, I’m sure they will love it. Why not put it up for everyone to see? Offer it as a product for sale, or even make it shareware. It’s up to you what you do with it, but knowing that a bunch of people are using something you made is pretty cool, especially if they give you money. You may not get rich from it, but there are certain bragging rights that come with having your name on software that is cool, or has a bunch of users.
Ignore the naysayers. There will always be negative people who don’t like what you do. That’s just a fact. It is very easy to point out the flaws in something someone else has done. Even if the flaws are valid, let the negativity go. Version 1.0 of software is never perfect. If you care about the flaw someone else found, fix it in the next version, but try not to feel bad when there’s one person out there who doesn’t like it, because there’s always at least one. Keep in mind that the other 1000 people that didn’t say anything liked it. You will only hear from the people who hated it or loved it so much they couldn’t contain themselves. That’s just life on the internet.
If you aren’t currently making something new, go through your old code and find something that you started and bring it back to life. I’ve got quite a few to choose from, and I bet you do too.
When you’re ready to show the world, let us know. We’d love to see.