Do you have a project that you were really excited about in the beginning but now your lack of motivation has you saying “Not that project again, bleh”? I think we all suffer from that once in awhile. Especially on those projects where we are not the lead or never thought of the project to begin with. How are we going to get excited about making a program to track the amortization of a truck for some trucking company? I decided to come up with a list of tips and tricks you can use, as a programmer, to stay motivated and get excited about a project.
Write down all your tasks in a list and challenge yourself to knock a few items off the list every day. If the tasks are not small enough to fit into a single day, can you break it up into smaller tasks? The idea here is that you want to be able to knock off a few items every day, so make sure each task is bite size. Maybe the task is a single function or perhaps it is a whole component. When you knock off items and see progress being made, you will get a sense of accomplishment and want to conquer more tasks. It can get addicting!
Keep asking yourself the question “what if?” and then challenge yourself to tackle it… that is if it fits in your task list you created from item 1 above. You made a nice little component that aggregates RSS feeds. But what if you made that widget into something that scrolls? Ok, it is now scrolling, but what if you made it read feeds in real time? How far can you go? Just make sure you do it on a separate branch and your are not feature bloating the project to hell. Branch, implement and show it off at the next meeting. If they like it, perhaps they will have you merge it. Worse case scenario is that they don’t want to merge it, then you learned something for a future project perhaps.
When you hit a milestone, reward yourself by getting a beer or buy some little thing off of ThinkGeek. Heck, go talk to that hot babe over at reception even though she would never ever go out with you. You hit a milestone man, you deserve that pat on the back!
Try making it a game with some fellow programmers. Who can find the most bugs? Who is the ultimate supreme uber-leet programmer in your part of the cubicle jungle? Just keep in mind here that it is all for fun and despite whoever finds the bug everyone benefits. You may have your off day, but tomorrow is another day and another game. You will win some and you will lose some.
If you have been working on a piece of code for a long time and things are slow going, change speeds and work on some other task for awhile. Then you can come back to the original task with a fresh perspective. No use getting yourself down on a tough problem when you can go away and come back and crack that tough problem wide open with a unique thought.
Participate and contribute as much as you can to group meetings. If you can contribute and get some fun tasks into the work flow of the project, then you will get yourself psyched up for the project because you helped make it happen. Perhaps you managed to get a really neat feature into the next development cycle that will help you learn something new.
Keep some interesting and thought provoking items at your desk. Hopefully you are at a company that lets you clutter up your desk with things that you enjoy. Action figures, toys, puzzles or perhaps your favorite Linus Torvalds quote. Ever notice that when you are deep in thought about a programming problem you are not always looking at your screen but perhaps something on your desk? If that item keeps you lighthearted, you may stay upbeat and motivated to push forward.
Take care of yourself and your health. When you are eating right and feeling good, you tend to concentrate more and can stay focused as well as motivated. How are you going to remain motivated if you are always crashing from your last Redbull? Get plenty of sleep and eat healthy foods in between pizza binges (yeah we know that pizza is healthy). Then you will drop some awesome code and make your milestones effortlessly. “Ok Robin, back to reception desk!”
Get into the habit of encouraging others in their work and hopefully they will encourage you in yours. Let them know when you think they wrote a kick ass class that you want to use. You will make their day and in turn they will surely make yours. There is nothing like hearing that your code has made a difference in your team and eventually to the client. So if you can help foster a great dynamic team environment it will help you stay motivated to do your best.
Sprinkle the tasks you like to do in between the tasks you don’t like to do. That way you may be doing something you don’t like now but you know right around the corner there is another fun project just waiting. If you do everything fun in the beginning you are left with a bunch of horrible stuff in the end. If you try to power through the stuff you hate in the beginning, it will seem like you are going long periods with no fun and your motivation will suffer.
If you can stay motivated by staying healthy, having fun, minimizing the crap jobs and keep spirits high the work will turn into a job you will love and then you will not be working anymore, you will be growing and breaking down walls. Do you have some tricks for staying motivated? We would love to hear them. Tell us all about it in the comments below!
Martyr2 is the founder of the Coders Lexicon and author of the new ebooks "The Programmers Idea Book" and "Diagnosing the Problem" . He has been a programmer for over 18 years. He works for a hot application development company in Vancouver Canada which service some of the biggest telecoms in the world. He has won numerous awards for his mentoring in software development and contributes regularly to several communities around the web. He is an expert in numerous languages including .NET, PHP, C/C++, Java and more.
The brain child of Martyr2, Dream.In.Code Mentor and veteran programmer, the Coders Lexicon is a website dedicated to the advancement of computer programming and technology. It offers advice, coding resources and references to cover web and desktop development.