This article appeared originally on New Relic.
Amazingly enough, some people don’t find coding exciting—it’s just another boring job to them. But while there may be plenty of boring programming jobs out there, that doesn’t mean you have to settle for one of them. Programmers have all sorts of opportunities to do something interesting with their skills, especially if they know Java.
javalogoJava is perhaps the most popular language among employers right now, which means there’s a huge variety of job choices. With a little looking, you can find a job that lends interest to your life and actually makes it fun to go to work in the morning. Of course, what might interest one person may not do much for someone else, so check out these ten surprisingly cool ways to earn a living with Java for inspiration on positions that can keep your programming career fresh and interesting:
The National Aeronautics and Space Administration (NASA) uses Java for a number of interesting applications. A recent favorite is World Wind, a Software Development Kit (SDK) that lets you zoom in from outer space and examine any location on earth. The data source is a combination of Landsat satellite imagery and Shuttle Radar Topography Mission data. An amazing 90 applications have already been built using this SDK, so imagine being one of the people to work on the code that makes it all possible. Another newly announced application finds bugs in Java code. If you want to discover the role that Java played in various space missions, check out this interview. You can find a list of job listings for NASA at a number of sites, such as Indeed.
You probably hear a lot about the Internet of Things, but just looking at IoT products may not be all that exciting. What is interesting is creating your own devices using products such as Sun SPOT and Java. The main focus of products such as Sun SPOT is to help developers embrace embedded technologies to create things like smart cars and refrigerators. But these sorts of products also inspire innovation—the only limiting factor is your imagination.
Java is being used in all sorts of robotic applications. Some may seem mundane, but others are pretty exciting. For example, Java is part of the solution for the Team Jefferson self-driving car named Tommy Junior that participated in the 2007 Defense Advanced Research Projects Agency (DARPA) urban challenge. Tommy’s secret sauce is Perrone Robotics’ MAX operating system, which lets the team use off-the-shelf components such as sensors and actuators. The goal is to create a self-driving robotic vehicle that people can actually afford. Tommy Junior cost a mere $50,000, which included the cost of the automotive platform. Because the device relied on off-the-shelf components, it was up and running in 24 hours.
Once upon a time, doctors made actual house calls, visiting patients in their homes. This may not have been efficient for the doctor, but it sure was convenient for the patient. Now, there is a booming medical solution designed to let the doctor stay in the office but still see patients in their homes. One such project is Doctor Online, which relies on Java to code the application modules. This system includes a full suite of modules designed to make doctor and patient interaction convenient and fast. As the medical profession looks for less expensive ways to address patient needs, look for an ever expanding role for developers in creating the required software.
Many organizations move to Java because it provides strong performance and scalability when used with large applications. For example, Twitter moved a good part of its application from Ruby on Rails to the Java JVM for this very reason. The interesting part comes in converting the code from one language to another and overcoming potential problems with such a move. As a developer, you’d be in on the ground floor of an exciting update of an established application that’s used by millions of people.
Firms like Industrial Light and Magic rely on Java for all sorts of programming needs. In fact, you can often find jobs at ILM for just about any development need. The fun part about working with places like ILM is that you get to see the results of the applications you put together on the big screen. Currently, ILM uses a combination of Java and Python to handle tasks like sequencing animation scenes.
A lot of games today used Java as their programming language because it works everywhere and the JavaFX graphics package makes working with the kinds of images that gamers use easy. In fact, there are gaming development sites, such as Java-Gaming.org, that are dedicated to the needs of the Java developer. It’s not just the community support either. You can find specialized libraries for gaming development, such as Lightweight Java Game Library (LWJGL), that make creating games in Java much easier. Games such as RuneScape depend on Java for basic programming needs.
As with many languages, Java is increasingly used for cloud development purposes. It’s not just the idea of creating new applications in the cloud or moving existing applications to the cloud, but mixing cloud, mobile, and desktop applications in ways that let users rely on a common skill set wherever the application is used. Java’s long-standing ability to run anywhere make it a perfect fit for cloud development. Companies such as Belatrix specialize in cloud-development outsourcing, while Heroku provides Java-specific cloud services. Companies such as Silicus are engaged in exciting projects such as enhancing a Google Apps User Administration Tool (along with other successes).
There has always been an association between number crunching and mad scientists (perhaps because people think both are less than understandable). Many developers don’t think of Java as the best language for numeric processing and scientific needs (check out this Stack Overflow message thread). Sure, Python is more widely associated with these kinds of programming tasks, but you can use Java as well. In fact, Java can be a better solution when you need to combine heavy numeric or scientific processing with smooth 2D or 3D graphics output. In order to make Java a great platform for the budding mad scientist, you need a library such as JScience or JSci. Sites such as Glassdoor provide listings of interesting jobs you can get working with science and Java.
A large number of schools rely on custom Java applications. Until just recently, Java was the language of choice for learning programming skills in schools (though it has recently been overshadowed by Python). The thing that makes creating applications for schools interesting is that you tend to write a wider variety of smaller applications than you’d typically find in the business world—you could be coding an application to track student statistics one day and a modeling process for a lab another day. In addition, when working with some applications, such as lab setups, you get to work with minds whose creativity hasn’t been dulled yet by the business world, so you get all sorts of great input and ideas. Freelancer provides listings of some jobs in this category.
These ten interesting ways to work with Java merely scratch the surface of how to rejuvenate your love of programming. Java is so popular and widespread that there’s a practically infinite number of ways and places to do fun and fascinating things with the language. Whatever you want to do, Java skills can be your ticket to a fun career with no room to be bored.