I’ve been programming professionally since 1988, so I’ve been around quite a few developers in my career. There seems to be a lot of moments lately that cause me to look back at this career, reassess what I've learned, and adjust the direction I'm going with this mined wisdom. This week I’m reflecting on the recent insanity around Adria Richards, my role as the API Evangelist, and spending time thinking about the tech space's inclusiveness as I’m hanging out with my 12 year old daughter for spring break.
Throughout my career, in just about every position I’ve taken, whether as a programmer, manager, lead, architect and VP, I’ve encountered developers who are challenged by me, my role, skills and approach to tech. I can remember 3 separate roles I’ve had where one of my first assigned tasks was to fire a developer who had made everyone’s lives miserable, because before I came along they couldn’t fire them (him), because they were dependent on them for their skills.
Quality technical talent is hard to find, and many companies can’t afford to lose the talent they already have. No matter what the personality defects or the workplace issues might be. Many developers know this and work it to their advantage, taking advantage of power they possess for their own selfish goals.
This power struggle does not just exist between developers and non-developers. As a programmer I encounter developers who always have to one up you, and make you feel stupid for what you don’t know. It might be a programming language, database platform, technical library or just the fact you use Windows vs Mac. Some programmers can co-exist, but many feel the need to challenge others, while assuming a defensive position around their established fiefdom.
Outside the corporate firewall I see this behavior extended to online interactions, where programmers make non-developers feel insignificant for what they do not know, and belittle other developers for what skills they lack. Something that often can extend into other more harmful, trollish behavior. Developers can be quick to jump one others in an online environment, creating very uncomfortable or hostile situations.
Many places I’ve worked or contracted with, this power struggle plays itself out as the classic IT bottleneck. IT bottlenecks are often portrayed as lack of resources, but more often than not they represent power struggles around budget, technology and other lesser evils. Think about some of your IT interactions--is it always a shortage or resources or lack of desire to actually deliver? It can be very hard to tell sometimes.
While the root of this behavior I feel is insecurity, I think ultimately it is all about power. I also strongly believe one of the by-products of this reality is the sexism, racism and other negativity that is a systemic issue in the tech space.
I’m not writing this to say that all developers are power trippers. They aren’t. But us technologists have a huge problems with wanting to be keepers of the knowledge. I’m not excluding myself from this. I fall victim to the desire for power and glory. I’m not exempt. But I work really, really, really hard at trying to transcend this past I share with the rest of the tech space.
I believe APIs are letting the IT resources out of the bag, and so is the consumerization of other areas like cloud computing, storage, email, web and mobile development, etc. APIs are bringing valuable IT resources closer to the people who can use these resources to solve problems. I saw the opportunities around APIs playing out from 2005 through 2010, and in middle of 2010 I decided to start API Evangelist to help spread the word to the masses about the potential of APIs--bridging a gap that has created between developers and non-developers.
It is very important that us technologists ground our work in the assistance of other non-technologists. We have to work very, very, very hard at being nice and make what we do inclusive. It isn’t easy. Listen to the first couple minutes of the API podcast Traffic and Weather from the other week and you will hear how much work I put into making sure I’m pleasant, but make an impact when engaging not only non-developers, but developers alike. It is critical.
If you are a developer, please join me in making sure everything we do is as inclusive as possible for other developers, non-developers and most importantly of other sexes, races and anyone we encounter in what we do.