Sergey Nivens - Fotolia

Year in review: Five topics that epitomized Java in 2018

In 2018, we focused on what the future of Java might look like. With the IBM-Red Hat merger and the ascension of DevOps, the life and times of the Java developer are changing.

If you want to predict the future of Java, it helps to know where we were with Java in 2018. This is a topic we explored at TheServerSide all year to satisfy readers' curiosity about how Java fits with other programming languages, whether they can age successfully in the technology profession, if Java still matters in an increasingly Agile and DevOps landscape, and what the IBM-Red Hat merger means for the future of Java programming. These were some of the hottest topics for Java in 2018.

How a combined IBM and Red Hat impacts enterprise Java

IBM's $34 billion dollar acquisition of Red Hat brought two of enterprise Java's principle forces together. In 2018, Oracle relinquished its control of Java EE and the Java Community Process to the Eclipse Foundation. Both IBM and Red Hat played key roles in the creation of Jakarta EE, and each had a spot on its Steering Committee.

The fact that two of the six strategic companies on the Steering Committee have merged raised some concerns. Critics have long taken Oracle to task for the hegemonic direction of Java EE. With two of enterprise Java's leading forces now merged, IBM-Red Hat will have considerable pull over the future of Java programming.

It's unclear whether IBM and Red Hat will direct the future of Java as Oracle once did. More than likely, the IBM-Red Hat merger will accelerate enterprise Java's evolution into cloud-native and microservices so it can compete with environments such as JavaScript and Go.

Should we still teach Java in 2018 as a first programming language?

About a decade ago, Java was still the go-to programming language in introductory computer science courses. Java in 2018, though, can no longer boast that distinction. Many departments have flipped to Python or C++ as their introductory language of choice.

It makes some sense that Java is no longer the first programming language students learn. Java is a verbose, compiled language with a bunch of different Java Development Kits to pick and choose from. For programmers just starting out, it can be easier to cut your teeth on a simpler, object-oriented programming language or even an open source scripting language.

Does this spell the end of Java? Of course not. Java still boasts an impressive ecosystem of tools and a robust support community. Java may not be the first programming language students learn beyond 2018, but there's a good chance they'll use it every day in their first job.

Is programming a profession to grow old in?

Code, as contributor Bob Reselman explains, is a young person's game. Younger programmers can pull the all-nighters and work the startup scene. That's why many experienced programmers eventually make the exodus to management roles. But that's not the path that every programmer wants to walk. Some programmers want to continue to create code and solve problems.

Reselman asked technologists Charles Petzold, Steven J. Vaughan-Nichols, Dave McCarter and Derek Zott why they chose the path closer to the code than to the C-suite. All found hands-on coding a viable profession, but some found that management positions don't provide the freedom or creativity that lured them into the technology industry.

Ultimately, there's another path programmers can take if they eschew the Bill Gates route to CEO glory. They can take the equally challenging and rewarding path of the wizened technologist -- like Steve Wozniak, Martin Fowler and Grady Booch.

How to become a good software architect in 13 steps

The role of the software architect involves more than just development and design. While not every architect needs to claim the mantle of full stack developer, he or she should possess expertise and experience in technology, as well as the soft skills to be a good leader and communicator.

Modern software architects need to design the tools, architecture and processes that the development team will use. Software architects are responsible for developing a project's coding standards.

They'll also need to act as mediators between the business and development teams. This means architects need to know development -- as well as developers and business goals -- and business leaders. Contributor Mark Spritzler shares 13 steps you can take to become a successful software architect.

How to integrate DevOps practices with a dojo

Some organizations think a DevOps transformation is as easy as adopting a few new tools and handing them off to their developers. Verizon found a different way of doing things. It appealed to developer pride and passion rather than assigning a preordained agenda. This is the dojo method -- a chance for hands-on practice without the pressures of the normal software delivery cycle.

The real DevOps challenge isn't establishing a toolchain. Organizations the size of Verizon have universal enough toolchains. But Verizon is also so large that getting 20,000 developers on the same page is nearly impossible.

It's these collaborative DevOps skills -- how to work out the kinks in a more Agile workflow -- that will unlock the ability to deliver quality software faster. The one way to get good at it is to practice in an immersive learning environment.

Dig Deeper on Core Java APIs and programming techniques

App Architecture
Software Quality
Cloud Computing