Gazing into a crystal ball - my predictions for 2023

#java Dec 30, 2022 7 min Mike Kowalski

The very last days of the old year are probably a good time to think about the next one. Although we already learned how inaccurate any predictions can be, it still feels like an interesting exercise to me. Let’s try to predict the tech future just a little bit… ๐Ÿ”ฎ

I have to warn you, that everything you’ll read here is just a reflection of my own gut feeling. It’s a bunch of guesses based on news, observations, and discussions with my colleagues (๐Ÿ‘‹). It comes with ABSOLUTELY NO WARRANTY, just like a lot of software we’re using every day. Of course, these predictions are also biased by my experience and area of interest, which clearly has a lot to do with Java and JVM.

Word of the year: efficiency

IT is not some magical bubble living outside the economic reality. While inflation doesn’t seem to be going anywhere soon, 2023 may become a year of recession. This must have an impact on how organizations spend their money.

I expect IT to become obsessed with efficiency next year. “Doing more with less” will become the ultimate goal of the management. Increasing productivity, optimizing processes, and avoiding waste. You would be surprised what a bunch of determined accountants could squeeze from the world we’re working in. Luckily, layoffs won’t be the only way to reduce the cost of operations.

Especially at the infrastructure level, there might be a lot to save. Yet, I don’t mean leaving the cloud here as David Heinemeier Hansson has recently suggested. From my observations, we still waste enormous amounts of computing resources just because we’re lazy. We run production-like dev environments with almost no traffic there. We overprovision from the start and never revisit our choices. Apart from laziness, we also build super complex setups (looking at you multi-region and multi-cloud) even if we don’t really need them… In 2023, somebody is finally gonna look at our infra bills and start asking questions. Optimizing infra costs will be a way to become a hero of the entire company ๐Ÿฆธ

Developer experience should become even more important next year. This includes reevaluating tooling choices, increasing automation level, and maximizing our “creative time”. However, it’s not the developer mindset that has to change here. The economical reality will show organizations, that they can save a lot of money by investing time in such efforts. So if you ever felt that there was never enough time to improve efficiency, the situation may change soon.

A revolution looming over JVM

I expect Project Loom to remain one of the hottest topic of the JVM bubble in 2023. As Mario Fusco said during his great Devoxx Belgium talk:

Loom is for concurrent programming what lambdas have been for functional programming.

Game of Loom: implementation patterns and performance implications playing with virtual threads, Mario Fusco, Devoxx Belgium 2022

Although not all of us may already feel it, Loom is a true game changer.

In 2023, popular frameworks and tools will be announcing getting “loomified”, just like obtaining some sort of certification. Many projects, including Spring framework, have already started their journey. The thing we don’t know yet is when it will get out of its current preview state (Java 19). As the upcoming version 20 is already feature-freezed, we can only hope for the next release expected in September.

Project Loom will impact applications that don’t use concurrent programming techniques directly too. For many projects, simply migrating to the “loomified” framework of choice and Java version may be enough to benefit from better resource utilization (efficiency!). That’s why I consider Project Loom so exciting. It’s not only syntactic but also a platform change that the entire ecosystem (like Kotlin coroutines) will benefit from.

Java LTS generational change

Regardless of the feature scope, the upcoming Java LTS release is gonna be a big thing in the JVM ecosystem. Scheduled for September 2023, Java 21 will bring tons of changes to those still running on version 17 from late 2021.

It’s not a surprise, that versions marked as “Long-Term Support” get the broadest adoption. Despite not being of better quality or tested more carefully than non-LTS ones, they are often considered a “safer” choice. That’s why many people jump only from one LTS release to another.

Java 21 feature set will define the shape of the “mainstream” JVM ecosystem for the next two years. A lot depends on Project Loom (JEP 436, JEP 437) and Pattern Matching (JEP 433, JEP 432) getting out of the preview phase “on time”. Releasing both under the same LTS version would be a revolution comparable to the appearance of Java 8. Missing Java 21 release window will mean additional two years before a broader audience will adopt them as a part of the next LTS release. The temptation must be enormous. Yet, I expect that ensuring they’re ready will be more important than anyone’s ambitions or expectations. My gut feeling tells me, that Pattern Matching is a bit closer to making it.

What I really count on next year is finally retiring Java 8. Although I really believe you can’t afford to run Java 8 anymore, some libraries still use version 8 as a baseline due to compatibility reasons. I hope Spring Framework maintainers’ decision to pick Java 17 as their baseline will encourage the whole ecosystem to move away from the past. After all, Java 8 will be 9 years old, while Java 11 will already turn 5!

Apple and native images

In terms of high-end developer hardware, Apple will only maintain its dominance. When I bought my personal MPB one year ago, chips from the M1 family were already surprisingly usable. With many tooling-related issues already resolved, ARM is no longer a curiosity. To be fair, it eats everything I’ve ever worked on for breakfast! ๐Ÿฆ– If you were delaying the decision to give Apple Silicon chips a try, 2023 may be the right time to do so. Of course, assuming they still fit your recession budget…

The Recent addition of the ๐Ÿ darwin-aarch64 architecture support should also speed up GraalVM adoption next year. Native images have caused a renaissance of CLI applications written in Java, which should continue in 2023. While chasing effectiveness, I expect more and more new developer productivity tools to appear.

Another reason for GraalVM popularity growth will be the still-fresh Spring Boot 3.0 release. With built-in native image support, it will try to close the gap to its younger, cloud-native competitors like Quarkus and Micronaut. While both of them have already become really popular, they still don’t have such a broad adoption as Spring.

IT job market

The layoff season will probably continue next year. While I don’t think that the majority of experienced developers have much to worry about, it could be a really hard time for IT newcomers. I expect the job market to be quite volatile, especially in the first two quarters of the year.

Depending on the health of the economy, startups may face a major storm next year. Looking for funding may not be an easy task when big players are cutting their costs. On a positive note, this may become a fertile ground for all efficiency-oriented ideas.

Anyway, I expect the number of job offers to remain pretty high.

Things to keep an eye on ๐Ÿ‘€

Miscellaneous

  • ChatGPT and GitHub Copilot won’t take our jobs… yet ๐Ÿ˜‰ New ways of monetizing AI generators will continue to struggle with legal concerns (IP, licenses). Regulations rarely keep up the pace of technology - cryptocurrencies are a perfect example here.
  • A new, lightweight, cloud-native logging library may finally appear ๐Ÿคž We really don’t need the next Log4Shell, just as many features most popular logging libraries have…
  • Rising energy prices may eventually increase the cost of cloud computing. As the competition between the providers is really tight, they will probably keep looking at each other and react accordingly. On a more positive note, they may become even more interested in renewable energy usage.
  • Apache ZooKeeper may be considered passรฉ (legacy). It feels like everybody implements Raft on their own anyways.

3… 2… 1…

Regardless of whether my predictions come true, 2023 is going to be a really interesting year. Will it be full of surprises? Are there any big things just around the corner? Let’s see in less than 48 hours. Happy 2023! ๐Ÿพ

Mike Kowalski

Software engineer believing in craftsmanship and the power of fresh espresso. Writing in & about Java, distributed systems, and beyond. Mikes his own opinions and bytes.