Como me tornar um programador Java confiante?

Estou estudando Java há algum tempo (possuo certa experiência com PHP e Web Front-End), com foco na web. Já li a apostila de Java Web, da Caelum, e agora estou lendo o livro Programação Java para a Web, da Novatec.
Eu queria saber de vocês o que eu preciso para ter confiança com o Java. Percebo que são muitas as configurações de vários frameworks e bibliotecas, agora mesmo estou vendo o Hibernate; eu preciso decorar todos os códigos dessas configurações (hibernate.cfg.xml, por exemplo)? Quais dicas vocês podem me dar?