Software Engineering and Programming Trends 2022
Plus what Programming languages for what kind of industry job?
This won’t be your usual Software Engineering trends article but just a snapshot of some features of programming (and technology trends) that I really find interesting. This will have in parts a tl;dr framework so students of programming and datascience can quickly ascertain and find the information they need.
I really want this Newsletter called Datascience Learning Center, to ultimately live up to the name. If you think this could be a valuable resource to others as well, consider giving me a tip.
Hopefully you find this article of some use to you, and if think others might as well, it please consider sharing.
I’m an independent media producer on Substack, which means I have no backers, partners, sponsors or anything like that (obviously I don’t advertise, unless you call begging on LinkedIn a form of ads), I write exclusively for you guys my audience. I don’t even know who you are, maybe you found me on Reddit or LinkedIn, and decided to subscribe, it’s all good.
Lastly I might not want to lay dormant in your inbox, how about following my work on a notification on an iOS app instead (I’m guessing a notification works better than hiding in your Promotions tab)?
So let’s get into it:
(The first section of these trends will deal with programming languages related to particular fields in a tl;dr format). Skip past if you want to get the 2022 trends section.
1. Power your Career Goals in Software With Purpose
If you are a job seeker or a someone who wants to get into Software engineering and programing, having an idea of which industry you would prefer to work in can give you the headstart to the direction to take.
According to Fullstack academy, if you have determined your career goals, you should concentrate on the following:
JavaScript, Elm, TypeScript are used in front-end web development
JavaScript, Scala, Python, Go, Ruby are useful for back-end web development
Swift, Java, Objective C, JavaScript serve in mobile development
Unity, TypeScript are typical in game development
Scala, Go, Python are popular for developing desktop applications
Go, Rust are perfect for systems programming
Put another way let’s try to spell that out:
FRONT-END WEB DEVELOPMENT
JavaScript
Elm
TypeScript
BACK-END WEB DEVELOPMENT
JavaScript
Scala
Python
Go
Ruby
MOBILE DEVELOPMENT
Swift
Java
Objective C
JavaScript
GAME DEVELOPMENT
Unity
TypeScript
DESKTOP APPLICATIONS
Scala
Go
Python
SYSTEMS PROGRAMMING
Go
Rust
2. What Programming Languages to Learn to Work in Blockchain?
Solidity
Scala
Rust
C++
C#
Kotlin
Java
Python
Java-Script
PHP
Go
Simplicity
Ruby
3. What Programming Languages to Learn to Work in Machine Learning?
Python
R
Julia
Java
JavaScript
LISP
Typescript
Go
Shell
4. What Programming Languages to Learn to Work in Cybersecurity?
C
C++
Python
JavaScript
PHP
SQL
Go
PowerShell
Ruby
5. What Programming Languages to Learn to Work in Robotics?
C
C++
Python
Java
C#
Matlab
HDLs
LISP and Prolog
Industrial Robot Languages like Kuka, INFORM, RAPID, Karel, etc…
5. What Programming Languages to Learn in Work Cloud Computing as a Cloud Developer?
Python
C#
Go
Ruby
Java
C++
PHO
NET
JavaScript
6. What Programming Languages to Learn in Virtual Reality and Augmented Reality Ecosystems and Apps?
C#
C/C++
Java
JavaScript
Python
Swift
Unity
7. What Programming Languages to Learn to work in Datascience?
Python
R
Julia
Java
JavaScript
C/C++
Scala
SAS
8. What Programming Languages to Learn to work in Quantum Computing?
Classical computing:
Quantum Languages:
Quantum Computing Language
QMASM: Quantum Macro Assembler
Sliq
Quantum SDKs (Software Development Kits)
Now that we are doing with a quick summary of typical programming choices for different fields. Let’s take a look at some of the actual trends in 2022 that I have noticed and find relevant. Feel free to add more in the comments section.
2. Open Source Coding
Open-source coding and community backed by BigTech remains the dominant trend in how software is becoming democratized in the world. It stimulates how software languages are learned (Bootcamps, online courses, DIY, University programs) and so forth. Open-Source hubs remain an accelerating and growing trend into the 2020s.
3. The Rise of Newer Programming Languages
More recent innovations in coding relate to newer programming languages where adoption has real and powerful reasons for happening. I’m no expert but I’d consider the following in this group:
Typescript
Rust
Kotlin
Go
Elm
Julia
And Others?
You will notice that these often have a BigTech company behind them pushing their adoption also for strategic business and corporate reasons.
I’m sure you are familiar with them, but let’s take a quick sneak peak of a few of them in slightly more depth just the same:
TYPESCRIPT
Microsoft maintains TypeScript, an open-source static type framework designed on top of JavaScript. TypeScript is an object-oriented language that was developed to extend the functionality of JS. It is a superset of JavaScript. Developers can find it simple to write and maintain code using this language. To avoid runtime bugs, the Typescript compiler tests for type discrepancies and filters out compile-time errors. It’s also systematic and easy to grasp. Its extensive toolkit speeds up application growth.
ELM
What started as a Harvard student’s thesis has evolved to become a source of fascination for front-end developers all over the world. Elm collates to JavaScript, making it suitable for creating UIs that run quickly and with no errors. Elm is a functional programming language that lets developers build client-side frameworks without having to deal with the declarative aspects of HTML and CSS.
JULIA
Julia is a high-level programming language for computational science and numerical analysis. It comes with a large mathematical feature library, a parallel and distributed execution program, a sophisticated compiler, and numerical precision. Julia is intended to overcome the limitations of Python and other computational programming and data processing languages and applications.
KOTLIN
Kotlin is widely used for Android app creation, web application development, desktop application development, and server-side application development. Kotlin was created to be a better programming language than Java, and its users agree. Kotlin is used in the majority of Google’s applications. Coursera, Pinterest, and PostMates are among the organizations that use Kotlin as their programming language.
Other New Programming Languages You May be Less Familiar With
Pony
Nim
Elixir
Reason
Dart
PureScript, and so forth…
Of course it’s always debatable what constitutes “new” in programming terms and software engineering history.
4. Businesses Focus on Cybersecurity as a Increasingly Mission Critical
Cybersecurity in a world in a state of war readiness will gain popularity as a legit software development trend which is expected to grow more in 2022. Businesses will need to focus more on the modernization of their systems, applications, and technology stack with regular assessments for cybersecurity.
Just like climate change is becoming more costly, the same could be said about security vulnerabilities. Think about it, Internet security is now among the most important topics in IT of our time. Cybersecurity Ventures estimated that ransomware attacks would account for approximately $20 billion in global corporate losses in 2021.
There’s a real acknowledgement that legacy systems and even U.S. businesses are at risk. To be honest, cybersecurity conundrum is causing anxiety-inducing insecurity among many business and government leaders.
For instance, the World Economic Forum (WEF) recently addressed that the threats are weighing on the minds of executives and academics. In a recent report, it stated: “Cybersecurity complaints to the US Federal Bureau of Investigation more than tripled during the pandemic last year, while the average payment by victims of ransomware jumped 43% in the first quarter of 2021 from the preceding quarter.
With the U.S. sanctioning Russia aggressively in early 2022, this is going to become a bigger deal that will impact the future of software trends as well.
5. Young Developers are Self-Selecting to work in Newer Industries and more Recent developments on the Internet
With the young and new ideologies such as the movement towards decentralization, distributed teams and inclusion, where young developers WANT to work is also impacting the future of software and programming languages and how they develop.
I think I can capture it with some LinkedIn Polls I’m running, I’ll screenshot the results here:
If you are interested in participating, please fill out the following Polls:
Follow Michael Spencer’s Polls on Linkedin.
This series of Polls started March 13th, 2022 (you are eligible to vote for the next two weeks)
6. Web 3.0 and Metaverse Hype
2022 has been a year of social media amplification, whether it’s the Metaverse in the first two months of the year or the Ukraine war recently. That being said, Web 3.0 and Metaverse hype is getting a lot more debate whether that’s on Reddit (where presumably real debate takes place), Twitter or elsewhere.
BigTech acquiring Metaverse and blockchain assets also adds to this debate as now Microsoft has acquired GitHub, Activision and more or less OpenAI ($1 Billion in funding), that fuels this debate even more. Facebook calling itself Meta and Square calling itself Block just makes it all a bit more ridiculous.
While these ecosystems of the future are supposed to democratize software and liberate us from the legacy internet and old social media and search, it’s not clear if this will actually take place with the same companies like Google, Apple, Microsoft and Amazon dominating mega-trends of the Internet such as Cloud, Ads and developer and Software Engineer talent onboarding.
I’d argue that Web 3.0 and Metaverse hype is also shaping in a subtle way the future of software languages and programming that needs to adapt to the future.
7. Low Code/No Code and Well, AI that Codes
With the quick adoption of RPA in business, there’s going to be a much greater emphasis on democratizing software to non-coders and in automating tasks that people don’t actually need to do with AI adoption in organizations, companies and with the continued evolution of the Cloud.
AI that Codes as a sector is going to see some incredible VC money coming its way since it has the potential to automate many of our day-to-day operations in many departments whether that’s HR, admin, marketing and so forth.
As the algorithms inside LowCode/NoCode/CodeGen tools become more sophisticated we will also see developers augmented with AI-buddy systems that allow them to be more productive and transform DevOps and various tasks related to datascience in general. There’s more going on here than meets the eye, along with a great deal of empty hype as well.
8. Digital Transformation Accelerating
Whether it’s the pandemic lock-downs, the Great Resignation or simply choosing to work remotely and work from home more, the tools we use in society and in technology are changing quickly. This is impacting also the demand for software developers and software engineers.
I’ve read some whacky stuff about how A.I. and IoT are converging in a kind of Internet of Behavior IoB internet. This is like an era of ambient computing that will slowly arrive even in retail, hospitality, healthcare and education.
I think the term Digital Transformation probably best summarizes this movement of convenience and A.I. personalizing our experience in different domains and layers of the internet.
You could also argue that BigTech is opportunistic when it comes to Cloud adoption and even the Great Resignation and pandemic lock-down environments. More bells and whistles and tools means more demand for software engineers.
There’s a point where Cloud computing, IoT, on-demand services, FinTech, A.I. and other things converge and that acceleration is increasing demand for qualified coders, developers and software engineers.
9. Adoption of More Popular Programming Languages
I’ve written a lot in this Newsletter about how more popular languages find greater adoption and more support from BigTech which populiarzes a coding language to be used even more.
The best example in recent years is most likely Rust.
Despite its relative youth, Rust has steadily risen in the ranks of popular programming languages. In fact, while it ranked 33 in July 2019, by July 2020 it had risen to the 18th spot on the TIOBE Programming Community Index. Similarly, according to Stack Overflow Developer Survey, Rust has been the “most loved” language since 2016.
A lot of why a programming language is loved is due to a great community and an uplifting ideology. Rust’s principles is a pretty good example of this don’t you find?
Principled behavior for Rust
In building Rust, the Rust community has evolved the “Rustacean Principles” to balance sometimes competing development priorities. They are:
“Reliable: If it compiles, it works.”
“Performant: Idiomatic code runs efficiently.”
“Supportive: The language, tools, and community are here to help.”
“Productive: A little effort does a lot of work.”
“Transparent: You can predict and control low-level details.”
“Versatile: You can do anything with Rust.”
I literally could go on and on, but I’m reaching Substack’s Email length limit.
If you enjoy this read, give it a like and consider tipping, patronage or community support. This Newsletter only exists due to direct support from the small audience I have gathered from places like Reddit, LinkedIn and Google Search.
I know this article is a few years ago, but I wrote a recent article on how the demand for software engineers is changing in the past year: https://bloomberry.com/how-ai-is-disrupting-the-tech-job-market-data-from-20m-job-postings/ Would love to know what you think.