Monday, May 24, 2010

10 Thoughts as an Attendee at NFJS

(Full disclosure: I work for a sponsor of the Gateway Software Symposium and, this year, was also a speaker).


Rather than write about obvious trends (e.g. document databases are hot) or review big name speakers (how can you not know Ted Neward, Neal Ford, and Ken Sipe !), I thought I would write some quick thoughts about GSS 2010 as an attendee. Another post will be about my initial stint as a speaker.

Use Evaluations

Jay Zimmerman made an excellent point: when speaking, take every opportunity to use evaluations at your talks, including your local JUGs. If your JUG doesn't have evals, then make your own!

LiquiBase and My Team

I really enjoyed a talk on LiquiBase and Agile DB Development by Tim Berglund. He described a category of problems / solutions with which I was only barely aware. He highly recommends the book Refactoring Databases, and I'll definitely check it out.

Interestingly, when describing the talk to a close friend and colleague, my friend told me that his team was using LiquiBase. I was stunned. We work on the same floor, and yet I didn't know this. We all know conferences bring people together, but often it is within the same department.

Hawthorne Effect / Psychology

Several talks reminded me of how much psychology (and neuroscience) comes into play in software development. As one example, check out the Hawthorne Effect (as explained to us by Neal Ford). What's more, use it on your team, and in your personal life. e.g. For me, I exercise more often if I track my distance / rate, so that I know where my personal trend is headed.

Visualizing Code

Neal Ford gave a talk that listed a dozen tools for viewing code in weird and wonderful ways. The best part is that I wasn't familiar with any of them. It feels like a violation of intellectual property to enumerate them here in a garish list, but as one example, check out Code City.

Books == Quality

A former mentor of mine said that he has noticed that he can tell the best developers by what they read. Always ask your friends what they are reading. Seek recommendations everywhere. Some favourites from the NoFluffers are Predictably Irrational and the Design of Every Day Things.

Virtualization Imperative

Virtualization is going to be commonplace. I realized the following, during a excellent talk by Pratik Patel: with free options for virtualization software and the OS, we have no excuse not to try this at home. We should experiment so that we are ready for the inevitable in a corporate environment.

Fault Lines

Tim Bergland gave a talk on Decision Making that included team dynamics. He used an analogy of fault lines to represent the divisions that can occur across teams. Wonderful stuff. This is precisely the phenomenon that happens between DBAs and devs, testers and devs, and, of course, managers and everyone else.

I don't have time to explore this idea further, but are there hidden fault lines? Do we intuitively partition our teams across sociological lines that, strictly speaking, do not belong in the workplace? (e.g. age, religious views, political stance). It's something to consider, and the answers may not be pretty.


Brian Gilstrap asked the Expert Panel about specific instances of failure. It was interesting to see how the panelists chose to define failure, and how the scope could range from the individual, team, or organization. Though good stories come from brilliant innovation or clever design, the best tall tales come from failures.

Nate Schutta made a great point: civil engineers around the world will study a report on why a bridge collapses. Though proprietary code is an issue here, why don't software engineers do the same?

Don't Fear Reinforcement

I noticed several friends attended talks on subjects with which they were familiar, as they wanted to pan for a few more gold nuggets from the talk. e.g. James Carr gave a great talk on Mockito. I've been using Mockito for some time now. There is an argument for me to broaden my horizons, but I went to the talk and had some revelations about Mockito's Spy object.

10 Year Arc

I attended NFJS shows in St Louis for nearly a decade, and almost always in the same venue. It's become a fascinating reference point as the years go by.

Technically, if we had an animated graph across that timeline, you would see some technologies appear and disappear (XSLT), while others grow strong (Grails). Some of them are continually berated and yet refuse to die (Swing).

I've seen speakers make a point in a given conference room, where Dave Thomas made the same point, possibly in the same room, years before. I've seen Mark Volkmann ask the expert panel "what is the next big thing?" circa 2004. Today, we would find the answers either quaint or downright prescient (re: languages on the JVM).

There is a piano in the lobby of the Marriott West. Once, I wondered how marvelous it would be to play it. Though barely an intermediate, I now brazenly sit down at it, and gleefully bang out a hamfisted tune.

Over the years, that piano has seen a lot of speakers, attendees, trends, and technologies.

But mostly, it has seen changes. I will remember it fondly.

1 comment:

om3ga said...

Thanks for the informative post on Mockito. If you are willing to discuss more on unit testing with mockit and unit testing for other languages

can check out Mockito Mock forum which is exclusively for unit testing for

different languages. It is a upcoming forum and needs support to make it strong so we can have forum where people can share their knowledge on