Tuesday, August 26, 2008

Java The Master

So, lately my main programming skills have been focused on the Java language. I programmed Java in my previous jobs and in my current one, and I think I'm able to become a "Java Senior". Nevertheless, I'm still being seen as a SemiSenior by companies, therefore I have a new quest: to master Java. This all started when I entered at Java Black Belt and I realised that there is so much I have to learn about.
How? not sure yet. As I usually worked in core technologies (usually for a backend server) now I'm going to learn what I should know:

  • A better understanding of the Spring Framework. The beans, the IOC, its MVC, if possible something with its aspects (comparison with AspectJ?)
  • A better understanding of Hibernate, ORM and JPA. Some people say you shouldn't write SQL anymore. Others say Hibernate won't fit complex requirements (or performance). Let's see and try.
  • The Struts Framework (second version). How does Struts makes my life easier? Let's build some nice server! Comparison with Spring MVC?
  • EJB 3: Is EJB obsolete? I don't know but it won't hurt to know something about it.
  • Servlets. Tomcat won't be a mistery anymore. Let's learn about web.xml! And the most interesting part: let's see how the servlets connects to http from one side and to an mvc or application server from the other side.
  • Ant! I used Ant several times, but now I have a 700-pages book about it, so something tells me there's a lot about Ant that I don't know (by the way, I need a Maven book!)
  • JTA: Do you know I love transactions? If I have to choose to work in an open source project, that would be the commons-transaction from Jakarta. Someone said XA?
  • JMM: A few days ago I read the JSR about Java Memory Model. Nice! Some crazy stuff may result if you don't properly synchronize your fields that are read by several threads. But really! Everyone in Java should read it! Search for JSR 133 and you'll find it.
  • SCJP: Aha! The top of the cream! I'm not sure if I'll take it but I should learn enough to be confident that I would pass it.
Of course, The most difficult task is to find the time to do all this stuff.

No comments: