I have approx 9 years of experience in the IT field. I've mainly worked on web applications and currently am looking forward to become a technical architect for J2EE applications.
I usually face this challenge; in order to learn a new technology in depth I usually refer to a book. I was recently going through 'Java Persistence with Hibernate' to get in depth knowledge on Hibernate. It takes usually a month for me to complete reading the books/doing some R & D to know about how the APIs work and writing some sample program from books. I should mention that my reading is mostly done in spare time out of my regular project work.
At the end of this exercise I get a decent idea about the technology and how it works (its uses in applications etc...).
However after couple of months, I also start forgetting about what I read in my previous book (or about previous technology). Mainly because the project on which I work on do not use those technology, so if you do not practice, you will forget those things.
For ex: I recently read about FTL, but in my project at the same time we were using plain JSPs, so I did not get chance to apply my FTL knowledge there and I forgot most of what I read about FTL.
On one hand, I love to know more about the technologies around us and at the same time I want to keep that knowledge with me so that I could use it in future when needed.
What am I doing wrong here? I sometime think that:
- I should spend more time on one technology before switching on next, so that I could remember most of it.
- My approach towards learning about new things this way is wrong.
- Learning through Books might not be a good approach.
- I need to do something extra to keep my learning up to date (but frankly what is that extra; I don't know).
I need some help here.