Programmers make big bucks. Software developers dress casual every day of the week. Anyone can teach themselves to be a programmer. These are just a few of the reasons why people say they want to become a developer. Unfortunately, the job market is littered with people who may have had the raw intelligence or maybe even the knowledge, but not the right attitude or personality to become a good programmer. Here are a few things to consider when deciding whether you should become a software developer.
Check out this free ebook for a look at other IT job roles to help you decide if they're a good fit for you.
1. You'd rather be trained than self-teach
In most development shops, there is rarely any training, even if the company has a training program in place for other employees. At best, the company might reimburse you for a book you buy. Programmers are expected to arrive on their first day with all (or at least most ) of the skills they need. Even worse, the assumption is that programmers are really smart people who are good at problem solving. That assumption leads upper management to believe that good programmers do not need training. Finally, training for developers is expensive. The result? When you change positions, you will need to figure out what is going on yourself, and you will probably need to teach yourself.
SEE: Is a developer career right for you? 10 questions to ask yourself (TechRepublic)
2. You like regular working hours
Software development projects are notorious for being late. Even the projects that are delivered on time always seem to run behind schedule at some point. If you don't like (or can't handle) irregular or fluctuating demands on your time by your employer, development is not for you. When crunch time comes, your employer is more concerned with getting the product in the hands of a million-dollar client than with your child's soccer game.
3. You prefer regular raises to job-hopping
The world of development is one of continual erosion of skill value. Unless you're working at a shop that deals with slow-to-change technologies, chances are your skill set is less valuable every day. The state of the art is changing rapidly, and the skills that are hot today will be ho-hum tomorrow. As a result, it's difficult to sit at the same desk doing the same work every day and expect a raise that exceeds a cost-of-living increase. You need to keep your skills up to date just to maintain your current value. In addition, if you want to boost your paycheck, you need to expand your skill set significantly and either earn an internal promotion or go to another company.
4. You don't get along well with others
It's one thing to be an introverted person or to prefer to work by yourself. It's another thing to be unable to get along with others, and it can sink you as a developer. Not only that, your manager may well be a nontechnical person (or a technical person who has not worked hands-on in some time), so you need to be able to express yourself to nontechnical people.
SEE: Getting started with Python: A list of free resources (TechRepublic PDF)
5. You are easily frustrated
Software development is often quite frustrating. Documentation is outdated or wrong, the previous programmer wrote unreadable code, the boss has rules to follow that make no sense... the list is endless. But no one wants to be working next to someone who is always cursing under their breath or screaming at the monitor. If you're the kind of person who goes insane spending eight hours to do what appears to be 10 minutes' worth of work, this is not a career for you.
6. You are close-minded to others' ideas
In programming, lots of problems have more than one "right" answer. If you don't handle criticism well, or don't care to hear the suggestions of others, you might miss something important. For example, a few weeks ago, one of our junior-level people made a suggestion to me. After considering it for a bit, I decided to try it. It turned out that he was right and I was wrong, and his suggestion brought the time to execute a piece of code from multiple days to a few hours. Ignoring this person due to the difference in our experience levels would have been foolish.
7. You aren't a "details person"
Programming is all about the details. Something as simple as a missing period can mean the difference between random failure and perfect success. If you're the type of person who might not figure out where the missing period is, your career will be limited in range, at best.
8. You don't take personal pride in your work
Sure, it's possible to program by the book and do a passable job. The problem is, the book keeps getting rewritten. Software development is not a factory job where you tighten the same bolt all day long, where a touch too much or too little torque makes no difference. It requires independent thought, which in turn requires the people doing the work to take pride in it. Furthermore, it's easy to do something the wrong way and have it work just well enough to end up in production. That "little error" you turn a blind eye to—since it doesn't seem to cause any problems—will cause problems. Programmers who don't treat each project as something to be proud of turn out poor quality work. And that makes their careers short-lived.
9. You prefer to shoot first and ask questions later
Software developers, at least the good ones, spend a lot more time planning what they're going to type than actually typing. Usually, when coders just open up their code editor and start banging away at the keyboard, most of what they write gets ripped out later. Programmers who ponder, consider, and plan write better code in less time with fewer problems. There's a reason so many programmers barely know how to type properly: The hard part of the job is knowing what to type. People who don't invest the time up front in their zeal to get started with the "real work" are actually skimping on the "real work." If you're a doer and not a thinker, software development is probably not a good career choice for you.
10. You don't like geeky people
For a bunch of reasons (some legitimate), a lot of people just don't enjoy being around the engineer or techie personality. If you have a hard time with the Dilbert or Weird Al personality type, don't even consider going into programming. Are all developers like that? Of course not. But they make up a large portion of the workforce, so you'll end up unhappy in the industry.
Does the developer role seem right for you? These resources can help
- How to become a developer: A cheat sheet (TechRepublic)
- 15 books every programmer should read (free TechRepublic PDF)
- Software developers are changing: They want to learn in different ways (ZDNet)
- How to build a successful developer career (free TechRepublic PDF)
- Hiring kit: IoT developer(Tech Pro Research)
- Hiring kit: Python developer (Tech Pro Research)
- 10 things CTOs wish developers knew about tech and business (TechRepublic)
- Top coding languages that pay the best for developers (ZDNet)
Are you thinking about becoming a developer—or did you make that decision awhile back? Share your insights and experiences with fellow TechRepublic members.
Justin James is an OutSystems MVP, architect, and developer with expertise in SaaS applications and enterprise applications.