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 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.

Listen to this episode for more or you can also read the full transcript below.

Transcript

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. One good thing is that you don’t have to pay taxes on options until you actually make a profit. They can be motivating, certainly. Just don’t expect many options when you’re just getting started. Companies give out stock options to experienced employees and it doesn’t matter if the job is programming or finance related.

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 have no idea if the person from the pizza place fits this scenario but I kind of doubt it. I think there’s a much simpler and more common explanation that I’ll talk about right after this message from our sponsor.

( Message from Sponsor )

Most people who learn programming do well in school. The choice to enter this degree is usually made by people who are interested and motivated and who have the required skill. In fact, you’ll probably find the math and science needed to get a degree are more than what’s needed on the job. I rarely need to perform much math at all at work. It takes a lot more critical thinking and logic than algebra to be a programmer. You can learn how to program on your own given only enough determination to push yourself and try new things.

I don’t think the real problem is with grades. I could tell that the person making pizzas was intelligent and hard working. I think the bigger problem is the number of applicants. I’ve been in the market for a software job many times and it’s tough. I’ve applied for hundreds of jobs and not heard back from a single company. And these are companies that are desperately looking for qualified candidates and for jobs that I was extremely qualified for. There was one time that I was looking for a job in Singapore. I was in Singapore at the time and applied with a local address and a local phone number. I went to job fairs and talked with recruiters. This went on for over 3 months and only one company, Google, showed any interest at all.

It took a lot of time and effort each day to apply to so many jobs. I’m sure that my application rarely got looked at. The pressure to find a job in a situation like this grows. Until it becomes any job. Even my family urged me to find any job even if it wasn’t related to software. The idea is to just get a temporary job and keep looking. Eventually something will turn up.

A person right out of school with little or no experience has even a harder time finding a programming job. And 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, I’ll tell you what, 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. New applications drop off because each work day is tiring. And then the weekends, or days off anyway, become a time to just relax.

And it’s not so bad, really. After a while, things settle into a rhythm. A promotion is likely. Soon you’re the assistant manager. And then you have your own store to manage. Years can go by but it really only takes maybe six months or so before you start to forget your programming skills.

I just realized this is turning out to be a fairly down episode. I don’t mean to discourage you from pursuing a software career. But I hope that the scenario I described is realistic and gives you the motivation to listen to my advice for avoiding it.

The first thing to realize is that rejection is normal and expected. 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. It just means that you haven’t yet found the company willing to take a serious look at your application. And even when you do find some companies who call you back, many of them will decide that they want to keep looking.

The second thing is that you need to be prepared and qualified for that opportunity. Don’t just show up for an interview with just your grades. And don’t apply for a software job when you don’t know how to program. 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.

And the last thing to realize is that all this takes work. More work than most other professions actually. Because not only do you need to do all the work of finding open positions and applying, you really need to be spending time creating software that you can demonstrate. This also improves your skills and keeps you up-to-date. You just can’t do all this while working part time at the mall or at the local discount store without a truly supreme effort to stay focused on your original goal.

This is why I think so many people with degrees end up working in jobs that are completely unrelated to their degree. I know because I’ve experienced the pressure myself. I avoided it because I kept my sights on the job I wanted and knew I could get and ignored the jobs that would steal my focus.