These are the old pages from the weblog as they were published at Cornell. Visit www.allthingsdistributed.com for up-to-date entries.

September 26, 2003

Hard lessons learned about Technology Evangelism

A short essay on my experiences with evangelizing technology, and my thoughts on some modern day evangelists such as the REST promoters, in the hope that they can benefit somewhat from my mistakes.

At the end of the 80s, early 90s I was part of this group of researchers that worked on distributed systems technologies based on the group communication paradigm. We strongly believed that what we did was going to revolutionize the way distributed systems were build and that our technology would make it very easy for developers to build reliable and fault-tolerant systems. Even though the high-level concepts were simple and easily explained some of the more fundamental concepts were hard for people to grasp, especially when it came to some of the more optimized protocols.

We did make a splash in the research and product community alike and traveled to many places spreading the gospel of our work. In the course of this evangelism the complexity of underlying technology became somewhat of a problem and it was not always easy to convince people of the value of the technology. I have to add that there were rivals in the academic community who were starting a sort of counter offensive.

These difficulties only made our resolve harder to convince the world of that this technology was the right way to build systems. Somewhere along the road quite a few of us changed from evangelists into preachers. I don’t know whether this was a natural process or whether some of us got so caught up in it that they couldn’t distinguish anymore between their own person and the technology, but the preaching turned against us in a bad way.

With preaching I mean, trying to convince people that there is only one way of doing things right, and that is your way. That you will grab any opportunity to show the world that this is yet another example of how your technology could solve their problems. In the technology world there is nothing more annoying that a self-righteous technology preacher and we managed to put-off a lot of people over time.

The strong reaction of the community to the preaching had another adverse effect, namely that they started associating their appreciation for the technology with their feelings about the preaching. A lot of people ended up having a knee-jerk reaction when group communication systems were discussed that had nothing with the technology but purely their disgust for the preachers associated with it.

In the academic setting this culminated into a rare event; the operating systems community in their high-quality, biannual conference accepted a paper by Cheriton and Skeen critiquing the technology. Never before had a ‘negative paper’ been accepted in this community; the paper was even riddled with erroneous reasoning and written by people who also had a commercial interest in seeing the technology fail, but it did signal that the community was sick and tired of the preaching. The fires were put out during this memorable conference in Asheville in 1993, when at night the whole community was asked to return for an extra session and Fred Schneider ‘lectured’ on the fundamentals of reliable distributed systems and the true value of the technologies.

The lesson for me was that all of this was caused not by a lack of appreciation for the technology but by the self-righteous way in which the message was conveyed. That we missed the opportunity to make a much bigger impact on the world, just because we took every opportunity to tell the world it was best done our way.

Now that I am much older I can see that I have been able to achieve more by taking a less principled stance. That the most important part of talking about technology is actually listening. And that it is only technology, that it is only one of a set of tools to solve someone’s problems. That is important to see context, and that you have to realize it is not about you, but all about solving the problem. Any professional evangelist should have some mandatory psychotherapy before he starts his job.

For me the best example of a great evangelist has been Thomas Sterling of Caltech. In the mid nineties Thomas traveled the world explaining how you could build powerful parallel compute clusters out of cheap components using a collection of tools called Beowulf. He worked tirelessly to help people build systems, but always kept perspective in his talks. Always showed that this was only one of many ways that you could achieve the results, and that in the end only one thing mattered; that everyone could afford to have a parallel compute cluster, regardless of what technology was used to achieve this. As a result of Thomas’ subtle evangelism there are now thousands of sites today that run parallel systems based on Beowulf software.

Why am I writing this? Because on Wednesday when I read Mark Baker’s interpretation of Sean McGrath’s essay, I had a sort of knee-jerk reaction when Mark took this opportunity to once again show the world why REST is the way to build systems. In retrospect I see that my reaction, exemplified by my posting of that day, is so similar to how people used to react when the phrase ‘causal group communication’ was mentioned 10 years ago. I like Mark and his vision, and I wish my reaction wasn't clouded by this baggage.

REST is a great architectural vision, and but its application in many areas is not always obvious and it will take a lot of effort to make other people buy into this vision. I am hoping that those who want to evangelize the REST principles will not fall into the same trap as we did when we wanted to sell our ideas to the world. I see a lot of knee-jerk reactions around me when the REST principles are mentioned, which make me think that some damaged has already been done, and that I hope the evangelists can get their act together before it is too late.

As a technology evangelist you have to realize that if people are not listening to what you have to say, it is you that is the problem, not your audience. Because if the message is right, people will listen. If they are not listening, and even immediately turn away, something is wrong with the way that you are packaging the message, and you will have to fix that if you do not want the technology vision to get lost forever.

Posted by Werner Vogels at September 26, 2003 10:33 AM
TrackBacks

Comments

Great entry, I've always wondered the context why behind group communication systems never succeeded. I followed the Cheriton / Skeen paper and Birman's response around the 1997-1998, when I first got distributed computing... and found the academic mudslinging rather bizarre (you don't see it that blatant too often).

I was also a member of of the dist-obj mailing list from 1997 onwards, and IIRC most of the founding members of that list were big fans of "causal group communication", Mark Baker included. Then came XML, and people were big preachers of XML. Now, REST.... Old habits die hard, I guess :-)

I learned a lot from being a member from dist-obj, and this blog entry puts a lot of my experience there over the years in perspective. Preaching is inspiring and can create insight, but it doesn't necessarily convert the mainstream

Thanks.

Posted by: Stu Charlton on September 27, 2003 10:54 AM