Dennis Ritchie. Ken Thompson. Tim Berners-Lee. Though you may not have heard of them, these are the creators of C, UNIX and HTML, respectively. Although they aren't as famous as Bill Gates or Mark Zuckerberg, unsung techies known as computer programmers are behind all the computer languages, operating systems and continuing innovations that make the internet what it is.
It's easy to take for granted that computers perform as expected. The software that tells the computer what to do, and behind every piece of software are computer programmers who envision it, design it, and determine how to write the code that brings the design to life.
Creating the software is just the beginning, however. Before it can become a viable product, the creator or other computer programmers test the software to make sure it works well in different situations. When it doesn't, they set about trying to find the "bugs," or glitches, that are causing the problems and rewrite the code in those areas to fix them.
Other programmers make changes to adapt the code to their needs. For example, a company may buy generic software for a task such as accounting, but it turns out that the company operates a bit differently and some of the software functions need to be altered. Another computer programmer, at the manufacturer or the vendor or the user's company, rewrites the necessary code to make it fit the end user's needs.
Sometimes, bugs aren't found until programs have been in use for a while. When that happens, computer programmers work to fix those glitches with new code. For this reason, and because advances are always underway in the industry, computer programmers in the original manufacturer's IT department are always working on updates. These are the 2.0, 2.1 and so on versions that are introduced at some point after the original software.
While it's true that Mark Zuckerberg dropped out of Harvard in his sophomore year because he and his friends wanted to invest their time in the further development of Facebook, Zuckerberg began studying programming in middle school and had a private tutor to teach him more. If you're such a prodigy with an idea and the know-how, you may want to take your idea to a tech company or an investor right now.
Most people, though, regardless of how highly intelligent they may be, need at least a bachelor's degree to work as a computer programmer. It doesn't have to be from Harvard or MIT, though. Graduates with computer science degrees from state colleges and universities are hired every day.
Future programmers take many computer science classes in college and learn several computer languages such as C++ and Java. They study computer systems, artificial intelligence, system and program design, writing code, testing programs and math, all of which is needed in computer science.
Taking some business and management courses as electives help you see how your work relates to the profitability of a business and could give you an edge in interviews down the road when you're being considered for promotions.
Try to secure as many internships as you can during your college years. Unless you know a job area you particularly want to work in, such as testing, shoot for a variety of work environments and job tasks so you can see what each is like. This gives you variety on your resume, which can help during interviews for your first post-college job.
Attention to detail and the ability to focus for long periods are important skills for computer programmers to have. The problem in a program may come down to one tiny piece of code in a long string, and finding it takes patience and determination.
Unlike health care, which is an industry on its own, computer programmers are employed in nearly every type of industry. Think of how widespread computer usage is. It's difficult to name an area that doesn't use computers.
Software companies hire computer programmers to design, test, debug and update programs. Large companies have information technology (IT) departments with computer programmers who customize programs to the companies' specific needs and those who teach other employees how a program works.
Programmers typically work alone, though they may be part of a team working on a larger project. Working alone can be stressful when they have deadline pressures or can't figure out how to solve a problem.
Years of Experience and Salary
So, how much does a computer programmer make? The programmer median pay annually as of May 2017 was $82,240. Divided by 12, that comes to $6853.33 per month.
With experience and continuing education, computer programmers can gain the knowledge and abilities needed to become software developers (median salary $103,560), network architects who build communications networks (median salary $104,650), computer and information systems managers (median salary $139,220), and other advanced jobs that pay more than the typical computer programmer salary. A median salary is the midpoint in a list of salaries for one occupation, where half earn more, and half earn less.
Job Growth Trend
Although computer programmers are needed in a wide range of industries, companies often hire employees in other countries who work for less money. Therefore, employment for computer programmers in the U.S. is expected to decline by 7 percent from 2016 to 2026. Managing overseas employees comes with added costs, though, and some companies have brought their programming operations back to the U.S. Hiring also depends on the economy and new advances and inventions in the field.
Having a bachelor's degree, knowledge of several computer languages, and staying on top of new advances with continuing education give you an edge in employment opportunities.