Twenty Years of Changes for Java Programmers

Java Programmer

When the Java programming language was first announced in 1995, there was a buzz about it possibly changing the world of software development. It did. Since the ‘90s, Java has established itself as a top language for enterprise development; meanwhile, the job of a Java programmer has changed dramatically.

Interfaces and frameworks

In 1995, Java used the Abstract Window Toolkit (AWT) for creating user interfaces. A few years later, Swing displaced AWT. Now, history is repeating itself as JavaFX does the same thing to Swing. Since JavaFX allows java programmers to have a unified system for writing UIs that works across a variety of different platforms (and includes Swing on desktops), Java programmers can more easily write cross-platform Java apps.

Java programmers have gone through similar changes in Web development frameworks, with Apache Struts – created in 2000 – building on top of the Java EE SDK to give a more structured approach to web development than Java Server Pages. 2002’s Spring framework has become quite popular as well for development: It gives a consistent and comprehensive approach to Java development and provides a broader approach, enabling more than just the MVC pattern. The Spring framework has provided order and common, reusable components to the world of Java development, reducing the need for boilerplate code or creating custom code which must then be rigorously tested. This has allowed Java developers to focus on solving business problems instead of technical problems.

Android changes the game for Java programmers

In 1999, Oracle made a very famous (and expensive) bet on the “Network Computer.” The idea behind the Network Computer was that it would run an embedded Java environment, have no hard drive and run applications from the network. While the Network Computer product itself may have been a flop, Oracle's vision of it has been realized with Android. (Mobile phones do have a bit of storage on them and they do run applications locally, but the premise is the same: A portable device running Java that can leverage the massive computing resources of a data center through a wireless connection.) Suddenly, Java programmers’ jobs got really interesting: They could now find a use for their skills everywhere from the enterprise data center to the consumer's pocket.

Google's Chromebooks are very similar to the original Network Computer concept and can run Android applications as well. It seems like Oracle's original vision was not wrong at all, just a bit early for its time. Java developers can now "write once, run anywhere" (see next section) if they target the Android SDK.

This has created amazing new job opportunities for Java developers. At the same time, it has brought all sorts of new challenges. For example, the booming Android ecosystem and freedom for manufacturers and users to customize Android has multiplied the number of devices that an application needs to be tested on and the potential places for problems.

Java programmers and Web development

When Java first launched, the aim was to put "write once, run anywhere" applets within web pages. Java gained a lot of attention after Netscape started including the ability to run Java applets within its browser. While applets may have been the foot in the door, the release of J2EE in 1999 gave Java programmers the ability to write Java code to dish out Web pages. The availability of Apache Tomcat – also in 1999 – created the option for java developers to use the completely free, mostly open source stack of Linux, Tomcat and Java. Thanks to these opportunities, Java programming has grown from being a fun way to put animations on web pages to being a major consideration in enterprise web development.

Today’s skills requirements and salary expectations

The Java programmer’s world continues to evolve, with new tools and skills emerging over time to displace currently-popular ones. Java programmers can specialize in many different areas, including web development, software development and mobile app development. As an example, here is a look at the skills required and the salary projection for a software developer in 2015:

Skills: A Software developers need to be detail-oriented and have excellent problem-solving and analytical abilities. They should have good communication skills and be able to work independently and as part of a development team. Employers normally require a bachelor’s degree in computer science or a similar field but may accept a two-year technical degree if combined with several years of practical experience. Equally important are programming skills in languages and frameworks such as C#/C++, HTML, Java/Java Enterprise Edition, Microsoft .NET and SQL Server. A minimum of two to three years of programming experience is a typical requirement. Complex projects may call for additional years of demonstrated achievement.

Salary: Newly hired software developers in 2015 can expect to receive a starting salary in the range of $85,500-$136,250, depending on factors such as experience, industry, local market demand, specialized skills and company reputation. This represents a 6.9 percent increase from 2014.

The Robert Half Technology 2015 Salary Guide contains additional information on current IT trends.