Computer programmers write code instructing computer systems to perform specific tasks. Devices that rely on programming include PCs, smartphones, GPS systems, factory robots and more. Programmers generally specialize in a particular type of software, such as server software, system software, office applications or wireless or Web applications. Applications programmers create computing tools, while systems programmers write the system software that runs these tools.
Programmers generally work on teams with software engineers and developers, executing part of a software design. They bring expertise in computer programming languages relevant to a particular type of software. Popular programming languages include Python and C++ and Java for Web applications. Some programmers use computer-assisted software engineering (CASE) tools, which automate parts of the programming process. Programmers may also adapt code for specific purposes using libraries of basic programs. Depending on their level of expertise, programmers may write code or participate in higher-level development activities such as producing detailed logical flow charts, developing project specifications or designing software.
Computer programmer training and certifications
Expertise and advanced training opens the door to a successful computer programming career. An associate or bachelor's degree in computer programming, computer science or information systems offers the basic qualification to become a computer programmer. To forge a successful career in the U.S., however, it is increasingly important to develop advanced or specialized programming skills.
Computer programmers rely on continuing education and certification programs to build skills in new programming languages or to develop an area of expertise. The Bureau of Labor Statistics claims that certification "is a way to demonstrate a level of competence and may provide a job seeker with a competitive advantage."
Key certifications for computer programmers include both vendor-specific and general qualifications. Valuable vendor-specific programs include:
- SAS: SAS Certified Base Programmer and SAS Certified Advanced Programmer are valuable credentials for enterprise programmers building data management applications. SAS also offers specialized certifications such as Certified Clinical Trials Programmer/Analyst, designed for programmers who use SAS software to analyze clinical trials data.
- SANS GIAC: The Global Information Assurance Certification program helps programmers break into the high-demand specialty of information security programming. Certifications include GIAC Secure Software Programmer--Java and Secure Software Programmer--.NET. SANS GIAC certifications rank among the top certifications by salary, according to a 2009 Certification magazine report, with an average salary of $105,780.
- Oracle: Sun software certifications have evolved into Oracle programs, following the latter's acquisition of Sun's software tools. Popular certs for programmers include the Oracle Certified Professional, Java SE5 or SE6 Programmer qualifications. In addition, programmers can upgrade their skills with developer-level certifications such as the Java ME 1 Mobile Application Developer.
- Microsoft: Microsoft offers several valuable certifications to help programmers advance into software development roles. Programs include Microsoft Certified Professional Developer (MCPD), Microsoft Certified Application Developer (MCAD) and Microsoft Certified Solution Developer (MCSD).
Computer programming is a versatile skill in high demand worldwide, as computer technology drives more and more of the global economy. Consumer products, telecommunications and media are just a few of the industries shaped by digital technology. While the U.S. labor market may be shedding jobs at the entry level, programmers can plan for success by developing an advanced or specialized skill set.
What is the job outlook for computer programming careers?
Computer programmers face varied prospects depending on their level of expertise. Entry-level programming jobs are gravitating overseas, as offshore programming teams offer businesses a way to cut costs. At the same time, however, overall demand for experienced programmers is being buoyed by advances in programming technology. Programmers with expert skills in the latest technology will still find opportunities in the U.S. labor market. In addition, programmers adept at higher-level software development tasks such as business needs analysis and design will find healthy demand for their skills.
The BLS reports an expected overall increase in jobs for computer software engineers and computer programmers, with 21 percent job growth forecast for the 2008 and 2018 period. Yet the BLS breakdown by level of expertise contains a varied picture. First, the bad news: employment of computer programmers is expected to decline slowly, shedding jobs at a rate of 3 percent between 2008 and 2018. The good news: programmers skilled in "more complex and sophisticated information technology functions" should fare better. Specifically, programmers with advanced, up-to-date expertise in programming languages, software design, analyst or management skills can expect "much faster than average" growth. Specialized knowledge of high-priority development areas such as information security should also bolster employment opportunities.
What is the average computer programmer salary?
Computer programmers earned an average salary of $74,900 in 2010, according to the BLS. Computerworld's 2011 Salary Survey reported a 1.5 percent increase in earnings in 2011, bringing the average programmer salary to $76,953.
With advanced expertise, computer programmers have the potential to boost their income significantly. The BLS reports that computer software engineers and developers, who design software and manage the development process, earned average salaries of $90,170 for applications specialists and $96,620 for systems software specialists.