Tuesday, May 22, 2007

JavaOne Day 2

Yes, it was too good to believe. We had been walking around San Francisco for the last 2 days in T-shirts, and even feeling a little warm around lunchtime. On Wednesday morning, I was greeted by this familiar sight of fog from my hotel room window. Good thing I brought my orange Java fleece jacket, did't want to be caught without the right clothes even though the hotel is so close by. There is always a chance of meeting an old friend and ending up somewhere much further late in the evening. The nippy weather is a nice change (for me) anyway, any remaining jet lag would be offset by a good cold jolt to the senses. Its funny how different things trigger off certain memories for people. When I see fog, the first thing I think of is all those races I've done in the city. From my first Bay To Breakers in 1986, to the Alcatraz tris I did from '90 to '94 (minus '92 when I ripped my knee playing soccer for Sun's men's team). I retired from racing so long ago, yet fog always brings back vivid memories of swimming in the SF bay (which I've probably swum some 80 miles in ... but that's another story). Brrrr! Sandeep (my army buddy) & I have painful memories of being too poor (or cheapskate) to buy wetsuits so we used to swim around the Berkeley Marina in speedos. With those memories in mind, I walked off briskly to meet Chuk & Joey downstairs.

If this were my first or second JavaOne conference ever, I would probably be excited about attending the General Session from the largest software company in the world that is not a monopoly (yet ;-) ). But seeing how I had been quite disappointed from attending the Oracle 'keynotes' in previous years, I decided to save my energy and skip it. ADDENDUM: I spent time after the conference to watch this session just to make sure I'm not missing anything interesting. Oracle has JSR277 (data binding) capability contributed to the Eclipse Link project and rich client components for AJAX will all be donated to Apache. They seem to be totally behind JSF and EJB3 as underlying technologies for Web 2.0 Enterprise Mashups. The future looks bright for future Oracle apps, too bad for those customers who are still implementing legacy Oracle 11i apps and pegging themselves into obsolescence.

After attending a session on next generation JavaCard, I'm really looking forward to the proliferation of next-gen JavaCard "Connected" edition. It will raise JavaCard development to basic Java EE levels (well, sort of). In any case, it sure beats the APDU gymnastics we have to do today. Here's we can look forward to:
  1. Embedded web server with java Servlet API support (service static & dynamic content via HTTP(S) )
  2. Multithreaded environment
  3. Concurrent communication over USB, ISO 7816, contactless
  4. Full backward compatibility
  5. Client and server communication
  6. Leverage technology from Java SE and Java EE platforms
I am involved with a SmartCard partner (got my own card reader/writer last week) and will be developing JavaCard apps in the coming months. It's really nice to know that we will be writing Servlets instead of card Applets in the future!

Before my obligation to sit on a roundtable of Java developers from 'emerging' countries, I had 45 minutes available so I attended a session on use of open source in Java projects. No surprises there, the presenters shared that use of open source Java components is squarely mainstream in the largest enterprises.

Matt Thompson, Sun's Director of Technology Outreach, and the 9 amigos, most of whom are Java Champions in their home countries, getting ready for our press conference. There were at least 7 digital cameras between us, so a belated thanks to the Sun employee who took the trouble to capture this assembly for each one of us.

As the press asked questions, Matt made spot decisions as to whether one or two of us would like to respond, or if the question warranted a roundtable of comments. Here is some salary data I vaguely remember: Fresh grads with good Computer Science degrees can command starting salaries of US$4K to $5K per month in Norway and Holland, US$2K in Singapore, US$1,500 in Brazil and US$600 in Philippines. JP (John Paul Ruiz Petines of the JEDI project) commented that the salary delta explained why he saw some movement of Filipino Java developers to Singapore which is less than a 4 hour flight away. While I was (perhaps naively) disappointed how we didn't go into any technical details on what it was like to be a Java developer in our home countries (perhaps there is little difference), it was very interesting to learn that some common phenomena prevailed. For example, demand for Java programmers across all the represented countries has clearly been picking up in recent years. There is apparently an acute shortage of senior Java developers/architects (7 to 10 years experience and beyond). Some tried to explain how the dot com bust had dwindled our numbers, and how some senior folks just moved to other jobs that could pay them for their experience, even if the work was no longer technical. I have a different take on this ... there was also an acute shortage during the dot com boom, so my explanation is simply that (good) software engineering is not easy, and human nature is such that you won't get masses of people going for something difficult when there are many easier ways of making more money. 10+ year veterans are still doing technical work because they must really like it. I have much more to say on this topic in case you're interested. In summary, things are looking up for Java developers all around the world, and the grassroots Java User Groups are certainly doing their part to enlarge the ecosystem.

After the 90 minute press conference, I Chris Teo of Sun Marketing introduced me to Grace Chng, editor of Straits Times Digital Life from Singapore Press Holdings. I sacrificed 2 sessions on the JSR 293 Location API 2.0 and Extreme GUI Makeover to chat with her about everything from open source Java to grid computing, the state of the IT workforce in Singapore, and how enjoyable my 18-1/2 years in Sun were. We ended early enough for me to attend Brian Goetz's session on "Effective Concurrency" which I thoroughly enjoyed. I've long been into Multithreaded programming and am getting up to speed with the new (SE 5 & 6) ways of doing things. Even if that session didn't offer anything totally new for me, sometimes the choir enjoys being preached to ;-). And on the topic of missed sessions. Attendees will undoubtedly miss something they are interested in, and less fortunate Java programmers who could not attend the conference can get the slideware and eventually the audio tracks of all JavaOne sessions on Sun Developer Network.

In the evening, I attended the Intel General Session and was frankly bored stiff. This was perhaps beneficial only to those who have not been watching the processor wars of the last 2 years, or not upgraded their hardware in the same period either. OK, who can blame Intel for tooting their own horn since Core 2 Duo does kick ass. I have a 6600 (2.4GHz dual core) in my development machine and NetBeans absolutely screams on it. For that matter, the NASA World Wind and DiSTI demo flight simulator also run smoothly though that may have more to do with my Nvidia GeForce 8800 graphics card. Sorry AMD (and acquired ATI), I don't mind supporting you but you really have to do better. They also showcased JRockit and some new compute cluster management software from BEA (Liquid?) but I was getting too tired to stay for all the details.

I ventured away from the Moscone area and ended up dining in Japan town with Chris (left) and my cousin Stephen, who is the proud father of 6 month old Brandon. Now if only he would use Java for his environmental control software and his life would be complete ;-).

No comments: