A quick look at some key elements when considering computer programming and the need for societies to generate more coders to continue to support innovation.
It is being widely reported in industry-related publications that there is increasing demand for computer programming skills, and in the next few years demand will outstrip supply. In the Caribbean, many of our programming graduates have been unable to find employment using those skills. Hence they tend to work professionally in a related field, and code privately. Nevertheless, recognizing the opportunities that current computing devices now afford persons to understand the technology, or to develop software applications, we briefly discuss a few of the underpinnings of computer programming that could have an impact in the longer term.
Where is the money? What coding languages are in demand?
As it currently stands, there are hundreds of computer programming languages from which a software developer can choose. Some might be derivatives of another language, but it still makes the selection process difficult, and perhaps even overwhelming. However, with such an extensive list, some have become languages more widely used, and have even become a standard, or the “go to” ones for specific purposes.
To varying degrees, schools and universities can influence the popularity of particular programming languages, and foster their evolution and development. However, it is important to appreciate that what might the preferred languages in the industry might not be exactly aligned with those popular within the developer community. Table 1 shows the top ranked popular programming languages and those that are in demand by employers as at March 2013.
Impact of STEM
In tandem with the focus on computer programming, great concern has been expressed regarding Science, Technology, Engineering and Mathematics (STEM) in terms of:
- the inadequate teaching of those subjects in schools
- the insufficient students studying those subjects
- the generally abysmal pass rates for those subjects
- the limited number of girls studying those subjects and pursuing STEM-related professions, and
- the importance of those subjects to participate fully in the technology evolution (or is it revolution?) that is still occurring.
In the Caribbean, similar to what occurs in most countries world wide, students have not been performing well in STEM subjects. For example, over the past five years, the pass rate for Mathematics at the June sitting of the Caribbean Secondary Examination Certificate (CSEC) Examinations, organized by the Caribbean Examination Council (CXC), has been less than 50%. Figure 1 shows the pass rates for the January and June sittings. The former has considerably less entries than the latter, and is popular with persons who are either re-sitting subjects, or are entering a private students.
In the classroom, STEM subjects not only increase science literacy, they also help to improve logic, develop critical thinking and foster innovation, which are particularly useful in the computer-programming environment, or more generally, in the tech/ICT industry. More importantly, they are considered essential elements for countries to be globally competitive in today’s information and knowledge-based societies.
Worker bees versus innovators
Although the thrust of many industry experts and strategists is on ensuring that there are sufficient coders to meet the anticipated demand, and to ensure continued innovation, these two concepts do not necessarily go hand in hand. To some extent they can be mutually exclusive.
Computer programming is its own discipline, with clear methodologies of how it should be approached. Hence it is true: virtually anyone can learn to code. However, the actual mechanics of programming requires high-level concepts and ideas to be broken down into executable code that devices can interpret. In other words, and in the context of the proverb regarding forest and trees, programmers are required to focus on the leaves, rather than the trees or the forest.
In a similar vein, when most of us think of innovation, we are looking for far-reaching transformations that have a noticeable impact on the average individual. Hence still using the forest and trees saying, for innovation to occur persons need to focus on the trees, even the forest itself. In order to be innovative it is critical to understand the bigger picture, the interrelationship of all its components, along with which rules must be adhered to, and which rules can be bent or even broken.
To be clear: computer programmers can and do deliver “real world” innovation transformative products. A few quick examples: Bill Gates (Microsoft), Mark Zuckerberg (Facebook) and Jack Dorsey (Twitter, and Square). However, relative to the global community of coders, they and others who have done the same, tend to be the exception rather than the norm. The majority of coders are expected to be worker bees – helping to bring someone else’s ideas to life – which although is not seemingly sexy, is vital to the overall development process.
Image credit: Stuart Miles (FreeDigitalPhotos.net)
_______________
Its sad to say that we already have enough programmers in the world to satisfy demand. We don’t hire the ones we already have much-less the worker bees that are being generated.
One of the problems in the region is that students are no longer able to think as critically as in the past. There is simply too emphasis on cramming and regurgitation. The end result are the results highlighted in this article. I own an Information Technology company. Whenever we hire graduates we find we have to do too much training in critical evaluation and thinking before they are ready to produce. There has got to be a paradigm shift in thinking when it comes to the delivery in education in the formative years.
Insightful Lance!
Thanks for this. Question: what kind of training do you re critical evaluation and thinking?