Saturday, June 11, 2011

Course Review: Developing Application for the Java EE Platform

Last year, I was still doing a lot of java stuff at my current position.  Most of my Java knowledge (as I'm sure is true of most java developers) had been organically grown via many online tutorials, blog posts, tool documentation, and looking at old code.  The latter is probably one of the best and worst ways to learn a language.

I really struggled in trying to understand how all the different java components fit together.  Sure, I could create a web.xml, but how did it all really work?  I wanted to learn more about the specifications that drive the Java platform.  With this goal in mind, I took the course Developing Application for the Java EE Platform from Oracle university. 

The course had many cons, but I did learn a thing or two.

Cons:
1)  The electronic voice that you hear while navigating through this course is truly brutal. You learn very quickly that there is a transcript button, where you can read exactly what the "voice" is saying.  There is also a mute button, a must find in the first couple of minutes.  I swear that Oracle should pay a dollar for every time you have to hear " or navigate by using the tab and spacebar keys".

2) No course notes.  I really really like going back later on and reviewing course notes, especially for reference.  With the SANS courses, you get course notes with all the slides and some of the "transcript".  Really helpful for when you are trying to master skills later on.

3)  Very high level.  The course was designed as more of an intro course, so I knew what I was getting into.  I found the course didn't really focus on how to do things, or common ways a developer would take advantage of the various (and I mean various) Java specifications.  For example, it is great to know that JAXB is an architecture for xml binding, but what do you do with it? What are some common implementations?

4)  Session timeout.  The player would still function (if say, you were within a module and just clicking the next button) even if you had your session timed out.  This was great as I could start a section and then leave to go do something.  I would come back to find the player still functional and assume that my session was still valid.  I would click through the rest of a module and finish only to find that my session was timed out and that I would have to redo everything I just did.  It was pretty frustrating because of the next point.

5)  Complete means clicking through every page.  Yawn.

Pros:
1)  Lots of good information from the "source".  It is one thing to read some tutorial on how to do things, and another to actually read about what the specification is actually supposed to do.

Overall, I learned a fair bit from this course, even if it was just solidifying what I already knew.  I'm not sure I would take another oracle course as the delivery format was really hard for me to deal with.