I met a person recently who has a college degree in computer science. He works at a local pizza shop. The question this week is not really a question but my thoughts on the situation. What went wrong? Or did anything go wrong?

Programming can be rewarding in so many ways. It can be fun and challenging. But it can also be stressful and tedious.

Programming is not for everybody even though I think anybody can learn. A lot of people are attracted to the profession with the lure of high salaries, stock options, and easy work. The truth is, you can find these qualities in almost any profession.

I once knew a trapper in Washington. He had a small business catching wildlife. This meant that he would come out to people’s houses, set a trap, and ask the homeowner to call when the trap caught the animal. Then he would take the animal someplace far away and release it. He was making twice as much money as I was working for Microsoft.

Stock options also don’t always work out as expected or hoped. It takes years to vest and they sometimes aren’t worth anything. Don’t expect many options when you’re just getting started. Companies give out stock options to experienced employees and it doesn’t matter what the job is.

And how hard can it be to sit behind a desk in an air-conditioned office building? There’s no manual labor involved. No toxic chemicals. No dangerous machinery. But if you’re looking for an easy job, then programming is not it. If you’re not constantly doing better and improving, then you won’t last long. It takes more determination and focus than almost any other job. You can never let yourself get comfortable with your current skills.

Given all this, it’s no wonder that some people might try programming only to realize that the job’s not what was expected and they hate it. If you’re in a job that you hate, then get out. Now. Go become a trapper and make even more money.

I don’t think the common problem is that people don’t like their job though. And I also don’t think the real problem is with experience or grades. I could tell that the person making pizzas was intelligent and hard working. If a friend says, “Hey, why don’t you come by where I work and meet my manager? We can use somebody like you.” Well, after months of no responses and dwindling money in the bank, a regular paycheck looks pretty good. And once you take that step, it becomes harder to find a software job.

There are some things you can do to improve your chances. Here’s three tips that will help:

  1. Realize that rejection is normal. If you’re not being rejected, then you’re not applying to the right jobs. So don’t take no responses as a sign that you’re not suited to be a programmer.
  2. Realize that you need to be prepared and qualified. Bring tangible proof that you can do the job. Working on your own projects that you can show and describe and have a full discussion about your designs is one of the best ways to rise above the other applicants.
  3. And realize that this takes work. Spending your time in a temporary job takes away from your ability to do the work required to get a software job.