The keynote speaker of the the Atlanta Java Software Symposium (AJSS) was Dave Thomas of Pragmatic Programmer renown. This first day was a handful; three back-to-back sessions on Spring by Bruce Tate. I learned today that Bruce is now employed by Interface 21, the company behind the Spring Framework. But, this post is about Dave's talk...
Dave drew analogies between the approaches that artists and programmers take to doing their work. The talk had three main topics:
Knowing how to start
Knowing when to stop
Satisfying the customer
I have never heard a perspective on the practice of programming quite like that, and it echoed with some of my own personal feelings about it. Admitting the art in programming is uncomfortable for some people, particularly those who hold so dearly to the idea of programming as an engineering discipline. If there is art in programming, then it cannot be distilled into a body of terse maxims. If programming is partly an art, then a number of silver bullets like heavyweight methodologies and model-driven architecture are built on less-than-reliable presumptions.
About nine months ago, I was giving model-driven architecture (MDA) and the full gamut of UML a hard look, wondering if they could indeed deliver on their promises. God knows there are enough companies pouring millions into efforts to market them. The same can be said for the now-discounted Enterprise JavaBeans (EJB) 2.1 specification. The more time I spend looking at lightweight methodologies and what they have already accomplished, the more critical I am toward the once-received wisdom about enterprise application platforms.
Should you have a chance to hear Dave speak on this topic, don't pass it up.
I still don't have GPRS over Bluetooth working in Debian GNU/Linux; a shame, it sure would be handy at the conference.