After 2,5 years of professional Java programing, I still have problems that make my job difficult and, more importantly - more times that I would like to admit - not enjoyable. I would like to ask for advice by more experienced people on ways that would help me overcome them.
These are the problems I have:
- I do not absorb new knowledge easily. Even when I understand something, after a couple of days I easily forget even basic stuff. Other co-workers, even with the same working experience, when reading new technologies put things easily into "context", and are able to compare in "real time| similar technologies they already have used.
- I always try to address all the issues to whatever I am doing at one go, which results in me trying to resolve too many problems at the same time, losing completely control. I find it difficult to make my mind on a single problem that I should address first, and even when I do, and find myself throwing away code that I wrote because I started addressing the wrong issue first.
- As far as architecture and data modeling is concerned, I have difficulty making decisions on what objects must be created, with what hierarchy, interfaces, abstraction etc.
I imagine that - to a certain degree - these things come with experience. But after 2,5 years of Java programming, I would expect myself to have come much farther that I have come, both in terms of absorption and experience.
Is there a way to improve my learning speed? Any books, methods, advice is welcome.