Get started Bring yourself up to speed with our introductory content.

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.

This was last published in December 2018

Dig Deeper on Software programming languages

Join the conversation

2 comments

Send me notifications when other members comment.

Please create a username to comment.

Where do you think the future of Java lies?
Cancel
I have found 3 serious gaps in the article from the perspective of the Architectural professional with 30 years of experience from a tester to developer to architect to corporate level solution architect. Here they are:
1) "Code ...is a young person's game". Agree, but a young, this person better put attention on coding - how to do it - rather than on what to do and why. Steve Wozniak and Martin Fowler still see the world via developer's eyes while the world is quite different and has goals, objectives and understanding of efficiency totally different that available for the coders;
2) "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." - Everyone should aim to become professional. While technical expertise is a must have for the good architect, s/he does not need to participate in development (how) but rather should address what, why, where, when and for whom questions. A good architect learns new technologies not by the coding, but by answering mentioned questions and it is not seldom when inconsistencies of these technologies surface with no coding practice. Architects do not design tools - there should professional tool designers. The primary task for Architects is to design or modify Architecture while the processes relate to Architectural Governance. 
3) "some found that management positions don't provide the freedom or creativity that lured them into the technology industry" - do not think that code development provides more 'freedom or creativity' than management - the development creativity is (should be) constrained by architectural solutions, deployment and delivery architectural and operational requirements. These are simply freedoms in different realms, not more or less creative.  
Cancel

-ADS BY GOOGLE

SearchCloudApplications

SearchSoftwareQuality

SearchHRSoftware

SearchSAP

SearchERP

DevOpsAgenda

Close