Enrollment Open for New Java Developer Nanodegree
Written by Nikos Vaggalis   
Wednesday, 31 July 2019

Java? I hear you say. Does this old horse stand a chance in the era of cool programming languages? The short answer is yes and Udacity is just launching a Nanodegree to help devs get up to speed with it. 

UPDATE July 2020 Now suerseded by the Java Web Developer Nanodgreean enhanced and updated version which begins its inaugural presentation on July 14. Look our for our in-depth coverage over the coming months. See  Two New Nanodegree Programs - Java and JavaScript for more details.

Old but timeless, is the answer. Java has always been the favorite - enterprises talked and still talk Java. Look no further than the Fortune 500 list of companies reliance on it. Yes, Blue Chips love it.

The reasons are plenty. The one that enterprises value most is backwards compatibility, being notoriously allergic to radical updates and upgrades. Systems that worked 20 years ago, written in Java 5, should be able to compile and run under version 8. Stability is what matters.

Of course, keeping up with the past carries its own bag of drawbacks since the new designs can't become optimized. For example, compare Java's generic types with C# post modern ones. Java chose to not upgrade its implementation of generics in order to avoid breaking old code, but that decision meant that they would indefinitely remain constrained by their underlying Type erasure.

That, of course, doesn't mean that Java is not getting upgraded with modern goodies. See version 8 for example which, amongst the groundbreaking features it brought, it also modernized the language with functional programming capabilities, through lambda expressions and friends.

javanano1

 

It is true that in cutting edge and niche sectors, like in developing for Android or in SPA's backend server side development, Java is not the cool kids' favorite any longer. In the former case superseded by Kotlin and in the latter by Javascript/Node.js. However, that doesn't mean that it cannot do the job. Frameworks such as Spring Boot or support for WebSockets prove that point. Of course, more traditional niches like finance or manufacturing still prefer being powered by this aging workhorse. Always remember: Banks still code in Cobol!

Under a more frequent release cycle than it used to, already jumping from version 9 to 12 in just two years time, the language looks set to be refreshed with the latest developments. And, while that's too many releases in such a short time, syntax-wise the language remains the same; you can still write Java 8 in Java 12. For the counter example and its associated detriments, consider Python 3 breaking syntax level compatibility with Python 2.

Modernization does not stop at the language and API level. Support for Java is built into the newest tools too. So aside from the venerable Eclipse and Netbeans, you can also write Java in Android Studio, Intellij IDEA and lately in Visual Studio Code.

Of course, the debate on whether Java is still free, caused a lot of commotion. We detailed that in "Is Java Still Free?", but to sum it up, yes, Java is still free through its OpenJDK incarnations.

What prompted me to write about Java was Udacity's announcement of its newest offering, the Java Developer Nanodegree. I immediately saw it as a first class opportunity to sharpen my Java skills in order to better secure, or even expand, my job prospects. According to Dice's latest Tech salary report, Java developers still earn around $105K on average in the US; more or less, the same holds true all around the world.

The promise of the Nanodegree is to :

Equip students with the unique skills
they need to build enterprise-scale applications with Java.

A graduate of this program will be able to:

  • Understand the fundamentals of Java, while being introduced to a Spring Boot framework and
    associated integrations and plugins.

  • Describe the differences between web services, APIs, and microservices, develop REST and GraphQL
    APIs, and learn how to secure, consume, document, and test those APIs and web services.

  • Work with relational and non-relational databases, use Java to read/write and build test cases for MySQL and MongoDB, and build persistence for Java applications.

  • Learn about Git, version control, and best practices for authorization and authentication. Use Jenkins to build CI/CD pipeline to deploy code to production.

This knowledge is going to be solidified through practical experience by taking part in a number of modern projects:

  • Project 1: Create a chat room app using Spring Boot. Build a web-based chat room application using Spring Boot and WebSocket components.

  • Project 2: Develop the back-end system for a car website. Use Java APIs and frameworks to integrate different services using different communication styles.

  • Project 3: Build a data store for customer reviews. Build the polyglot persistence layer for a REST API that will support the customer reviews section of a product page in an e-commerce application.

  • Project 4: Implement authorization for an e-commerce application. Use Jenkins to build a CI/CD pipeline to deploy code to production.

With an estimated length of 4 months, commencing on August 13, I consider it as a sprint, an injection of Java skills sandwiched in between the busy developer's time.

And because you are indeed busy, I Programmer is determined to cover the degree's ins and outs, as we did in covering the Android Developer's Nanodegree Insider's Guide series. Enrollment has started and closes on August 13. Stay tuned.

 blueudacity

More Information

New: Java Web Developer Nanodgree

Related Articles 

C++ Nanodegree From Udacity 

Insider's Guide To Udacity Android Developer Nanodegree

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Raspberry Pi CM5 - Expensive And Undocumented
27/11/2024

So the unexpected has happened - the Compute Module 5 has been launched. But it simply emphasises some problems with adopting the Pi as an IoT device.



Remembering Thomas Kurtz, Co-creator of BASIC
15/11/2024

Thomas Eugene Kurtz, the co-founder of the BASIC programming language, has died at the age of 96. BASIC, which was developed for the purpose of education, popularized computer programming making it ac [ ... ]


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Sunday, 23 August 2020 )