Top 5 Developer Trends in 2023: Scalability Is King
Scalability is the central concept of 2023. To beat the competition, organizations need to be able to scale up and down quickly and cheaply, based on customer requirements. Therefore, all 5 key trends for 2023 aim to enable scalability through standardizing, simplifying, and automating overhead tasks that often eat up 50% of an application developer’s day.
All charts in this article are based on a subset of the 1682692 questions asked on Stackoverflow, mostly by app developers, between Jan 1, 2022 and Dec 31, 2022.
GitOps For Speed, Security, and Resiliency
A 49% increase in the number of monthly Google searches over the previous year is an excellent indicator for the rapidly growing importance of GitOps.
Developer questions on Stackoverflow place GitHub (1) straight in the middle of the GitOps universe, with GitLab (2) right next to it.
GitHub Actions
‘GitHub Actions’ (3) is an event-driven automation platform that enables developers to chain together automations (actions) with the ultimate goal of completely automating the software development lifecycle. Currently the most popular actions are…
- TruffleHog OSS: Scans any GitHub object for the presence of credentials, automatically tests the validity of these credentials and then executes and action (or silently accepts the continuation of a workflow). This allows, for example, preventing the publication of user credentials to a public GitHub repo or it could stop the build process when plain text passwords or access tokens are used. Very handy indeed.
- Super-Linter: Scans source code in lots of different languages for all types of issues such as unused variables or .init files, violation of naming conventions, inefficient routines, poor readability, or functions with too many variables. Also, very handy, as Super-Linter automatically detects and scans the languages used in a repo.
- Build and Push Docker Images: Allows multi-platform container builds, manages secrets, handles cache and provides access to all features that are included in Moby BuildKit.
GitLab Runners
GitLab Runners (4) are similar to GitHub actions and provide a runtime for CI/CD automation code that is configured through very similar YAML files (see comparison). However, GitLab Runners do not offer a large library of actions for developers to chain together. The GitHub actions marketplace is where the true differentiation lies, as GitLab does not offer a library of code templates that are ready to go.
The chart also shows lots of integration topics, for example between Visual Studio (5), Azure DevOps(6), and GitHub, and between GitHub, Jenkins (7), and Atlassian SourceTree (8), and between AWS and GitHub. The GitHub GraphQL API is one more prominent topic for developers in 2023.
OpenTelemetry for Efficient and Effective Observability
OpenTelemetry was the fastest growing CNCF project in 2022, despite still being in the beginning of its lifecycle.
There are now lots of monitoring and observability software vendors wholeheartedly supporting OpenTelemetry as a common standard for the collection and processing of tracing, logging, and metrics data. Many of these vendors have launched their own distributions of the OpenTelemetry agent to be able to offer turnkey support of their own platform. As this support only includes basic changes to the configuration of the OpenTelemetry agent, without creating significant forks in the open source code, this seems to benefit customers. The chart shows the different ecosystems, such as Elastic Stack (1), New Relic (2), AWS (3), .NET (4), Azure (5), Google (6), and Java/Spring (7), that are directly connected to the OpenTelemetry universe and therefore directly benefit from the emergence of a single standard for observability data.
WebAssembly for Developer Productivity Across Clouds
“Will WebAssembly replace Kubernetes?” was a frequently asked question in the second half of 2022. The core concept of freeing developers from having to worry about Kubernetes infrastructure, while at the same time freeing operators from the need to understand and potentially adjust application workloads depending on their underlying infrastructure, is disruptive. Developers often spend approximately half of their days on infrastructure-related tasks (deployment, debugging, cloning, upgrading, supporting, etc.) and could therefore benefit tremendously.
The chart shows compiled langauges such as Rust (1), .NET (2) and Java (3) as topics that are directly related to WebAssembly, but at the same time Fermyon, a provider of hosted WebAssembly environments, mentioned that soon we will be able to import compiled libraries from these languages into Python applications. The chart also shows that the Azure universe (4) has embraced the core concepts of WebAssembly, as Azure has based its Web App Service on WebAssembly, trying to bring these new workloads into the overall Azure universe. Interestingly, we do not see AWS or GCP on this chart.
Automation, Automation, Automation
Automation is the core foundation for software scalability and therefore was and continues to be a major topic.
Test automation (1) aims to ensure software quality and, to some degree, usability in times of more frequent releases and drew the highest number of developer questions in 2022. We find traditional QA topics like Selenium (2), Cucumber (3), and Cypress (4) to be the most prominent, but we also see API testing via Postman (5) and UI automation (6) as some of the upcoming topics.
PowerShell (7) for automating the Microsoft / Azure universe, Ansible (8) for automating Linux, Office Automation through VBA (9, yes, that still exists!), MacOS automation (10) through Apple Script, and of course CI/CD automation all are top of mind for app developers today. As there still are many automation gaps within typical enterprise environments, I expect the automation topic to make it into the critical topics of 2023.
Simplified Analytics and Machine Learning
Machine learning for developers focuses around Python libraries (1) for classification, regression, clustering, computer vision, object detection, time series analysis and text analysis. In deep learning, PyTorch (2) has grown fast, while Tensorflow (3) lost adoption. Handling dataframes in Pandas (4) has become another important topic, as app development is in the process of shifting from looping through data sets and toward applying functions to vectors (see this excellent post for details).
Huggingface Transformers (5) are the big star in NLP (natural language processing), with often excellent results in one-shot learning for text classification. Try this very easy to use demo to get an idea of the potential of Transformers.
MLOps (6), basically DevOps for machine learning has become the critical topic for AWS, and Azure-based machine learning. And finally, feature engineering (7) still is one of the key topics in deep learning, as traditional challenges such as overfitting, skewed datasets, opaque relationships between variables, and of course, reproducibility and interpretability. Unfortunately, AutoML platforms, such as DataRobot have not made significant strides toward conclusively solving these issues. But most importantly, the quality of feature engineering still heavily depends on a clear understanding of the training data, as the precondition for identifying the relevant data columns. Let’s hope there will be some significant progress soon.