So, I took Mike up on his offer. Starting this coming Monday, January 7th, 2008, I will be a full time employee of Collaborative Software Initiative. This was not a terribly easy decision to make because at virtually the same time that I was talking to Mike, Burton Group, my current employer, asked me to step up to an analyst position and help make 2008 the year of REST. Had the timing been just a little bit different, I would have happily went that route. But as it is, after nearly three and a half years of fighting the good fight privately and publicly, and just as the message is starting to resonate, I’m moving on.
Why? Short answer: it’s time to shut up and code. Even though I was a consultant at Burton Group, my deliverables were reports. “Here’s 30 pages on how you might want to re-architect your software. Here’s 40 pages on why ESBs suck. Here’s 25 pages stating that yes, you can run PeopleSoft on Linux. ” Don’t get me wrong, these were mostly fun projects, but, man, sometimes you just gotta code. I can’t feel good about my work for customers or even my opinions here on this blog, if it’s been 3, 5, 10 years since I moved an app into production. And an analyst position, while prestigious and to some degree influential, doesn’t change that.
Of course, if it was just coding I was after, I could have taken a development job at BigBank or BigPharma, but the CSI gig is more than that. CSI has a unique and appealing (especially to this freetard) business model. The short of it is as follows: You, BigBank or BigPhara or BigManufacturer, require the use of a lot of domain specific software that affords you no competitive advantage; say to satisfy regulatory requirements. Now you could develop this in house, and that would cost you a $1,000,000. Or you could outsource it to Elbonia, but that’s still $500,000 and you never really know about quality. And in both cases you’re stuck with hosting and maintaining that codebase for a very long time. Or you could collaborate with others in your industry (remember this software has no competitive advantage), chip in some smaller number of dollars, and CSI will do it for youâ€”professionallyâ€”and with you very much part of the project team. Not only that, we’ll be using open source tools the whole way. Indeed, the final product will be open source (that’s the cool bit, BTW), so that as development continues by CSI, yourselves, or your competitorsâ€”whether they payed to play or notâ€”you benefit. Sure, someone could make changes locally and not give them back, but really we’re talking about compliance issues and other boring, non-competitive things, so why bother?
Back to the analyst thing for a moment. Research and Analysis (R&A) firms can provide a very valuable service, especially if you are largely unfamiliar with the wherefores and whatnots of a particular technology domain. For instance, Burton Group has a relatively new Data Center Strategies service whose content is, to me, someone who knows next to nothing about SANs and virtualization and ITIL, deeply informative. Burton Group also differs greatly from the big name R&A firms in that, by and large, our content is extremely technical and aimed at a technical audience. Nor do we attempt to cover every aspect of the technology industry, such as microprocessors, consumer technologies, or ERP systems. And we do not write reports for a fee. Furthermore, our analysts are, to a person, ridiculously smart. Thus, our customers get the focused and well-reasoned guidance they pay for. Plus the convenience of not having to go looking for it themselves.
That said, our analysts are human. They have biases, imperfect knowledge, and limited viewpoints just as we all do. These human foibles may not be significant when it comes to networking or telecoms or managing the data center (maybe they are, don’t know), but when it comes to the somewhat more subjective world of software development, application design, and enterprise architecture, the ramifications can be significant. Furthermore, R&A firms suffer from the very real problem of being a largely one-way medium: we write it, you read it, with limited feedback, little fine-tuning, and little exposure to alternative thinking. In addition, and for obvious reasons, most R&A content lives behind a pay wall, which to me at least seems like a pretty limiting means of promoting knowledge and effecting change in the enterprise, among vendors, and in the world at large. I would go so far as to say that Sam Ruby’s blog, for instance, has done more to change the world than the millions of pages minted by R&A firms that only a select few get to read.
However, the path from Sam’s blog to the enterprise is circuitous. In an ideal world enterprise technologists, from senior management on down, would be subscribed to that section of the blogosphere that is related to their trade; they can buy the same books, read the same papers, and attend the same conferences. But by and large they still don’t hear you. Instead, as Sam wrangles with Unicode issues in Ruby 1.9, Ruby improves and awareness is raised that Unicode is indeed tractable. And soon it becomes the norm that English/Western biases are no longer acceptable. Also, because Ruby improves, Rails improves. As Rails (or Merb or whatever) grows in popularity, so too does iterative development, a focus on testing, a recognition that dynamic languages are not toys. Then the vendors start adding DRY principles to their products, adding support for Ruby and Python, recognizing that REST really makes sense. And then, finally, these notions begin to trickle into the enterprise such that it starts to look like the rest of the world did ten years prior.
In short, the R&A industry can and does provide valuable information, all nicely consolidated. And the content produced is formulated perfectly for the chosen consumer. But, at least as it pertains to software development, if you’re looking for timely, informed, and practical information from the people who are actually doing it, nothing beats the continuous feedback loop of the Web. Your job is to find the signal in the noise and make your own informed decisions.
Now it’s time to install Ubuntu onto my new Thinkpad.
By the way, you may be wondering how I got this job. Here’s how.