Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm a java web developer for nearly 3 years. Always trying to learn more and be better but still I feel that the amount of knowledge is not that good as I want. The knowledge in some places still seems to be non-systematic and don't provide a very strong base to solve the problems as good as I want to do it. The example I have is my senior developer, whose solutions are always more efficient and beautiful.

So, the question is rather simple and hard the same time. What is the right way to get my knowlege be more systematic and therefore improve it's quality. I understand that there is no practically good answer for the all java programming, so let's focus on the modern java web or nearly web technologies:

  1. JSF 2.0
  2. JPA2 and Hibernate as persistence provider
  3. Web services
  4. and Java SE as a core.

What methodologies or books or learning technics lead to the strong knowledge base within the given knowledge area?

share|improve this question

4 Answers 4

up vote 2 down vote accepted

To improve yourself as a developer you can look at your general computer science and programming skills. There is no single resource or approach to improvement. Depending on your skills in each area you may need a lot of different resources.

This programmer competency matrix classifies programming skills in levels. You can use this as a guide to reading (on-line and books) as well as practice (exercise projects or help with open source projects). Most of the skills mentioned are not technology specific instead they look at broader areas such as algorithm knowledge and problem solving techniques. A deeper understanding of these areas can help you produce efficient and beautiful solutions.

share|improve this answer

Are you expecting to get to a point where you are satisfied with your level of knowledge? What then? Do you plan to stop learning?

There isn't a single person on this forum that doesn't feel that they can't continue to improve their skills somehow. We are in a field that encourages and thrives on lifetime learning.

The fact that you are worried about improving your skill level says a lot about your character and level of motivation. Keep challenging yourself, keep reading technical articles and blogs, experiment with new technologies, and explore technologies outside of your comfort zone.

The way to get better at Java (OR INSERT_LANGUAGE_HERE) is to also explore the basics of other languages. You will begin to see the correlations and differences between the different abstractions. It will be an exciting moment for you the day you are studying Python or PHP or (INSERT_LANGUAGE_HERE), when suddenly, something trips in your mind that lets you see a Java concept in a whole new light with an entirely new level of clarity.

share|improve this answer

You shouldn't stick to a language. The task chooses the language and not the other way around.

The example I have is my senior developer, whose solutions are always more efficient and beautiful.

What is the right way to get my knowlege be more systematic and therefore improve it's quality

After reading your own words, I'll just give my answer assuming you wan't to be an excellent developer, and not a good "Java web developer".

You are lucky to have someone you can lookup to. Use that, learn as much as you can from him.

As for books, most people (myself included) would recommend "The Pragmatic Programmer", "Code Complete" a few similar books.

share|improve this answer

The best way to learn is through experience. You can read a lot but it doesn't normally stick unless you put it to good use.

I would suggest keep working on web project and pay close attention to feedback from your senior developer. If your job is not giving you enough projects in the area that you desire try a smaller one in your free time.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.