This feature first appeared in the Summer 2022 issue of Certification Magazine. Click here to get your own print or digital copy.
There's a scene in the movie Star Trek IV: The Voyage Home (the one about the whales) where Mr. Scott attempts — and fails — to activate a 1980s desktop computer by speaking to it. Not as many people today would probably understand why the scene is funny as did in 1986. Despite recent advances, however, we still have a long way to go before you can simply tell a computer what to do and get what you want.
For now, the most effective way of getting a computer (or a computer program) to do something still involves a less direct, more highly specialized mode of communication: programming. In 2022, computer programming is much more accessible than it used to be. There are hundreds of computer programming languages and a variety of tools to assist in the process. Even people who aren't computer programmers often use programming languages.
If you are a skilled computer programmer, or a software developer, or an application engineer, then the odds are good that you have, in the words of the Dread Pirate Roberts from The Princess Bride, “worked hard to become so.” The U.S. Bureau of Labor Statistics says that a bachelor's degree “in computer and information technology or a related field” is the baseline expectation set forth by most employers who hire computer programmers.
The market for computer programmers is at an interesting juncture. The bureau’s Occupational Outlook Handbook describes computer programmers as being responsible to “write, modify, and test code and scripts that allow software and applications to function properly.” Unlike the norm for most computer occupations tracked by the BLS, however, the total number of jobs available to computer programmers is presently shrinking.
The projected total loss over the current decade is relatively small, and new jobs — more than 9,500 per year, just in the United States — are still being created. There is cause for concern, however, especially given that other sectors of the information technology (IT) job market are riding high, fueling projected overall growth of 13 percent by 2030.
Automation and artificial intelligence are already taking over some of the more mundane aspects of computer programming, like checking thousands of lines of code for errors. And some workers in first-world economies are being replace by cheaper contract workers from developing nations. Even when the work doesn’t leave the country, many jobs are being shifted from full-time computer programmers to freelancers.
Despite the shifting sands underfoot, there are still good reasons to embrace a career in computer programming — starting with the BLS-calculated median annual income of $93,000. It will almost certainly take entry-level programmers a while to rise to that threshold, but it’s nice to know where you’re headed. One thing that may or may not help you get there is IT certification.
Learning computer programming
Certification and computer programming do have some overlap — but the coverage is not nearly as robust as you’ll find in subsectors of the IT landscape like cybersecurity, cloud computing, or computer networking, to name just a few examples. That’s one of the issues we dug into for our recent Computer Programming Certification Survey.
Though its primary purpose is to measure mastery of various branches of IT knowledge and affirm proficiency at various IT skills, certification is also widely viewed as a learning solution. The exam, in this approach, is the culmination of an educational journey stretching across weeks and months of intense study and training.
That being the case, could certification be applied to computer programming the same way that it is to, say, computer networking? A majority of survey participants — full-time IT industry professionals, most with at least one current professional certification — are dubious. A shade more than 60 percent of those surveyed do not believe that certification is an effective means of learning computer programming.
Preferred approaches to learning computer programming (as captured in the graphic below) almost all involve some form of direct instruction, whether via self-directed online courses, public school (K-12) courses, college- or university-level courses, or in-person instructor-led courses.
Feedback from survey participants expresses some of the limitations of certification as a method of learning the ins and outs of computer programming. One respondent said that learning computer programming benefits from the collaboration and regularity provided by a classroom environment. Others said that certification tends to emphasis memorization and facts, whereas learning computer programming leans more toward experimentation.
As another respondent put it, “Programming is about doing. It also relies heavily on computer theory, which is best learned through a structured course. Memorizing information to pass a test will not make you a programmer.”
Yet though there may not be many certifications available that focus on computer programming, some survey participants said that certain aspects of IT certification are as beneficial to programmers as they are to other IT workers. Certification can increase individual confidence, reassure potential employers, and help provide a sense of which core programming skills are most important to master and maintain.
Learning new computer programming languages
Learning computer programming is one thing. Literally, in a sense: Core programming skills apply across most computer programming languages. The variety and sheer volume of programming languages, however, means that, whichever one (or even two or three) serves as the starting point on your computer programming journey is just that: a starting point.
There are somewhat more certifications out there that focus on particular programming languages or environments than on validating core programming skills. And survey respondents are a little bit more open to the possibility of certification as a teaching and learning ground for someone approaching a new programming language for the first time. Indeed, 45 percent of those surveyed endorse this approach.
There’s notably more consensus among survey respondents regarding the most effective way to learn a new programming language. More than one-third of those surveyed (37.7 percent) say that the best approach is self-guided online courses, with a further 20 percent who espouse the sandbox mindset of jumping in, playing around, and figuring things out as you go.
The rest signaled support for books or other documentation (11.3 percent), instructor-led online courses or instructor-led in-person training (both 9.4 percent), and college- or university-level classroom courses (6 percent), with 4 percent falling into the catch-all “other” category.
Feedback from survey participants suggests that, for a number of reasons, there is more potential for certification as a path to learning new programming languages for individual who already know the basics of computer programming. Many of those surveyed, for example, point out that learning new programming languages is easier when you already have a foundation in programming.
One limiting factor is that programming languages — especially new ones — often evolve more quickly than a typical certification program can keep pace with. And as some survey respondents pointed out, it’s difficult to comprehensively test an individual’s breadth and depth of knowledge of a programming language in a single exam. (You know, bearing in mind the actual core emphasis of certification.)
There are a number of more established programming languages, on the other hand, that might suit the parameters of IT certification quite well. We asked survey respondents which popular programming languages might be well-suited to certification both for learning purposes and for skills validation.
Ahead of the curve
Because there are many IT jobs that involve computer programming but are not programmer jobs, we didn’t limit participation in our survey strictly to professional programmers. That said, only 9 percent of survey respondents said that they have never learned a computer programming language, and only 10 percent did not know at least one programming language before entering the IT industry.
There’s ample evidence that learning to program encourages further study of programming: More than half of those surveyed (54.5 percent), know three or more programming languages, including 22.7 percent who know six or more.
It would seem that getting into programming typically starts at a young age. More than 60 percent of those surveyed learned a computer programming language for the first time while younger than 20. For most, the breakthrough happened in high school, with 22.7 percent of respondents picking up their first programming language between the ages of 14 and 16, while 19.7 percent did the same between the ages of 17 and 19.
Researchers have been bullish in recent years about the potential of young minds to grasp computer programming, and there’s evidence to support that enthusiasm here as well: a notable 9.3 percent of respondents learned a programming language for the first time between the ages of 11 and 13, while 8.9 percent did it while younger than 10.
We appreciate the contributions of everyone who participated in the Computer Programming Certification Survey. We’ll be posting more of our findings online at CertMag.com, and we hope that everyone who takes our surveys is planning to turn out for the Big One. Summer is here and that means the Salary Survey is just around the corner.