Crack the Code: Getting Started in Computer Programming, Part 2
Earlier this year in Part 1 of this feature, we looked at the foundations of computer programming specialties and the different job roles for programmers in the IT industry.
In this follow-up article, we're going to look at the key education options available for people looking to enter the computer programming field, and we'll describe a few high-profile training and certification programs relevant to programming careers.
As mentioned in the first part of this article, computer programmers can potentially earn desirable pay rates in the United States. In 2018, the annual median pay for computer programmers was $84,200, according to the U.S. Bureau of Labor Statistics. This financial incentive is one reason why a growing number of people are looking to enter the computer programming field.
Here is a quick reminder of the two most common types of computer programmers:
System Programmers: Create software that controls computer hardware and information systems.
Application Programmers: Create software applications that run on top of operating systems.
System programmers typically work on operating systems, firmware for hardware products, and high-level platforms such as database management systems. Application programmers create software programs that run on operating systems.
There is always some blurring between these two categories of programmers, as the terms companies use in job postings and org charts tend to vary. The System and Application programmer distinctions are useful, however, when looking at different opportunities in the industry.
Okay, let's start at the top of the training mountain: colleges and universities.
Many an IT veteran has said, "You don't need a Bachelor of Science degree to get a job as a computer programmer ... but it sure doesn't hurt your chances." A Bachelor of Science degree is still considered by many employers to be Willy Wonka's golden ticket for starting a career in the IT industry.
Students who want to become computer programmers after graduation will typically major in one of the following disciplines:
? Computer Science
? Computer Programming
? Software Development
? Software Engineering
There are other majors offered at some schools, while some universities and colleges have a Bachelor of Arts (B.A.) in Computer Science program.
The pros of getting a computer programming college degree are fairly obvious: four years of in-depth education and hands-on training; a structured environment built to prioritize learning success; and an industry-favored credential gained at the end of the process. Many schools will hold employment events to help students meet high-level tech employers.
A towering argument in favor of a university degree is staying power. A bachelor's degree has longevity and will continue to hold its value long after graduation.
The cons? The aforementioned four years, for one. There are very few financial or time-related shortcuts to earning a college degree — you must spend both the dimes and the time. And, those dimes are not as affordable as they used to be, as college and university tuitions have risen steadily over the last decade.
Some colleges offer an option in the form of an associate's degree in computer programming. An associate's degree typically takes only two or three years to complete, rather than the four-year bachelor's degree program. This is accomplished by shaving off some of the curriculum and narrowing the focus compared to a full Bachelor of Science degree.
While earning a college degree in computer programming requires a significant personal and financial commitment, it is still one of the most highly recognized and valued credentials in the industry.
Training and Certification Options
For people unable to commit to a college degree program, there are several other computer programming training and certification options available. The majority of these alternative programs offer training in one or more formats including classroom-based instructor-led courses, self-paced online lessons, and eBook or hard copy training manuals.
An extensive list of every computer programming education option would be too large for this article, and not as helpful as an online search. Instead, here are a few popular training and certification programs that computer programming students may want to consider.
The C and C++ programming languages are decades old, but are still remarkably relevant in today's IT world. Based out of Poland, the C++ Institute has a number of no-charge, self-study online courses for candidates who are confident teaching themselves from the source material. Completing any of the online courses earns a complimentary 50 percent discount voucher for any C++ Institute certification exam fee.
There are currently four C++ Institute certifications:
? C Programming Language Certified Associate (CLA)
? C Certified Professional Programmer (CLP)
? C++ Certified Associate Programmer (CPA)
? C++ Certified Professional Programmer (CPP)
C++ Institute has also partnered with Cisco Networking Academy to deliver instructor-led courses for its CLA and CPA credentials. These courses are available at over 9,000 schools worldwide that offer Cisco Networking Academy curriculum.
Microsoft remains one of the most important software companies in the world. The company has shifted some of its priorities under Satya Nadella's stewardship, which has resulted in changes to Microsoft's training and certification program in recent years.
One of these changes was the expansion of the Microsoft Technology Associate (MTA) certification across a number of technology disciplines, including application programming.
The MTA track begins with the Software Development Fundamentals certification which concentrates on C# and Visual Basic.NET applications. There are also MTA credentials for each of the following programming languages:
? HTML and CSS
? Block-Based Languages
Beyond the MTA track, there is the Microsoft Certified Solutions Associate (MCSA) in Universal Windows Platform or Web Applications. After earning the MCSA, programmers can further advance to the Microsoft Certified Solutions Developer (MCSD) App Builder credential. The MCSD: App Builder certification can be taken in one of these disciplines:
? Mobile Apps
? ASP.NET MVC Web Applications
? Microsoft Azure and Web Services
As for training options, Microsoft has maintained one of the best training platforms found among IT vendors. Available training options include instructor-led classroom courses, on-demand online training, and an extensive library of education and exam preparation books through the Microsoft Press publishing division, not to mention the plethora of third-party training manuals.
There is also Microsoft Learn, the free education portal which has replaced the legacy Microsoft Virtual Academy. The site has a treasure trove of online courses for every discipline, including computer programming.
Java is arguably the most popular programming language in the world. The newest version, Java 12, was released in March of this year, but Oracle's Java 11 Standard Edition (Java SE 11) is the version students will want to focus on.
While you won't find its campus in your city, Oracle University is an online education juggernaut. Among its many resources are course information, learning subscriptions, and exam overviews for Java SE 11. The Oracle Certified Professional (OCP) Java SE Programmer I and II are the current top-level certifications recommended by Oracle.
Just like Microsoft, there are a ton of third-party vendors offering training materials for Oracle's Java SE 11, everything from textbooks to online courses and exam preparation products.