Home Page

Article by: Ted Kolovos (www.CSharpUniversity.com)

Welcome!  Relax and enjoy yourself as you read this.  May I have your full attention please?

Ever wonder why some programmers always seem to get better?  They get the jobs they like.  They become experts.  They develop on fun, rewarding projects.  They make good money.  They fit the definition of success.  Let’s call this the Happy Zone.

Yet other programmers always seem to make little progress.  For some reason the right opportunities are never there.  They feel frustrated about the projects they develop on.  Perhaps they’re not happy about the money they’re making.  Let’s call this the Unhappy Zone.

So, why does this happen?  Why do these vast disparities exist?  Are you in either one of those categories right now?  I’ve been in both of them during the course of my programming career and the Happy Zone is MUCH, MUCH better!

In this series of articles, we’re going to take an interesting look at 3 of the common career mistakes programmers make that keep them in the Unhappy Zone.  By looking at these and evaluating your own situation, you will be one step closer to the Happy Zone.  Perhaps if you are already in the Happy Zone, my hopes are that you can get to the Super Happy Zone:)

This article is devoted to the first common career mistake programmers make: They Do Not Motivate Themselves!

Motivation is so important in programming because you have to spend many hours learning, coding, testing, etc.  Let’s face it; if you plan to get good at programming and have a rewarding career, you need motivation.

Let’s chat about motivation in three parts:
1) What motivation actually is.
2) Why motivation is important and why you must do it yourself.
3) How to motivate yourself!

What’s Motivation?
So what is motivation?  If you look-up the word “motivate” you will see synonyms like “induce”, “move” and “cause”.  You can think of motivation as a force that causes you to take action.

Do you have a desire to improve any part of your programming career?  Then you probably already have some motivation.  Depending on what it is that you want to improve, you may have a little motivation, or a lot.

Why is motivation important?
Motivation is critical to your success because it’s what induces you to take action and achieve your goals.  There are many potential rewards that could motivate you to work towards your goals:

  • For Financial Gain
  • To Feel a Sense of Achievement
  • Desire To Improve Something About Yourself
  • Relieve Frustration
  • Desire To Do Something New or Work With New People
  • Many others…

The more motivated you are, the more goals you will achieve.

More Motivation means Achieving Goals

Less Motivation = Less Chance of Achieving Goals
More Motivation = Higher Chance of Achieving Goals

Why do you have to motivate yourself?
Because if you sit around waiting for someone to inspire you or tell you what you need to do in order to live your programming dreams, what do you think will happen?  That’s right.  Probably nothing.

Successful programmers are able to motivate themselves!  They don’t need anybody to tell them what needs to be done.  This is VERY important to understand.  Others may inspire you and you may even have mentors, but ultimately the best person to motivate yourself is you.  Your future is controlled by you.

How can you motivate yourself?
The key to generating motivation in your programming career is by MANIPULATING YOUR EMOTIONS!  That’s right.  Sound kinda weird?  I know.  It’s actually pretty simple and you don’t need to have a degree in psychology either (although if you do it doesn’t hurt).

The way this works is like this: if you aim for goals that give you the rewards you want, you will conjure up positive emotions.  The more powerful and positive your emotions are, the more motivation you will have.  Strong emotions are great motivators. There are practical mental strategies and exercises that you can use to tweak your emotions in a positive way.

Here’s an easy question and answer technique that’s a great first step motivational exercise.  Ask yourself these two questions:

What is it that you want?  Think of a goal that you desire in your programming career.  Let’s pretend for demonstration purposes that your goal is to “become an ASP.NET programming consultant and work on a large Internet web application”.

Why do you want it?  Asking yourself “why” helps you identify your reasons for making the goal become a reality.  Here are some example reasons for demonstration that someone might want to be a programmer on a large Internet application:

  • It can be very rewarding to know that thousands of people are using your software application every day.
  • You can really feel a sense of achievement after completing a challenging large scale project.
  • It can be very exciting to have many new consulting opportunities to choose from because companies are always looking for Web programmers that have large scale application experience.
  • With the money from consulting, you can afford that sports car that you’ve been dreaming about.  It’s going to be so much fun driving it.

Did you notice something that all of these example reasons have in common with each other?  They all contain words that invoke positive emotions: “rewarding”, “sense of achievement”, “exciting”, “new opportunities” and “so much fun”.

Repeat this simple motivational exercise on your own.  You can use it anytime you are creating new goals.  Remember to include positive and compelling emotions in your reasons when you answer “why do you want it?”.  This will give your brain more energy to focus on fulfilling your goals.  You can start the process of generating motivation this way and you can create a positive image in your mind of your future.

Stay tuned for part 2 where I’m going to give you some secret mental strategies to generate tons of motivation and hopefully keep inspiring you.

In the meantime, what motivates you?  What are the things that you want in your programming career?  Have you ever made the mistake of not motivating yourself?  Quickly leave a comment.  I’d love to hear from you!


  1. So, what motivated me to learn programming?
    First of all, I like it.
    It is fun to create nice applications and make good money in addition.
    I think it would be a real pleasure to have my own software company and make tons of money in addition.

    Thank you, Ted.

    Waiting for Part 2.

    Comment by Elena — January 15, 2010 @ 5:02 pm

  2. Elena,

    What kind of applications to you write?
    Sounds like owning your own software company can be your Super Happy Zone! I hope your dream comes true.

    Comment by ted — January 15, 2010 @ 10:08 pm

  3. Hi Ted, I like this article. I think this issue needs to be discussed more among us geeks. Sometimes we get put in very demanding situations where we can hardly see straight. I do this kind of self-talk and self-assessment a lot. Actually it is important for every person to pull aside a little each day and look over the day’s occurrences and where they fit in with the path he has in his mind. You can make a tremendous difference in your day-to-day life just by strengthening your focus.

    Comment by Jean — January 16, 2010 @ 7:30 am

  4. I like this article very much as well. I find the advice especially relevant to me because I definitely do not like my current job. It helps me to think about motivating myself, but in my case to look for a new job and to continue to be willing to respond to new challenges where I need to learn new things. One thing I did wrong with my current job was attempting to learn too many new things all at once. I need to establish a “managed learning program” for myself where I give myself the opportunity to learn new things in a controlled way and always have the chance to practice the skills acquired and gain real expertise in them. This article is very timely for me as a result. I would suggest updating it over time to add some case histories of people in different programming career paths.

    Comment by Bob Cochran — January 16, 2010 @ 10:43 am

RSS feed for comments on this post.

Leave a comment