Over a million developers have joined DZone.

What Developers Need To Know About Java

Focus on developing your coding skills since companies are looking for the best programmers and engineers and have less concern for a particular language.

· Java Zone

Discover how powerful static code analysis and ergonomic design make development not only productive but also an enjoyable experience, brought to you in partnership with JetBrains

To gather insights on the state of the Java ecosystem today for DZone's Java Ecosystem research guide to be published in September, we spoke with 15 executives who are familiar with the Java ecosystem.

Here’s who we talked to:

Joel Depernet, E.V.P. Global Research and Development, Axway | Sacha Labourey, CEO and Founder, CloudBees | Rick Reich, CEO, Development Heroes | Asad Ali, Principal Software Developer and Lisa Hamaker, Marketing Manager, Dynatrace |  David Park, V.P. of Products, HackerRank |  Charles Kendrick, Founder and CTO, Isomorphic Software | Wayne Citrin, CTO, JNBridge | Raymond Augé, Senior Software Architect, Liferay | Laura Kassovic, Founder, MbientLab | Cameron Wilby, Co-Founder, Origin Code Academy | James Faulkner, Technology Evangelist, Red Hat | Paul Trowe, CEO, Replay Games | Calvin French-Owen, CTO and Co-Founder, Segment

We asked our respondents, "What do developers need to keep in mind when working with Java?" Here's what they told us:

  • Java has been around a long time. As you use different software patterns make sure you know how your code will impact production. Think about the bigger picture. If you’re providing APIs to other coders, keep contracts in place.
  • Get a book on programming for limited memory devices. Learn how to push pixels on small devices. Once you learn to do that you can work on any device since they’re all larger and faster.
  • Do not feel uncool using Java. If you learn Java, you have access to a vast, robust ecosystem.
  • New developers need to understand the benefits of object-oriented programming, syntax, and ensure objects are easy to understand. Code libraries can help developers get started.  There are so many resources like Lynda and Your Site that Java has an easier entry point than any other language. Java stays cool because of JavaScript. Smart developers are able to iterate the smallest need using JavaScript. Java drafts off the coolness of JavaScript providing so much cross-over browser support to consider anything else.
  • Always have a primary skill to ensure your stable employment. Look for a secondary skill, something you find fun that will provide you with “developer insurance.” Stay agile. Look for what you’ll need to be able to find a job. Learn how to think critically about problems.
  • Keep in mind the tooling. It’s getting better but lags behind other platforms. I have high hopes for containerization. Cloud-based development tools will improve. They will be preconfigured to work making your job easier. Ensure tools are good.
  • Developers need to remember that Java’s static-type checking is just another form of automated testing.  Structuring code to allow more static-type checking needs to be weighed against other forms of automated testing. Specifically, we find that if a developer has spent too much time with Java to the exclusion of other languages, they tend to expend heroic efforts structuring code so that it’s possible for the Java compiler to check more error conditions. This effort is usually better spent on automated tests, which can catch a much wider range of error conditions.
  • Java is not necessarily the best solution for all applications. For example, the JVM will always consume more memory than an equivalent C program, scientific computing and numerical analysis is typically handled with Python, and C# has constructs for asynchronous programming built into the language.
  • Java has a very mature standards library. Detailed structure is already implemented. Learn to appreciate the tools that are available and leverage the hell out of them.
  • Try to understand some domain of software very well – I’m partial to Java. There is less opportunity for advancement if you’re too much of a generalist. You need to know the fundamentals. Don’t avoid a language because it’s too time consuming to learn. The more you know about how a software works behind the scenes, the more valuable you become. Knowing the principles of how something works is fundamental. Keep learning.
  • Full knowledge of Java is a good basic skill to have. It’s a key investment for developers. Know the libraries but be sure to choose the best solution for the problem you are trying to solve being aware of the vagaries of similar libraries (i.e. some have security patches, others do not).
  • Companies are looking for the smartest engineers. They are less concerned with knowledge of a particular language. People who have strong coding skills, know the fundamentals of computer science, as well as real world application. Know how to program for the Java application server and how to make API calls. Know core computer science and algorithms. Companies are looking for developer with strong fundamentals. Practice core algorithms and data structures to become familiar with the concepts.
  • Learn from the experts. Don’t reinvent the wheel. You learn the hard way in school. Look for simpler ways in the ecosystem. Get involved with Open Source. Start small with a one-line bug fix and move up.

What advice do you have for developers when working with Java?

Learn more about Kotlin, a new programming language designed to solve problems that software developers face every day brought to you in partnership with JetBrains.

career development,java,java ecosystem,jvm

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}