This article was inspired from a pre-Christmas catch-up with a good friend and former colleague who spoke about his love for tech but wondered where he should put his time if he’s to learn new things in 2021. Those who have been in the industry for some time have seen no end of changes.
Once it was pretty simple; C and C++ were the programming languages to learn, with UNIX an established enterprise operating system and Windows an emerging contender. Pascal was being taught, which led to Delphi before Java emerged with its built-in memory management. The Internet, once a secret of military and education, exploded in reach and popularity bringing with it JavaScript - a naming choice seeking to leverage the Java brand despite having no connection. Microsoft’s .NET hit the scene bringing a new way of developing Windows Forms apps before WinForms became passe as XAML evolved. Now the web is the application delivery platform of choice, operating systems are largely irrelevant, and public clouds bring infrastructure to the masses with low barriers to entry. DevOps - the application of programming disciplines to infrastructure assets - is serious business, as is data and analytics.
|
Of course, it's easy in hindsight to see what's emerged as a winner in the past. Knowing what to put your time and energy into today is something different.
If you want to take up new technologies in 2021, which are the best use of your time?
The StackOverflow 2020 developer survey says the languages most loved by developers are, in order, Rust, TypeScript, Python, Kotlin and Go. However, the same survey states the languages with best-paying jobs are Perl, Scala, Go, Rust and Ruby.
StackOverflow is, of course, well-known to developers globally, but there's a potential argument to say its survey is not fully reflective of the world due to the inherent nature of a problem-solving site.
However, GitHub's 2020 State of the Octoverse report gives insights drawn from 2020’s activity of over 60 million source code repositories created, by more than 56 million developers, with 1.9 billion contributions in the year. This reflects what people are actually doing and provides a different top five of JavaScript, Python, Java, TypeScript and C#.
Perhaps it is significant the number one language in use, according to GitHub, does not hit StackOverflow’s “most loved” list, but even so there’s no denying the modern web is how apps are deployed today, and JavaScript has overwhelmingly become the primary web language. Of course, which JavaScript framework you use is a different matter.
It's similarly unsurprising Python and Java are next in the list, though for different reasons. Python has emerged a strong favourite of the data science community while Java still dominates enterprise applications - like NetSuite, for one - and Android development.
For my money, you'll do well picking up JavaScript and/or Python if you aren't already experienced in those languages. Though there’s another important guide we can draw upon to know which languages and technologies are in demand - and that’s job advertisements.
I've gone through the last month of open vacancies on Seek and here's where the opportunities are - which shows in Australia, at least, .NET still reigns supreme. SQL is also right up there, and with the importance of data and analytics, this is always a useful skill to have in your repository. Rust, apparently the most loved language by StackOverflow users, has fewer job opportunities right now than COBOL.
While job ads reflect a moment in time, this data may well help your decision-making.
As well as programming languages, I've included public clouds, DevOps tools, data analytics, and other popular infrastructure technologies. I'll revisit this over the year so we can all track how it changes over time.
Programming languages, databases, frameworks and related
SQL | 3696 |
.NET | 2586 |
Java | 2418 |
Python | 1960 |
JavaScript | 1746 |
C# | 1743 |
React | 1342 |
Angular | 1332 |
PHP | 1222 |
Oracle | 600 |
Git | 456 |
Scrum | 447 |
MVC | 424 |
Docker | 410 |
Kubernetes | 399 |
PowerShell | 391 |
Jira | 391 |
TypeScript | 293 |
Scala | 185 |
Swift | 143 |
Ruby | 113 |
BASH | 107 |
MongoDB | 105 |
Golang | 88 |
Kotlin | 75 |
Perl | 70 |
COBOL | 13 |
Delphi | 9 |
Rust | 3 |
Silverlight | 1 |
Public clouds
AWS | 1994 |
Azure | 1777 |
GCP / Google Cloud | 285 |
Oracle Cloud | 147 |
Operating systems
Linux | 1485 |
Windows | 903 |
macOS | 23 |
DevOps
Jenkins | 317 |
Ansible | 300 |
Puppet | 86 |
Chef | 49 |
Networking and IT operations
VMware | 749 |
Cisco | 682 |
Citrix | 440 |
Splunk | 179 |
Juniper | 157 |
ServiceNow | 116 |
Fortinet | 77 |
Meraki | 35 |
Data and collaboration
Tableau | 1090 |
SalesForce | 879 |
Office 365 | 834 |
SAS | 769 |
PowerBI | 578 |
SharePoint | 289 |
Confluence | 215 |
GSuite | 12 |