On May 16th approximately 14,000 Java developers from around the world will converge on San Francisco for the annual JavaOne conference. I'll be attending the conference for the first time this year so I spoke to JavaOne alumni Joshua Smith from General Dynamics about what to expect.
[Ed] Have you been to many of the JavaOne conferences?
[Joshua] Last year was my first year at JavaOne. I've been programming in Java for a number of years, but never had the opportunity to get out there. "I left JavaOne last year with a very strong sense of where certain technologies were going and that significantly affected my selections for current and future projects."I found that it was very helpful to me in a number of respects.
What did you get out of it?
First, you learn a lot. Most of the people that are doing the talks are the key players with that technology. Either they're one of the core developers of it, or they've written the book on it. For example, you could get information about JavaServer Faces (JSF) from a lot of different sources. Some of them good, some not so good. Or you could get JavaServer Faces information from Kito Mann. He's the one that wrote JavaServer Faces in Action for Manning Press and runs JsfCentral.com. The caliber of speakers is very high. Part of this has to do with the high number of submissions they get from people desiring to do presentations. You basically have to write a thesis and they use that to decide who gets accepted.
The other thing that I think was indispensable for me was being able to see the direction that a lot of these technologies are taking. For instance, if you're selecting a web framework, how do you decide between the dozens that are out there? Should you select Spring, EJBs, Tapestry, Struts, JSF? There's so much involved in that decision. Hearing the sessions and people talk about the direction that things are moving makes that easier.
For instance, it's helpful to know that they guy behind the very successful Struts project is part of the team that has been working on JSF and he sees JSF as the best direction for the Java industry. It also helps to know that he's now playing with something called Shale that may very well be the next big thing and will fit nicely with JSF. These kinds of insights are really hard to get by simply reading web pages and such. I left JavaOne last year with a very strong sense of where certain technologies were going and that significantly affected my selections for current and future projects.
So does your employer send you or do you pay your own way?
As for the finances, my employer foot the bill last year and this year as well. It came out of the training budget. I'm not sure if I'll be able to get them to do it again next year, but I'll certainly try. The conference is so advantageous, that I would be willing to put some of my own money towards it to go if that's what it takes.
What are you looking forward to in particular this year?
This year I want to focus on a few things. First, JavaEE 5 is coming out and that means major changes with EJB 3 using Java annotations. I want to get a sense of whether people are accepting these changes to EJB that are supposed to make development so much easier.
Second, I'm very impressed with some things that have been happening in the Swing world. The SwingLabs and Matisse projects are top notch. If you get a chance to view some of their "Lookin' Good" or "Running Fast" demos, you will definitely be impressed.
Lastly, I want to focus on a lot of the "best practices" type sessions. That means anything lead by Joshua Bloch, the stuff dealing with the latest version of JUnit and anything about patterns. I've found that I benefit a lot from the sessions where they're explaining how to make functional code elegant. The result is something that is more solid, easier to test and easier to maintain.
What was your favorite experience from last year?
Hmmm. That's a tough one. Actually, this might surprise you. I saw a bunch of wiz-bang, high attendance, big name keynotes (which were very good - especially the one from Oracle showing off ADF Faces), but there was a Birds Of a Feather (BOF) session"[The room] was packed to overflowing with people scrawling down notes that you knew they were going to take back to work and use right away." that I saw one evening that I got a ton out of.
Basically, it was a small software team that was stuck using a bunch of Windows machines for a development environment and they cobbled together a collection of technologies to help them do their development and ended up with a pretty slick setup. The guys were just average guys. They didn't know all the answers, but they were down in the trenches, learned a thing or two and wanted to share those lessons learned with others so that they could benefit from them too. It was a tiny hotel conference room (most of the BOF sessions are) that was packed to overflowing with people scrawling down notes that you knew they were going to take back to work and use right away. Very cool.
Do you use an IDE? What's your favorite one?
My favorite IDE is Eclipse, but I also use other tools as appropriate and am very impressed with some recent things done by the NetBeans folks. I'm so impressed that I altered my schedule to fly out a day early for NetBeans day so I could see some of the work that they are doing with drag and drop GUI design in Matisse and drag and drop data binding in Creator 2.
"Eclipse is still superior in a number of ways... but NetBeans is doing some great stuff too" The folks on the Java Posse podcast talk a lot about NetBeans and after working through a few hands-on tutorials with it, I can see why. Eclipse is still superior in a number of ways - most notably in refactoring and support for non-standard Java technologies, but NetBeans is doing some great stuff too and so I'll probably be using a combination of IDEs depending on which one fits the specific task.
What should I expect at my first JavaOne?
Be prepared to be really tired. There is so much to see at JavaOne. You can start first thing in the morning and go pretty late in the evening without every having the chance to let your mind stop. Also, I would recommend making sure you have some good batteries in your laptop because outlets are a prized commodity. I've seen more than one outlet in a conference room that was loaded up batteries charging.
Another thing is to make sure that you plan your schedule well. The JavaOne web site has a schedule building tool that can help with that, but the tool only lets you have one session scheduled for any time slot and I've found that it's helpful to have a few options so if you arrive at one session and discover that it's not what you were expecting you can run off to another one. [Ed's note: this year you must use Schedule Builder to enroll into your preferred sessions, and empty seats will be given away 3 minutes prior to the session start.]
I think you'll have a great time.
Joshua Smith is a Principal Engineer, Software for General Dynamics in Annapolis, MD.