7 Steps to Become an Outstanding Java Developer
If you are a Java developer and passionate about technology, you can follow these 7 steps which could 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 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. 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.
3. 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.
4. Follow blogs and respond
We 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.
5. 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.
6. 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.
7. 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!