This article also appears in Global Nerdy. I thought it might be of interest not just to geeks, but also to people who are thinking about defining their roles at work.
This week, Microsoft Canada’s Developer and Platform Evangelism team is getting together to do its planning for the upcoming financial year, which runs from July to June in The Empire. There’s a lot to talk about, especially in a year that combines the Credit Crunch, the releases of new versions of Windows, Windows Mobile, Visual Studio and who-knows-what-else and a company looking to establish its place in an increasingly web- ad mobile-driven world.
A good place to start might be to think about the roles that we, as individual members of the Evangelism team, play.
Unlike Anil Dash and Jeff Atwood, I never had any reservations about the job title “Evangelist”. The religious connotations never bothered me. It might have had something to do with spending eight years in a Catholic school — it didn’t do me any harm, and it didn’t seem to hurt Keanu, who went to the same school around the same time. It might also have something to do with the fact that like Atwood, I think that “Software development is a religion, and any programmer worth his or her salt is the scarred veteran of a thousand religious wars.” I could never be happy with only programming; I need to mix it with sharing the knowledge and passion for the craft through writing, speaking, schmoozing, performing and entertaining.
Like evangelism of the religious kind, being a technical evangelist isn’t a job that you can do “on autopilot”. There are some jobs that you can do and even excel even though you hate them and the work is of no interest to you. No doubt you’ve seen or know people who do their jobs “on autopilot”, functioning well enough to perform the tasks required of them. Evangelism isn’t one of them. As the title implies, if you don’t have the believe in what you’re talking about, if you don’t have faith – you can’t get the job done. Evangelism is about winning hearts and minds, and people just know when you’re faking it, and once they know, they’ll never listen to you again.
I’ve wanted be a technical evangelist ever since I learned about Guy Kawasaki, who held the title at Apple in the mid 1980s. He may not have invented the title or the position – credit for that has to go to Mike Boich, Guy’s buddy at Apple – but he popularized the term and set the standard. The job engages both what we colloquially refer to as the “left brain” and the “right brain”; it requires you to tap into your rational and creative sides, often simultaneously. It’s the sort of work that I can really sink my teeth into. It is my dream job.
Nobody questions my suitability as an evangelist. People have asked about my suitability as an evangelist for Microsoft. How can a guy who’s been working largely in the open source world for the past seven or so years, mostly on a Mac, be an evangelist for The Empire?
I came to appreciate Microsoft’s tools after leaving my first job. In 1997, my friend Adam P.W. Smith and I left multimedia development at a shop called Mackerel, to go try my hand at building “real” applications at our own little consultancy. We wanted to graduate from building multimedia apps for marketing and entertainment purposes – software you might run once or twice and then discard — and start building applications that people would use in their everyday work to get things done.
Despite being Mac guys at heart, we chose the Windows platform since that’s what our customers were using, and opted to use Visual Basic to build our apps. Although it was considered “the Rodney Dangerfield of programming tools”, Visual Basic in the pre-.NET era was the best tool for producing great applications in a timely fashion that both we (and our customers, since they got the source code) could easily maintain. Our longest-lived application, a database of every mall in America written for National Research Bureau in Chicago, was first written in 1998 and its codebase lived on until a couple of years ago. In today’s world of ephemeral Web 2.0 apps, that’s an Old Testament lifetime.
Just as the best immigrants bring a little bit of their home culture and add it to the mix in their newly-adopted country, we decided to bring Macintosh user interface and workflow culture to the Windows world. We took care to write user-friendly error messages and also structured our applications so that you wouldn’t see them often. Our layout was consistent and everything was clearly labelled so you never felt lost in the application. And yes, we sweated over aesthetics because we felt that beautiful tools lead to better work.
Here’s the original application that we were given as a guide:
…and here’s our rewritten-and-redesigned-from-the-ground-up app that we built for National Research Bureau:
(For more on what we did, visit the page where we showcase our work.)
A decade later, I find myself an immigrant in the world of Windows development, and once again, I want to bring a bit of the cultures from which I came and add it to the mix. This time, that culture is from Build-on-Mac-Deploy-on-Linux-istan, a cultural crossroads which blends a strong design aesthetic with the focus on the web, mobile applications, unit testing, distributed version control, sharing code and a scrappy startup work ethic and spirit. At the same time, I see the potential in my new Microsoft homeland, with its expansive reach into just about every level of computing, from embedded systems to giant enterprise datacentres, its excellent IDEs and frameworks and its large developer base. As an “immigrant” Microsoft evangelist, I see the chance for me to ply my trade in a new land that needs my skills, energy and outside perspective, and earn a fair reward for my efforts.
I’ve been trying to take how I see my role at Microsoft and distill it into a single idea, perhaps even a single word. The term “Change Agent”, which appeared all over the place in early issues of Fast Company captures a lot of what I’m trying to express, but it feels sort of clumsy and doesn’t have that summarize-a-big-concept-in-a-single-word oomph that “Evangelist” has.
Luckily for me, my friend Andrew Burke was reading an editorial in Penny Arcade which had the perfect word:
What Microsoft needs badly is a shaman. They need somebody who is situated physically within their culture, but outside it spiritually. This isn’t a person who hates Microsoft, but it’s a person who can actually see it. I can do this for you. Give me a hut in your parking lot. I will eat mushrooms, roll around in your cafeteria, and tell you the Goddamned truth.
That’s not bad. There are a number of ways in which “shaman” might be more applicable than “evangelist”.
For starters, I am situated physically within Microsoft’s culture, but in many ways I’m outside it spiritually. This is thanks to the fact that I’m a mobile worker and don’t have a cubicle within Microsoft’s offices and to my manager John Oxley’s efforts to keep me from getting too deeply entrenched within the culture. I was hired partly for my outsider’s perspective, and for me to be effective, I need to maintain some of my “outsideness”. This perspective makes me able to do or see things that a hardcore Microsoftie might not consider (such as Coffee and Code) or perceive (such as the rise of the iPhone, while Steve Ballmer said that “There’s no chance that the iPhone is going to get any significant market share”).
Unlike religious evangelists, shamen are mediators. While an evangelist’s communication is typically one-way, from the supernatural to the people, the shaman not only speaks on behalf of the supernatural to the people to influence them, but also on behalf of people to the supernatural to influence it back. If I am only evangelizing to developers on behalf of Microsoft, I’m only doing half my job. I also need to evangelize to Microsoft on behalf of the developer community.
When I joined Microsoft, a number of my friends suggested that I’d be good at changing the company from the inside. I think that that task is better left to the people who either develop its technologies or strategy; as an Evangelist – er, Shaman – I am better positioned to change the company from the outside. Think about it: a good chunk of what makes a platform is its developer community; without it, it’s just sits there. Without their developer communities, Windows wouldn’t have become the dominant desktop system, Linux wouldn’t have become the dominant web OS and the iPhone would be another Nokia N-Gage. Developers shape the platform just as much as the platform vendor, and they do it best when they have a conduit to their platform vendor – a shaman.
For some religions, the position of shaman is also an ecological one, and as a developer evangelist so is mine. According to Wikipedia, some shamen “have a leading role in this ecological management, actively restricting hunting and fishing”. I am charged with making sure that Canada’s developer ecology is a healthy one; in fact, when I was hired, I was told that I was hired “for Canada first, and Microsoft second.”
A healthy, thriving developer ecosystem is good for the field, which in turn is good for Microsoft. As a developer who likes to participate in the community, I have an active interest in keeping the ecosystem healthy, and a Microsoft that contributes positively to that ecosystem is a good thing. The nurturing of ecosystems isn’t covered by evangelism, but it certainly falls under a shaman’s list of tasks.
And finally, the idea of eating mushrooms and rolling around the Microsoft cafeteria is intriguing. I doubt that they’d tolerate me playing my accordion while high as a kite, wearing nothing but body paint and assless chaps, rolling all over the salad bar and smothering myself with cottage cheese. It is an amusing idea, though.