Software development trends for 2023
As software is taking over the world, the development strategies we use have to evolve in lockstep to keep pace. With development teams constantly looking to innovate and improve their efficiency, there are a few defining software development trends emerging that will influence how we deliver software in 2023 and beyond.
1. Modern programming languages gaining traction
Yet up-and-coming modern languages like Go, Kotlin, Rust, Dart, and Swift are gaining more popularity. Among these, based on the PYPL PopularitY of Programming Language Index that analyzes the frequency of tutorial searches on Google, the top performers are Rust, TypeScript, and Go.
The Java-compatible language Kotlin is continuing to gain momentum among Android app developers, and is mentioned as one of the top 5 languages developers are planning to adopt in JetBrains’ latest The State of Developer Ecosystem report. In the meantime, Rust has been gaining traction since Google started using it to code low-level parts of Android in order to reduce memory-based security vulnerabilities. As if Rust’s value needed any backing up after being voted the most loved language by StackOverflow survey respondents, Linus Torvalds also announced support for the language, introducing Rust in the Linux Kernel starting with version 6.1.
Using Go to build awesome software?
Symflower is available for VS Code and GoLand!
2. Low-code and no-code programming
The success of low-code and no-code programming may be due to the fact that they lower the entry barrier to software programming, enabling non-developers with limited or no coding skills to build functioning, valuable business applications in no time.
That’s a huge benefit – especially so during the pandemic, which gave digital transformation a significant push and forced non-IT professionals across the board to adopt digital tools. No wonder the low-code development platform (LCDP) market grew by over 63% between 2018 and 2020. Research from KPMG suggests that over the course of the Covid-19 pandemic, the number of executives naming low-code as their most important automation investment has tripled.
LCDPs offer visual interfaces with simple logic and good old drag-and-drop to enable the delivery of new pieces of software in just a few hours or days. While not likely to replace coding altogether, low-code platforms are expected to see a huge upsurge in popularity, further backed by a global shortage in skilled software developers. The low-code and no-code approach helps democratize software development, making it more widely accessible for citizen developers and accelerating the delivery of software applications with a business impact.
3. Internet of Behaviors (IoB) to guide software development
The omnipresence of the IoT (the Internet of Things) is no news to anyone reading this blog, and the personalization trend probably hasn’t evaded you either. With the Internet of Behaviors, we’re entering the intersection of the two. IoB essentially refers to the multitude of usage data generated by gadgets and apps, and the use of all that interaction data to steer the development of new software and features. While the use of IoB seems to be gaining traction first in the marketing avenue, software development can also benefit from it as IoB enables more effective ways of personalizing software based on behavioral psychology insights.
In 2023, there should be more focus on tracking and analyzing all the data about how users interact with a piece of software, and matching that against other data sources such as customer data platforms, user preferences, and even social media interactions to uncover behavioral insights. Using these observations will allow developers to build more advanced, granularly personalized products that take the human psychology perspective into account. Give it some time and the story of the movie Her could become a reality.
4. Full serverless architectures
Provisioning servers, creating test environments, and maintaining these bits of infrastructure all require effort. That means sacrificing valuable time that developers could otherwise use to write code. It’s no wonder, then, that serverless computing has hit the mainstream.
Over 50% of organizations using either of the most popular cloud providers (AWS, Google Cloud, or Azure) have already gone serverless. For the rest, there’s room for growth – growth that we expect to accelerate in 2023.
Relying on the cloud provider to take care of hardware allocation, the management of virtual machines and containers, and tasks like multithreading makes serverless architectures more affordable and efficient. In a serverless environment, event-driven flexibility allows for dynamic scaling. Meanwhile, a runtime-based, pay-as-you-go model helps the cost-efficient use of resources. Approaches like Functions-as-a-Service (FaaS) and Backend-as-a-Service (BaaS) enable developers to optimize infrastructure costs, ensure dynamic scalability, and increase efficiency in delivering new applications.
5. Progressive Web Applications (PWA)
On mobile devices, native apps are used to deliver an optimal user experience. But developing these for both Android and iOS is a costly and labor-intensive process – and the user needs to search and install these from the respective marketplace of these OSs.
That’s where PWAs come in: Progressive Web Apps can deliver a reliable, app-like experience in a browser, regardless of what device is used. PWAs offer the best of both worlds (e.g. web and platform-specific apps): they are easy to deploy yet can be installed and, thanks to service workers, they can also work offline. PWAs can be run on all platforms, can be developed faster and at a reduced cost level compared to native apps, and let the developer store all contents at a single central location.
Let’s get this clear: introduced by Google in 2015, PWAs are not new. Yet they are seeing fast growth: in 2020, the number of origins with PWA have grown 170%, with the use of service workers increasing by 38%. Apple seems to be keeping the technology on the back burner as some kind of protection against antitrust concerns. But they have been upgrading the PWA platform, and with cloud gaming taking advantage of the technology, it certainly looks like Progressive Web Apps might finally take off in 2023.
6. Fully remote development environments
During the pandemic, going remote has become mainstream across all areas of business. With the prominence of cloud-hosted services, the tech sector was already well-prepared for going remote even before Covid-19. Moving development workspaces and IDEs to the cloud has a number of key benefits, including:
- Provisioning: Reproducing and creating a development environment cannot be made easier. With one click, a new and perfectly reproducible environment can be created.
- Scalability: Remote clusters mean you are not limited by physical infrastructure when scaling.
- Flexibility: Computation-intensive tasks (like compile, assembly, and testing) are moved to the cloud, enabling developers to use any device and thus reducing hardware costs. In addition, environmental consistency is maintained.
- Security: With a cloud-based IDE, your code doesn’t have to leave the cloud infrastructure, making it easier to ensure and continuously monitor security.
- Support: Using a remote environment, troubleshooting can also happen remotely.
With the 2021 launch of services like GitHub Codespaces (Microsoft) and AWS Cloud9 (Amazon), remote development environments have become very easily accessible and have every chance of becoming a mainstream choice for software teams around the world.
7. Shift-left testing and DevSecOps
Meanwhile, the DevSecOps approach is gaining momentum with a 33% growth in 2021, shifting the focus to the automatic prevention of issues rather than their automatic detection ex-post. With cybersecurity becoming a top concern, DevSecOps and related concepts are likely to play a big role in integrating the security aspect in the development of software early on.
In short, the overarching trend in software development in 2023 is growing efficiency. Each of these trends supports the speedy delivery of high-quality applications, with both software and its development being more universally accessible – while software quality and cybersecurity stay a top priority.
At Symflower, our mission is to revolutionize software development and software testing as we know it. To make it easier for developers to shift left, we created auto-generated unit tests for Java and Go that save your precious coding time. Try Symflower to start reaping those efficiency gains: https://get.symflower.com/. To stay updated on future content from us, sign up to our newsletter!