In the last year I’ve been picking up more and more Java, I did this for two reasons.
The most personal one is that I wanted to learn how to write Android programs. First, because I own an Android phone, second, the mobile platform is a platform where a small individual developer can write useful apps and there obviously is demand and a future for such skills on the market as well.
I bought Android books, but later discovered that you don’t need books to learn Android, and by the time you dive into them Google is releasing a new version of the SDK that makes the book nearly obsolete. There are much better resources online that cover the basics of writing Android programs and stay up to date. Google’s Android Developer Training is an excellent place to start.
The second reason I learned Java is more professional in nature. My daily work involves maintaining JavaEE applications and it behooves me to understand something about the way they run. It’s much easier to grasp things on a more tangible level and troubleshoot problems if you know something about JavaEE programming how applications work internally, how they access resources, and what logic goes into making the applications do what it is they do. I bought some books for this, mainly JavaEE changes very little or is not as fast paced as it is made for enterprise environments. So the information in the books don’t deprecate nearly as quickly. I also to a self-paced online course that required some programming exercises. Most of this was specific to IBM Websphere, but very little of it is anything more then an IBM implementation of a pre-existing JavaEE standard. This has resulted in the opportunity to do some coding work on an actual application. Something I’m already seeing the fruits of.
Who knows one or both of these two may hold future careers for me if I ever decide to get out of the system administration game. I couldn’t tell you which, and while there are other languages out there that hold my interest and are in many ways more fun, truth is Java is very marketable in the business environment. I see more of both JavaEE and mobile development opportunites in my own workplace as well as in the IT market at large.