10 things to become an outstanding Java developer
If you are a Java developer and passionate about technology, you can follow the tips below, which will make you an outstanding Java developer.
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 a strong foundation in 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 an OOP language, you may still be coding in a procedural way. Just studying the definitions of OO principles won’t help much. You should know how to apply those OO principles when designing a solution in an OO way. So, one should have strong knowledge of object modeling, inheritance, polymorphism, and design patterns.
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 Web application development, no matter which framework you are using, having strong knowledge of Servlets and JSPs is a must.
3. Keep coding
Things look simpler when talking about them in theory. We can provide 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’s limitations or design best practices while coding. So keep coding.
4. Subscribe to forums
We are not alone. There are a lot of people working on the same technologies that we are working on. Doing a simple proof of concept on a framework may not present real challenges. But when you start using it on real projects, you will face weird issues and you won’t find any solution in their official documentation. When you start working on a new technology, the best and first thing to do is subscribe to that technology’s forums. Whatever issue you are facing, someone else in this world might have already faced it and found a solution. And it would be really great if you could answer the questions asked by other forum users.
5. Follow blogs and respond
As I already said, you are not alone. There are thousands of enthusiastic technology enthusiasts around the world blogging their insights on technology. You can see different perspectives on the same technology on blogs. Someone might find great features in a technology, while someone else feels it’s a stupid framework, giving their own reasons for why they feel that way. So you can see both the good and bad of a technology on blogs. Follow good blogs and respond/comment on posts with your opinion.
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 and popular frameworks, where you can see the internal working mechanism of the framework and a lot of best practices. It will help a lot in using the frameworks in a very effective way.
7. Know the technology trends
In open-source software development, technology trends are constantly changing. By the time you get a good handle on a framework, it might become obsolete, and a brand-new framework with a superset of features might have come into the picture. The problem you are trying to solve with your current framework may already be solved by the new framework with a single line of configuration. So keep an eye on what’s coming in and what’s going out.
8. Keep repeatedly 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 kinds of configuration snippets, like log4.properties, JDBC configuration, etc., and utilities like StringUtils, ReflectionUtils, and DBUtils, will be more helpful. I know this in itself won’t make you an outstanding developer. But just imagine a co-developer comes and asks you to help fetch the list of values of a property from a collection of objects, and you just use your ReflectionUtil and provide the solution in a few minutes. That will make you stand out.
9. Know different development methodologies
Be familiar with various kinds of methodologies like Agile, SCRUM, XP, Waterfall etc. Nowadays, the choice of development methodology depends on the client. Some clients prefer Agile, and some are happy with the waterfall model. So having an idea of various methodologies would be great.
10. Document/blog your thoughts on technology
In your day-to-day job, you may learn new things, new and better ways of doing things, best practices, and architectural ideas. Keep documenting those thoughts or blog about them and share them with the community. Imagine you solved a weird problem that occurred while doing a simple POC and you blogged about it. Maybe a developer elsewhere in the world is facing the same issue on a production-deployed application. Think how important that solution is for that developer. So blog your thoughts; they might be helpful for others or for yourself.
Related content
- Should you use Lombok? Or, is it bad for you?
- My attempt to understand why people perceive Java as complex
- Improve JPA application performance using HypersistenceOptimizer
- Tutorials
- Philip's Testing Spring Boot Applications Masterclass Course Review