Best Technology Jobs

Computer Programmer

Job Profile
Reviews & Advice
Job Listings
Civil Engineer
Computer Support Specialist
Computer Systems Administrator
Computer Systems Analyst
Database Administrator
Information Security Analyst
IT Manager
Mechanical Engineer
Software Developer
Web Developer
All Rankings Lists »
Overall Score
(6.9 out of 10)

Number of Jobs


Median Salary


Unemployment Rate

4.5 percent

Show Jobs Near:
This Job is Ranked in
Best Technology Jobs #9
The 100 Best Jobs #30

Shhh. Don't tell the machine you're using to read this, but computer programmers are essentially its taskmaster. They boss around our computers via lines upon lines of source code containing high-level algorithms and mind-numbing logic. Computer programmers write these easy-to-follow instructions in one of the many computer languages in existence, the most common of which are C++ and Python. In most cases, this writing process comes after software developers or engineers pass along design specifications for a particular program. The programmer refines the ideas, solving problems while converting the aspect into code. Programmers will also rewrite, debug, maintain and test (and retest) software and programs that instruct the computer to accomplish certain tasks, such as storing or retrieving data, so the computer can perform better and more efficiently. According to Barry Warsaw, Ubuntu platform software engineer for Canonical, a distributor of the Ubuntu Linux operating system, talented programmers have two basic career tracks they can follow: "In some jobs, they traditionally move into management positions, at which point they may program very little or not at all," says Warsaw, who's worked mostly in the free software and open-source world for the past 30 years. "In others, they can retain their programming skills by assuming more technical and project leadership roles."

Programming certainly has its share of stressful days, but it's important to not get worked up. "Being able to stay calm, get enough sleep, eat right and keep your mental clarity is critical to your long-term survival as a programmer," Warsaw advises. He also says that since telecommuting has become a more common perk of computer programmer jobs, it's of vital importance to focus on your work and not get distracted by mundane things like laundry or other errands. "It's also important to step away from the computer when work is done, spend time with family or just recharge your batteries," he says. "The amount of flexibility you will have to do this depends greatly on your job and employer, but there's no doubt that long-term persistent stress will eventually lead to burnout."

Between 2012 and 2022, the Bureau of Labor Statistics projects employment for the industry, which already boasts 316,790 professionals, to grow 8.3 percent. The profession's strong expected growth (as well as high median salary) helped computer programmer place No. 30 in our ranking of The Best Jobs of 2014.


The BLS reports the median annual wage for computer programmers was $74,280 in 2012. The best-paid 10 percent in the field made approximately $117,890, while the bottom 10 percent made approximately $42,850. The highest-paid in the profession work in the metropolitan areas of Santa Fe, N.M., Bethesda, Md., and Anniston, Ala.

Salary Range

75th Percentile $94,130
Median $74,280
25th Percentile $56,440


Many computer programmer jobs require at least a bachelor's degree, but a two-year degree or certificate may be adequate for some positions. Some programmers hold a college degree in information systems, computer science or mathematics. Students seeking software engineering or programming jobs can improve their employment outlook by getting an internship. Large computer and consulting firms often train new employees in intensive, company-based programs.

Reviews & Advice

Warsaw sees programming being pervasive, diverse and specialized. "You might need knowledge of a particular programming language or expertise in a particular domain, but you often also need to be a generalist willing to take on any task even if you’re not an expert with the technology," Warsaw says. "For example, if you are doing front-end Web development, you might need strong visual design skills, experience in user testing and a knowledge of JavaScript. If you are doing back-end systems development, you might need SQL [database] and multiprocessing experience, along with fluency in the C, C++, Python, Perl, Java and Ruby languages."

In Warsaw's opinion, being able to learn and collaborate are two underestimated, yet critical, skills for a computer programmer to possess. "Learning is crucial to a long career as a programmer because technology changes so quickly. The hot language you are an expert in today may end up being a programming backwater tomorrow," he says. Warsaw, who works with people from all over the world on a daily basis, emphasizes that the ability to clearly communicate ideas and listen to the ideas of others is fundamental to building a successful career. "I think the myth of the lone programmer locked in a dark cubicle is mostly just that – a myth," he says.

Job Satisfaction

Upward Mobility good Above Average
Stress Level poor Above Average
Flexibility fair Average
See Salaries

How much do computer programmers make in your city?

Indeed job search

Powered by

Last updated by Nathan Hellman.

Similar jobs you might be interested in...

$77,080 Average Salary

#12 in U.S. News Best Jobs

$90,060 Average Salary

#1 in U.S. News Best Jobs

Reader Comments

Need a Job? See Who's Hiring

Computer Programmer Jobs Near


    See Other Job Listings

    Jobs by Indeed

    Online Degree Programs

    See schools with online programs in your chosen field in a few simple steps.

    Find Online Degree Programs

    U.S. News University Directory

    Follow U.S. News

    U.S. News Advisor Finder

    Looking for an advisor? Find a financial professional near you.