General Comments on QCon 2010Here are some generic comments on the conference this year.
What Happened To The Finance Track?I've been quite vocal about this, and I'll be even more so: where in the hell did the Financial IT track go? Looking around the QCon London crowd, at least 25% of the attendees worked in finance. Every single presentation with even a hint of financial content was Standing Room Only. And yet the organizers nixed the Finance track this year. What were they smoking? Seriously, bring it back. It reflects the target crowd for the target city in a way that no other track does, and is one of the things that used to make QCon London special and location specific. And, apparently, in 2009 it was the only track not to receive a single red card for any presentation. So it's not like the audience didn't appreciate it.
Speakers: Know Your AudienceThere were three types of presentations that I didn't feel went over particularly well:
- Preaching to the Converted: The first keynote was the definition of trying to preach to the converted, and there were other presentations that had the same problem. You want to talk about how great agile development methodologies are? You want to talk about how great it is to continuously test? You want to talk about how we should be concerned with performance? It's over. QCon audiences already know that and already believe. And unless you're in a particular track, rah-rah talks don't go over well. We already get that stuff, so don't try to "sell us" stuff we've already bought.
- Targeting General Developers: There was at least one presentation I went to that was quite obviously a canned talk written for generic in-house developers who don't as a regular part of their job work with advanced technologies. While talking to a crowd of Visual Basic programmers might require extensive background in modern software techniques, the QCon crowd doesn't. You just lose the crowd in background that the audience doesn't require. We want meat on the bones.
Big TrendsAll that being said, I think that there were several trends that really bubbled up to the foreground this year that we'll all be hearing about over the next year.
CAP TheoremEric Brewer's CAP Theorem states that for any distributed system, you face a constant tradeoff between Consistency, Availability, and Partition tolerance; you can choose at most two of those, but not all three. It's a familiar scenario for developers familiar with the mantra of Features, Quality, Deadline, Resources (pick two). Software and systems engineering is a game of tradeoffs in desires and resources, and you have to have variable inputs to the system. The CAP theorem simply expands the general notion to the particular problem with distributed systems (which these days is all systems, as the days of 2-tier or 1-tier systems are long gone). So why did I pick this as a Big Trend of QCon 2010? Because it come up over and over again:
- All the NoSQL databases are designed around the requirements of the CAP Theorem and how it plays out in web systems;
- Any distributed system designed for scale and availability has to be aware of the particulars of the CAP Theorem;
- Performance and availability testing has to be aware of how the particular system has been optimized for the constraints of the CAP Theorem.
Performance TestingThe needs of any modern system to consider performance as a first-level requirement are pretty well understood by a QCon-style audience. But the presentations I attended had quite a few anecdotes that show how far this need is being addressed by technology-forward audiences:
- An online games company that spent a full man-year up-front on developing a flexible performance testing framework before they were anywhere near feature complete.
- A trading system that was optimizing cache hits in their software written in Java before they launched.
- A web site spending a third of their research budget making sure their underlying technology stack could support the new functionality they had to support on that stack.