Computer programming may sound like a career that requires significant academic training in math, computer science and other deep subjects. The truth of the matter, though, is that computer programming vocational schools offer programs that you may be able to complete without leaving your current job. Graduates of computer programming schools may also qualify for a range of positions where programming skills can be useful, such as computer support or Web development. Most computer programmers and related professionals work in an office environment, although some may work independently as self-employed freelancers.
What does a computer programmer do?
Exactly what you'll be doing as a computer programmer tends to vary from employer to employer or one project to the next, but there is a list of general duties that most computer programming jobs have in common:
- Choosing the right programming language for the project
- Writing the program and ensuring that the code compiles without errors
- Using an integrated development environment (IDE) to test the program
- Simplifying the program's code by using code libraries
Although most computer programmers work a regular 9-to-5 job, some may have the opportunity to work during whatever hours of the day they are most productive. Employers may require programmers to come to a fixed location for work or may permit them to work remotely as long as production targets are met.
How to become a computer programmer
Computer programmer education requirements aren't subject to a national licensing standard, so employers tend to set their own rules for how much education is necessary for a given job. You may be asked to submit a few examples of past programming work, in order to clearly demonstrate that you have the skills necessary to produce quality code.
Typically, the curriculum for an associate degree in computer programming takes a broad approach to the field. Students learn the basics of many aspects of the job and drill down to focus on one or two specifics. Here's a short list of courses you're likely to see on your way to a programming degree:
- Data structures
- Object-oriented programming
- Web scripting
- Programming language courses (C++, C#, Java, Visual Basic, etc.)
- Database fundamentals
- Project management
- Information technology architectures
Computer programming degrees
Although the highest paying programming jobs may require at least a bachelor's degree, an associate degree or certificate in computer programming can give you enough confidence and experience to land an entry-level position. Here's some info about a few types of program available at computer programming trade schools:
- Undergraduate certificates are the shortest-term study plans at computer programming trade and vocational schools. These programs focus on just a few aspects of the job and may take as little as a single semester to complete.
- Associate degree plans typically contain courses on multiple programming languages and provide more insight into the theory and history of the profession. They typically require about two years of full-time study and contain general education sections that can usually be transferred to a bachelor's program.
- Diploma programs are something of a middle ground between the two types listed above. Many of them require nearly as many credit hours as associate degree programs but contain fewer general education courses, concentrating your study on career-relevant subjects.
Any one of these formats may meet the computer programming education requirements set by employers, depending on the job you're seeking. It can be helpful to discuss your goals with an adviser before choosing which program to pursue.
Computer programming schools online
Since there's typically very little hands-on work involved in programs at computer programming schools, online degrees are available from a range of institutions. There are typically very few differences in curriculum between campus-based and online computer programming courses, although the delivery method may take some getting used to.
If you're comfortable interacting on the Internet and have a fair degree of tech savvy, attending computer programming schools online might be just right for you. It's important to note, though, that online courses don't serve as an "easy A" alternative to those offered on campus. You'll need to keep yourself motivated and engaged without the benefit of the traditional classroom environment.
Computer programming certifications
Certifications play a big role in the greater IT world, and computer programming is certainly no exception. Becoming certified can serve as proof of your skill, and employers for the highest paid programming jobs often include a list of certifications they're looking for when posting an open position.
Here's a list of programming certifications that boost employability for graduates of computer programming schools:
- C++ Certified Associate Programmer (CPA)
- CIW Perl Specialist
- Java EE and Web Services
- Java SE
You may also be able to use the skills you learned in school to become certified in other areas of the IT field. Talk with your professors or search online certification resources for more info.
Career advancement options in computer programming
Education and experience are two of the biggest drivers of career advancement for computer programmers. If you enter the field with a diploma or an associate degree, for example, returning to school to earn your bachelor's in computer science or a related field can have a favorable effect on your chances of landing a job as a systems analyst or software developer.
Earning certifications can help as well. Software and hardware vendors may offer certification options that bundle programming skills with more general IT knowledge, such as the Microsoft Certified Solutions Developer (MCSD) and Microsoft Certified Professional Developer (MCPD) credentials.
Moving into managerial or supervisory positions is another avenue for computer programmer career advancement, especially for workers who have several years of experience on the job. Computer and information systems managers may need some formal education in business or management, but certificate programs in those subjects are fairly easy to find.
Skills and abilities for computer programmers
The Occupational Information Network (O*NET) lists a range of skills and abilities that can be great assets to someone embarking on a computer programming career. Here are a few of the top entries:
- Reading comprehension can help you understand potentially complex guidelines for a project and help you sniff out syntax errors in your code
- Complex problem solving is an essential skill, particularly when you need to find workarounds in difficult situations
- Information ordering, or the ability to correctly organize a chain of tasks, can help you write code that flows naturally
- Selective attention allows you to concentrate on a specific task for extended periods of time without distraction
- Systems analysis skills can help you sort out how a system should work and what changes might be necessary to produce the right outcomes
Computer programmer salary and career outlook
Now to get down to a question that often comes up among job seekers: How much do computer programmers make? The answer tends to depend on a range of factors, such as the city where you work, the project that you're working on and your accumulated education and experience, but national averages can give you a general idea of what to expect from a computer programmer salary.
Here's a quick chart of computer programmer salary and job outlook data from the U.S. Department of Labor's Bureau of Labor Statistics:
Professional resources for computer programmers
Joining a professional association can bring multiple benefits to your computer programming career, including proprietary certification opportunities, invitations to national conferences and access to continued education resources. Here's a short list of professional associations in the U.S.:
- National Association of Programmers (NAP)
- Institute of Electrical and Electronics Engineers (IEEE)
- Association for Women in Computing (AWC)
- Association of Software Professionals (ASP)
- Association for Computing Machinery (ACM)
While some professional associations only accept working pros as members, some also offer a special membership level for students. Student memberships typically come with lower dues and a shorter list of perks than the full memberships available to established professionals.
- Computer Programmers, Occupational Outlook Handbook, Bureau of Labor Statistics, U.S. Department of Labor, accessed November 29-30, 2018, https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm
- School pages, accessed November 29-30, 2018: Online Computer Programming Certificate, Penn Foster Career School, https://www.pennfoster.edu/programs-and-degrees/computer-programming-and-support/computer-programming-languages-certificate; Computer Programming Certificate, Middlesex County College, https://www.middlesexcc.edu/business-and-computer-science/computer-programming-certificate/; Associate in Applied Science in Computer Programming, Mesa Community College, https://www.mesacc.edu/programs/map/computer-programming-aas; Computer Programming Associate Degree Program, Atlanta Technical College, https://www.atlantatech.edu/academics/programs/computer-information-systems/computer-programming-associate-degree-program/; Computer Programming Diploma, Southern Crescent Technical College, https://www.sctech.edu/programs/computer-information-systems/computer-programming-diploma/; Computer Programming Diploma Program, https://www.atlantatech.edu/academics/programs/computer-information-systems/computer-programming-diploma-program/;
- Computer Programmers, Occupational Information Network, accessed November 29-30, 2018, https://www.onetonline.org/link/summary/15-1131.00