Being a programmer is boring…

September 24th, 2009

Don’t get me wrong: I love software engineering. I love developing applications and the challenges that we face when we have a complex problem and we have to model it and make it work. I really like the creative and technological aspects of programming. But talking as someone that has been for three years on some corporate companies, several projects and a few teams, that isn’t really what we do, is it?

From my point of view, here’s the cycle of generic corporate work:

  1. We enter a project, that may be starting or not and we meet the team
  2. We start by analyzing the project’s structure, learning how it works and what it does, during this time we may get some documents to read
  3. Then we get small tasks, like some bug fixes, minor development details and such
  4. Soon we start getting bigger tasks, and in time we’ll feel more confident on the project, we’ll know it well and start making ourselves profitable
  5. After the learning stage we become very valuable for the team, we’ll fix bugs faster, we’ll deploy faster, we’ll implement faster, and we’ll help the junior members of the team
  6. At some point we leave the project… maybe the project is finished, maybe we’re needed elsewhere, and we go back to step number one

Looking at these steps, I’d say that the best ones are 1,2,3 and 4. Learning is very important to keep me motivated. When I’m on a new project, I have to learn new technologies, new concepts, and the structure of the project. I’ll also get to know my team and I’ll learn a lot from them.

Step number 5 is the boring one. When we already know everything related to the project is when we’re most profitable for the company. At that time we mainly get to fix bugs, support the production environment, write documentation and maybe handle customers. We’ll also get new developments and changes, but often these new developments will collide with something already done that wasn’t expecting the new features. This may mean architectural changes that may prove quite annoying to accomplish.

When I’m at step 5, I feel my motivation getting lower every day. And the problem is, I spend the majority of my time at step 5. It comes a time when I get tired and start talking to management to get back to step 1, but management can’t allow that. Now that we’re important on the project, it isn’t easy to take us away, so we need to hang on, for the company’s sake.

Not all programmers dislike step 5. At step 5 developers have won a place on the team and are an important asset for the company: they reached the comfort zone. They may like it there, and sometimes step 5 provides some interesting challenges. Different people get motivated by different things. I’m not a step 5 type of people, but I know a lot that are, that really like what they do and they’re good a it.

This is, of course, my own point of view, and does not reflect the truth for other developers. For me, change is important, and the degree of different things I get to do everyday contributes to my motivation as a developer.

Related Posts

7 Responses to “Being a programmer is boring…”

  1. Alexandre Faria Says:

    Well, to be honest your problem might not be step 5 by itself, but the kind of projects you have at hand.

    Some projects are always dynamic, always flowing, always learning.

    Perhaps you weren’t made to develop but to research. Research is a lot harder, but more rewarding and has no comfort zone, its comfort zone is when its done, meaning just before when you take the jump again.

    Anyway research isn’t for anyone, like development, people that pretend that its the same, just don’t care about productivity or human happiness.

    But be warned, research is a lot harder, sometimes you look back and you think, if I’m not able to fix this bug, a full year’s work is lost.

    And you only finish when you finish, and not a day before. And you only know that you have finished when you have finished. The only guide you have is statistics that show some kind of convergence.

    Some find out what bugs you and search for your happiness.

    Good Luck.

  2. Nuno Silva Says:

    What can i say… Unfortunately i’m in the same position has you and share the same ideas has you.

    Life is hard. I only hope we can find our place.

  3. Jorge Pena Says:

    Sometimes I feel I’m exactly in the same place you describe. I like the exploring, finding out, coming up with solutions.
    But when the project enter step 5 as you describe it I loose interest and motivation.
    I’ve thought for sometime that I would like to work in research. Maybe it is a better match to my skills.
    Thanks for making me think about this and clarify the subject.

  4. Paulo Pires Says:

    i totally agree with alexandre faria. i’m in the best of two worlds research & development.. you research and you implement. but, you’re stressed 200% of the time.

  5. Peter Veentjer Says:

    Working in a corporate environment moved me to starting open source software :) At least I can do cool stuff at home and learn/explore and challenge myself technically.

    Working in a corporate environment costs me a lot of energy.
    Working on something cool gives me a lot of energy.

  6. Steven Says:

    I know the feeling. I’m only working a year now and I know what it feels like to be at step 5. I’m working on a project that ended in may but still requires small changes. The project itself was not new so I missed the designing part and now I’m the owner of a bloated, boring project that requires a lot of maintenance.
    But of course the company can’t afford to lose me because I’m the only one who can make the changes.

    Now I take every opportunity to do some other projects on the side, small websites or utility programs to help the datawarehouse team. This helps to keep me interested.

  7. Samuel Moura Says:

    May the truth be spoken! We all know, as developers, that same feeling quite well! :) Keeping oneself motivated in the flow of a normal workday in our job is an every day task.

    One should not let morale go down by doing the same thing every day.

    Someone once said that having 10 years of experience means nothing if what you did was repeat the same year 10 times!

    Cheers mate!