DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • Java 11 to 21: A Visual Guide for Seamless Migration
  • How to Create a Microservice Architecture With Java
  • Ultrafast Persistence on Jakarta EE
  • Techniques You Should Know as a Kafka Streams Developer

Trending

  • Code Reviews: Building an AI-Powered GitHub Integration
  • Using Java Stream Gatherers To Improve Stateful Operations
  • Advancing Your Software Engineering Career in 2025
  • Chat With Your Knowledge Base: A Hands-On Java and LangChain4j Guide
  1. DZone
  2. Coding
  3. Frameworks
  4. 10 Steps to Become an Outstanding Java Developer

10 Steps to Become an Outstanding Java Developer

If you are a Java developer and passionate about technology, you can follow these ten steps which could make you an outstanding Java developer.

By 
Siva Prasad Reddy Katamreddy user avatar
Siva Prasad Reddy Katamreddy
·
Updated May. 03, 22 · Opinion
Likes (59)
Comment
Save
Tweet
Share
317.4K Views

Join the DZone community and get the full member experience.

Join For Free

1. Have a strong foundation and understanding of OO principles

For a Java developer, having a strong understanding of object-oriented programming is a must. Without having a strong foundation on OOPS, one can't realize the beauty of an object-oriented programming language like Java. If you don't have a good idea of what OOPS is, even though you are using the OOP language, you may be still coding in a procedural way. Just studying OO principle definitions won't help much. We should know how to apply those principles in designing a solution in an OO way. So, one should have a strong knowledge of object modeling, inheritance, polymorphism, design patterns, etc.

2. Master the core APIs

 It doesn't matter how strong you are in terms of theoretical knowledge if you don't know the language constructs and core APIs. In the case of Java, one should have very strong hands-on experience with core APIs like java.lang.*, I/O, exceptions, collections, generics, threads, JDBC, etc. When it comes to building web applications, no matter which framework you are using, it's also crucial that you understand concepts around servlets and JSPs — this is a must.

3. Keep coding

Things look simpler when talking about them theoretically. We can give a solution to a problem very easily in theory. But we can realize the depth of the problem when we start implementing our approach. You will come to know the language limitations, or design best practices while coding. So keep coding.

4. Subscribe to forums

We are not alone. There are lots of people working on the same technologies that we are working on. While doing a simple proof of concept on a framework may not give you real challenges, when you start using it on real projects, you will face weird issues and won't find any solution in their official documentation. When starting to work on new technology, the best and first thing to do is subscribe to relevant technology forums. Whatever the issue you are facing, someone else in the world might have already faced it and found the solution. And it would be really really great if you could answer the questions asked through other forum users.

5. Follow blogs and respond

As I already told, you are not alone. There are thousands of enthusiastic technology freaks around the world blogging their insights on technology. You can also gain valuable perspectives on the same technology from other blogs and developers. Some may find specific framework features to be exceptionally useful, while other's might find those features stupid and pointless, giving his own reasons of why he felt like that. So you can see both the good and the bad from other developers using those tools.

Another way to gain value from looking at other blogs is to respond/comment on posts with your opinions and questions. 

6. Read open-source frameworks' source code

A good developer will learn how to use a framework. But if you want to be an outstanding developer, you should study the source code of various successful, popular frameworks where you can see the internal working mechanism of the framework as well as best practices. It will help a lot in using when using frameworks in a more effective way.

7. Know the emerging technology trends

In terms of open-source software development trends, they are growing tremendously. By the time you get a good idea on how to use a specific framework, it risks becoming obsolete as some new framework comes into the picture with super-set of features. Then, the problem you are trying to solve with your current framework may be already solved more easily by the new framework with a single line of configuration. So, keep an eye on what's coming in the picture, and what's going out.

8. Keep commonly used code snippets/utilities handy

Over time, you may need to write/copy-paste the same piece of code/configuration again and again. Keeping those kind of configuration snippets like log4.properties, JDBC configuration, etc. and utilities like StringUtils, ReflectionUtils, DBUtils will be more helpful. I know it, itself, won't make you an outstanding developer. But just imagine some co-developer asks you to help in fetching the list of values of a property from a collection of objects, and then you just used your ReflectionUtil and gave the solution in a few minutes: That will make you outstanding.

9. Know different development methodologies

Be familiar with various kinds of methodologies like Agile, SCRUM, XP, Waterfall, etc. Nowadays, choosing the development methodology depends on the client. Some clients prefer Agile and some clients are happy with the Waterfall model. S,o having an idea on various methodologies would be a real plus.

10. Document/blog your thoughts on technology

In a day-to-day job, you may learn new and better ways of doing things, as well as best practices, architectural ideas, etc. Keep documenting those thoughts, blog about them, and/or share them across the community. Imagine you solved a weird problem that occurred while doing a simple POC and you blogged about it. Maybe developers elsewhere in the world are facing the same issue on a production-deployed application. Think of how valuable that solution is to that developer. So, blog your thoughts, they might be helpful for others or to yourself one day!

Originally published August 2015

Further Reading

10 Tips to Become a Better Java Programmer

How to Become a Competent Java Programmer

Software Developers Need These Killer Soft Skills

Software development Java (programming language) Framework Object-oriented programming Open source scrum

Published at DZone with permission of Siva Prasad Reddy Katamreddy, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Java 11 to 21: A Visual Guide for Seamless Migration
  • How to Create a Microservice Architecture With Java
  • Ultrafast Persistence on Jakarta EE
  • Techniques You Should Know as a Kafka Streams Developer

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!