skip to main |
skip to sidebar
Just returned home from a great weekend symposium in Redmond hosted by the No Fluff Just Stuff (NFJS) crew. This was the first conference of its kind for me and I have to say I was very impressed with the quality of the presenters and their content. The topics were all Java-related, and ranged from memory management to objective-j to clojure and on and on. All the presenters were serious experts in the field, all accomplished authors, consultants, and active contributors to various open source or similar industry projects. Is it just me, or do these guys (sorry ladies, but none of you presented this weekend) just impress the hell out of you too? I mean, some people appear to be just so productive and accomplish so much, where do they find the time? So seriously, these are the real deal-- true rock stars. I am truly humbled by these guys, and this feeling was my inspiration for launching this blog. Anyway, here are the topics of the workshops I attended, all of which I thoroughly enjoyed:
- On Being a Software Architect (Mark Richards)
- Common Anti-Patterns and How to Avoid Them (Mark Richards)
- Groovy Testing (Scott Davis-- I bought his book "Groovy Recipes")
- Architecture and Scaling (Ken Sipe)
- Design Patterns in Java and Groovy (Venkat Subramaniam)
- Open Source Debugging Tools for Java (Matthew McCullough)
- Mastering Maven 2.0 (Matthew McCullough)
- Iteration 0 (Ken Sipe)
- Git Going with Distributed Version Control (Matthew McCullough)
- Garbage-collector-friendly Programming (Brian Goetz)
- Busy Java Developer's Guide to Advanced Collections (Ted Neward)
My key takeaways from these sessions are:
- Doing unit tests in Groovy is super cool, especially when coupled with "easyb". I can't wait to show my buddies at work this stuff.
- Groovy is great for implementing some common design patterns.
- Get familiar with distributed version control, using either Git or Mercurial. Matthew was so excited about it he nearly passed out from neglecting to inhale. I think he's a little too excited about it (I'm worried about him). One of the million things he mentioned was that Git support was just brought on as an official initiative of Eclipse, so watch for that.
- There are many debugging tools I should be taking advantage of, most of which are already included in the JDK.
- There are many functional programming-esque techniques related to the java collections API which can be leveraged to create more thread safe and multiprocessor-friendly collection-related code. Check out apache commons collections or google collections for some pre-built examples.
- Functional programming is all the rage, and I don't think it's going to go away anytime soon. Most of the gurus are touting Scala, with Howard Luis Ship leading the Clojure charge. I myself am cozying up to Scala, but I think it will be a tough sell in my current organization (Groovy is more likely, at least in our test suite). Learn a functional language, preferably one which runs on the jvm.
If I can get my momentum going on this, I will follow this post with more detailed info and experiments with some of the topics above and perhaps others. Most likely my ambition will fade and this will be my first and last post on this blog, but you never know when I'll actually stick with something (hey, I'm still married, and I'm still a java developer after 10 years...). That's about it for now; I've got to get to bed. I'm not one of these over-achievers who stays up half the night cooking up new programming languages and launching companies like the guys I just spent the weekend with. If any of the NFJS guys are reading this, I'd like to thank you one more time for a great symposium. And to all the other Average Joes I met there, it was a pleasure meeting and chatting with you. Jeff, thanks for the ride back to Seattle. Mark, good luck in your move to Tacoma. To the clan of Canucks, hope you made it across the border ok. Good night!