My new(est) mantra is “make it work before you leave.”
Programmer, Developer, Software Engineer, or whatever other name du jour I’m called, at the end of the day, I get paid to make a computer do what I tell it to do. Let’s focus on the “at the end of the day” piece of that statement for a minute. Also, set aside the fact that I’m a salaried employee, and would get paid the same even if I didn’t get a computer to do what I told it to do. For the longest time, as a programmer, my days would go something like this:
Loop until project “BigHuge” complete {
Turn on lights
Turn on workstation
Design and/or Code
Go home
}
For many years, I was very happy running this little life algorithm, collecting my paycheck, and going home to my family. At least I thought I was happy. Somewhere in the deep recesses of my soul there was something missing – especially on large projects, you know the kind that can span months. I realized, after a while, that the thrill of actually getting something done was missing. There is typically fanfare and a party at the end of a project, but us programmers have to have many highs throughout the project to keep us motivated. Without motivation, you get mediocrity. With mediocrity comes a poorer product, which leads to sagging sales, etceteras, and etceteras. I had to figure out a way to work on large projects and to keep myself out of the doldrums. To combat this battle fatigue I simply said to myself each and every day, “make something work before you leave for the day.”
Every day, before I leave work, I make sure I made at least one thing work. One thing that is getting me down the road to success for the whole project. One thing gets done at a time. One thing is done right, and then I move on. In affect, what I’ve done is made myself a better project manager. At the beginning of each project, I spend a couple of days writing the signatures for each of the classes and methods that I’ll be creating. Then, day by day, I work down the list. On some days, I have small victories, like being able to wrap the text in a label. On others, I have bigger victories, like passing XMLs back and forth with Chicago. I still get the big payoff at the end of the project when everything comes together, but I also get to celebrate my small successes along the way, and that’s the Big Picture Point to the story. After all, it’s the little things that keep us going.