Monday, February 18, 2008

To Dig or Not To Dig

Around the beginning of the year, I thought about writing a post about what I wanted to accomplish this year when it comes to this industry and my career. Basically, a professional New Year's resolution list. I never got around to coming up with an official list; however, there's been one item on my mind quite a bit that is my #1 'resolution'.

It's quite often with my personal- and work-related projects that I have the chance to do something I haven't done before. For example, work with a new open source framework, use a technology for the first time, or play with language I haven't yet touched. There have been some occasions where several weeks/months later I've said to my self, "I should have taken just a little more time to explore that in more detail; dig a little deeper".

My #1 resolution is that whenever I get the opportunity to work on something new, I will take a step back and ask myself, "Is this something I should dig deeper on, or is just touching the surface enough?"

Let me give you an example. I am currently working on an IntelliJ IDEA plug-in during some of my spare time. Part of that process has introduced me to Swing development. I haven't once touched Swing or the java.awt package before this. So, needless to say, I'm learning quite a bit. I get to have fun with things like trying to get components to be certain sizes and figuring out how to enable drag and drop. This is the point I need to stop and ask myself the question, "how far do I want to go?" My point is that I need to figure out, do I simply find answers to my questions so that I can get by creating this plug-in? Or, do I spend some time learning more about many aspects of Swing development; something that will last me much longer than this single engagement.

In this case, I chose (for now) to simply find out the answers to my questions so that I can build the plug-in. I'm doing no other Swing development. Not on other personal projects. Not on any work assignments. Nor do I see myself doing any other Swing development in the near future.

With this resolution, I'm trying to keep those moments of "I should have dug deeper" to an absolute minimum. Maybe for you this is just a common sense example of thinking before you act, but for myself (unfortunately), there have been times I should have done more research to gain a solid understanding vs. just enough to produce what I want. Hopefully at the end of this year I can look back and know that put the right amount of effort into learning new things.

1 comment:

jlorenzen said...

You should look at the Groovy Swing Builder: http://groovy.codehaus.org/Swing+Builder

:)