The Source for Java Technology Collaboration
User: Password:



Greg Vaughn

Greg Vaughn's Blog

How to Become a Java Guru

Posted by gvaughn on July 16, 2003 at 04:07 PM | Comments (5)

I'm probably preaching to the choir here, but hear me out just in case. I'm not speaking from the position of having already achieved guru status, but I think I've got a handle on the path to get there. Correct me if I'm wrong.

Find some giants, and stand on their shoulders, to co-opt Isaac Newton's famous quote. I don't mean this as a way of keeping someone else down, but instead building upon their insight and work. Become aware of what's offered in the Java libraries you work with, be it J2EE, J2SE, or J2ME. There's lots of good stuff in there that often gets overlooked. Case in point: the other day I was doing a methodology exercise of breaking a feature into individual tasks. The feature was logging into a J2EE application. Out of about six groups particpating in the exercise, mine was the only one that had a tasks of learning the basics of JAAS (Java Authentication and Authorization Service) and configuring it in the appserver. All the other groups were ready to write their own custom login logic. I've never used JAAS before, but I've read an overview and knew it was commonly supported in J2EE containers (It's actually now part of J2SE 1.4.) and was specifically intended to be a reusable login service.

Now, the first time learning and using a new API may not save you any time over a scratch custom implementation, but it will save time the second and subsequent times you need to use it. Think over the long term about all these APIs you've had some experience with and how much faster you can do the well known pieces of your application. That frees up more time to work on the truly unique aspects of the particular application. Not only that, but coworkers will notice your experience and start coming to you for advice and you'll be able to help the speed of your entire team.

The real key is having an awareness of what's already been written. There's several ways of doing this. For the official stuff, look at the Java optional packages, read the spec for J2xx, visit jcp.org. Visit hubs of open source packages: jakarta, sourceforge, and now right here at java.net too. Subscribe to an industry journal, a developer's journal (and once you have those, take a few minutes every now and then to see what's being advertised for commercial tools and frameworks). And last, but not least, read weblogs. They're full of pointers to all sorts of great tools you'd never otherwise hear of.

There really is a mountain of information out there, but you're main job is to skim off the top. Mostly you're looking to find out what a product/tool/framework can do. Don't get immediately bogged down in how to use it. You can learn that later if/when the time comes. Initially look into those things that interest you and/or might be useful to you in the near future. Later you'll start to branch out.

For some concrete examples, lately I've had a great time with JMX and JNDI. JMX has allowed me to write and then reuse a component with zero code changes. JNDI has become by favored tool for promoting loose coupling and easy unit testing. In just now looking up that JAAS is now a part of J2SE, I also discovered The Java Authorization Contract for Containers which I need to look into! Catch you later.

Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • jca.org???
    I tought that there is a good java site that i have never heard and never visited when i read jca.org in this blog.

    It was Jackson Community Ambulance :)) Greg written jca.org instead of jcp.org mistakenly i think.

    See you,

    Bora

    Posted by: borayuret on July 17, 2003 at 04:00 AM

  • OOPS!
    Boy is my face red :-) I think I just got that typo fixed, but I'm still learning the posting system around here. Thanks for catching that.

    Posted by: gvaughn on July 17, 2003 at 06:56 AM

  • Another good source info
    I should have thought of this sooner, but I'll add this as a comment. The Java Tech Tips are a good way of getting exposure to new corners of the Java APIs. I usually just skim them when they first arrive, since they do get down into the "how's" and then save interesting ones for future reference.

    Posted by: gvaughn on July 17, 2003 at 07:38 AM

  • Look at edgecase
    We're trying to set up a project for exploring these very things (http://edgecase.dev.java.net/) if you are interested. We've just recently begun this project and are looking for gurus and guru-watchers to help delve into the more esoteric gems hidden in the Java apis.

    Posted by: mason on July 30, 2003 at 01:56 PM

  • Are you a guru?
    Can you grasp this?

    https://cajo.dev.java.net/index.html

    Posted by: cajo on October 09, 2003 at 08:14 PM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds