Back in the days when computers were larger than refrigerators, developers were divided between applications and systems programmers. The applications programmers built the software that ran the business while the systems people wrote the code that kept the computer running. With the advent of desktop PCs and Web servers, these distinctions have blurred, but programming jobs still vary widely in salary and skill sets. Consider which of these jobs categories best fit your interests and abilities.
Business application programmers create the desktop programs and websites that keep businesses running. Jobs abound in almost any medium to large business and, according to the U.S. Bureau of Labor Statistics, seasoned developers earned an average of $88,000 in 2010. Successful developers combine their knowledge of programming, systems analysis, databases and Web technologies with an understanding of how their businesses run. Many applications programmers have bachelor's degrees with majors in computer science and minors in business.
While some systems programmers still build the operating systems and utilities that keep a computer running, the field has spread into a number of different disciplines. These developers now build embedded software for medical devices, create network software for communications gear or write the control programs that run refrigerators or washing machines. Software engineering jobs can be found in a variety of industries including computer and electronic manufacturers, aerospace, medical device manufacturers and telecommunications. The U.S. Bureau of Labor Statistics reports salaries slightly higher than that of applications development, at an average $97,000 in 2010. They combine skills in computer science with knowledge of engineering disciplines, science and electronics. Most have bachelors or advanced degrees in engineering, math or computer science.
Although some Web programmers create business applications, many more work for companies like Google, Facebook or Amazon. These companies provide a variety of programming jobs that combine both applications and systems programming skills. Network architects design the server and communications infrastructure and create the software that manages network traffic. Security specialists create the software that filters threats; server side developers create search software, social network sites and electronic commerce. Most Web developers have bachelors or advanced degrees in computer science, engineering, math or physics.
Walk into a restaurant, coffee shop or city street and everyone seems to be staring at a cell phone or tablet device. According to a 2010 CNBC article, demand for mobile developers far exceeded supply, and this demand continues to rise as organizations embrace new device initiatives. Mobile developers will need many of the same skills required to succeed in Web development, but with the added complexities that arise from programming different types of phones and tablets.