There once was a time when all IT departments needed in the way of programming language expertise were COBOL, Assembler and, in some cases, Fortran. Colleges and universities rallied around the teaching of those languages, and there seldom was a shortage of talent.
Now, with the plethora of web-based, big data-based, Internet of Things -focused, server-based, and mainframe-based applications, there are many more programming languages that IT needs command of. How do you ensure that you have the coding talent that you need?
The first (and easiest) step is knowing what you need. Most IT leaders have already assessed this.
IT leaders evaluate their in-house talent, note where on-staff programming language expertise is lacking, and often contract for the missing programming skills for projects that must be accomplished under aggressive timelines. IT leaders are mindful that they are incurring risk if they consign programming to outside sources without having internal expertise. So, they look for ways to upgrade staff skills. Filling skills gaps requires looking at what you need now, while also considering what they might need in the future.
Look at the Most Likely Programming Needs
While most enterprises have some unique programming niches to fill, there are five programming areas common to most enterprises.
1. Server application development
The momentum for application development is on server-based applications that can rapidly be deployed and that are readily adaptable to digitalization. Digitalization requires rapid transaction processing for fixed-length records, but it also entails processing larger data objects. The beauty of a programming language like Java is that it can do both.
Consequently, Java is a programming “bedrock language” that virtually every organization needs. Java doesn't need to be recompiled to run on different computer platforms, and it is easy to learn, compared to other programming languages.
The market has responded.
There are over nine million Java programmers worldwide, and most
IT departments have on-staff Java programmers. Schools continue to turn out new Java programmers every year, so the keys for most IT organizations are to ensure that they have seasoned, senior Java developers, and also less-experienced Java developers who one day will become senior in their programming expertise.
The other server-oriented programming language that is paramount for most enterprises is SQL and/or NoSQL. SQL/NoSQL relational databases play a major role in hybrid data repositories that enterprises use for analytics. SQL/NoSQL have continued to dominate the database space for these repositories, and there is no indication that this is going to change.
One future programming environment IT might want to prepare for is graph databases for big data and analytics.
2. Back-end server and web development
While programming languages like Java can develop a plethora of front-end applications, there is still a need for more sophisticated back-end server coding, which uses languages like C, C++, or C#. These languages are more sophisticated than Java, but the good news is that they use many elements of Java. This makes it easier to train on-staff senior Java developers in the C/C++/C# coding environment.
3. Front-end web development
JavaScript is used to manage the behavior of web pages. It is the most common programming language globally. It can create web animation, clickable buttons, interactive displays, etc., and it is widely taught by academic institutions.
Most IT departments have Javascript developers on staff. If they don’t, they can easily hire them.
In some cases, such as in very small companies, decisions often are made to outsource web page development, but the goal should be to acquire your own on-staff support for Javascript and your website.
Other mainstream programming languages for Web front-end development are HTML (hyperlink markup language), an English-like language that even end users can write; and CSS (cascading style sheets), which creates the online presentations of documents that are written in HTML.
The Javascript/HTML/CSS programming combination should be enough to support and develop web front-end applications.
4. Internet of Things development
Enterprises will be developing more IoT applications in the future. IoT uses programming languages like Java, Javascript and C, so it is likely that personnel already on-staff can be transitioned to IoT work without too much of a problem.
There are several other programming languages that often are used with IoT. These are PHP and Python. (It should be noted that PHP is still used in many website apps as well.) There are many software developers who are trained in both Python and PHP, and schools continue to train more, so it should be relatively easy to hire experience in these languages.
5. Legacy applications
In 2020, COBOL was still powering 80% of in-person transactions and 220 billion lines of COBOL code were being used in production. The reason is simple: COBOL (and mainframes) work. They are highly reliable, which is why a majority of banks, financial services companies, insurers and governments still use them. Many of these enterprises have also developed custom COBOL code that provides strategic and competitive advantages for their companies.
The problem these companies face is that COBOL programmers are an aging (and retiring) workforce. Newer programming languages, such as
Java, C and Javascript, that younger IT staff members are trained in also do not do well in terms of skills transfer to COBOL.
Most colleges and universities no longer teach COBOL, although a handful do. For organizations seeking COBOL programmers, it might be a smart move to partner with these academic institutions by sponsoring internships and creating employment opportunities for students.
IBM, which has a vested interest in its installed global mainframe and COBOL base, also provides free COBOL training.
What to Read Next:
4 Skills Will Set Apart Tomorrow’s Data Scientists