Thank You

It’s hard to describe the joy of writing a successful open source project. There is the satisfaction from people using your code and knowing that all that effort wasn’t for not. There is the gain in reputation and boost to one’s career that translate most directly to the bottom line. But all these measurable metrics still fall short of the true joy.

For the longest time, hapi was about me. The most gratifying feeling is knowing that it really isn’t anymore. It is a community of kind, smart, and dedicated people who made a decision to use it and be part of it. I still get to lead but it is not mine anymore. It has taken a life of its own and that’s the most rewarding return you can ever expect. Creating something that far exceeds my own abilities.

I’ve been thinking a great deal lately about how I want to cash in on this success and I’ve decided to use my influence to fix diversity in tech. I think the hapi community is leading the way in stability (enterprise grade with that startup smell), quality (fanatical code coverage), and openness (almost twenty leads working together in the open). It should be enough, but what’s enough? So I decided to set my own personal sight on diversity.

As a gay man (yes, still a white male) I have been fortunate to never know true adversity. But I can easily empathize with those who do not feel comfortable stepping forward and joining the crowd (and let’s face it, white males do not have the best track record). I have been listening to non-male developers I respect and I’ve been reading research on the topic. To me, fixing diversity is the next big challenge.

I plan to use whatever influence I’ve earned, whatever open source karma I’ve got, to help nudge gender diversity in tech. Not because I have a daughter (I hate this stupid excuse), but because it is the right thing. It’s that simple. And I do have a lot to gain from it because the few women I got to work with in my career have been outstanding and I would like to see more.

So thank you for putting me in a position where I can try and make a difference. The support and adoption the hapi framework is getting is one of the highlights of my career and probably what I will be known for in the near future (much better than that authentication protocol I once wrote).

I would much rather be known for creating the most diverse community in tech. Now that’s something worth aspiring for.

Don’t Be a Bully

I don’t know Brendan Eich. I don’t know much about him other than (1) Mr. Eich created JavaScript and (2) made a contribution to support proposition 8, aimed at taking away the right of gay couples to marry in California and voiding the marriages already taken place, including my own.

When the news about Brendan Eich’s contribution became public a couple years ago, the reaction within my community – the web development community – was pretty strong and one sided, deriding and marginalizing him. Brendan Eich didn’t do himself much favor with a blog post full of grand standing and lack of empathy. I did agree with his basic argument though.

Being a bully is never a productive strategy. It might be satisfying but it is counterproductive and shows the same lack of empathy that is at the root of the issue on the other side. If you limit your social and business circles to people who only share your exact social ideal, you are actually taking part in sustaining the status quo. There is nothing more powerful than an open dialog.

With his appointment to Mozilla CEO this week, the story got resurrected and many people I love and admire expressed their disagreement with the promotion solely on the base of his contribution. This is unfair. From all accounts, Mr. Eich has never applied his (assumed) personal belief to his work or to others, and pretty much everyone who chimed in has no real first-hand experience with Mr. Eich.

I don’t participate in parades or demonstrations. I am not very active beyond voting and making political contributions. But I am confident that by living my life in the open, by engaging those around me, I am making a positive impact on the lives of other gay people. I constantly invite my friends and coworkers to my house for dinner with their family, exposing them to what is often their first same sex family experience. I seek people and share my personal experiences, explaining why their positions are hurtful.

I strongly disagree with the claim that one can donate or vote to something like proposition 8, and be ignorance-free, hate-free, or bigotry-free. Try walk a mile in the shoes of most gay people, especially during their teen years in a society that still sucks today with its treatment of gay people and tell me you still stand behind that claim. But that’s also my point – it is very much my responsibility to share my feelings and experience with those who disagree with me in hope of seeding this understanding.

It is sad how many people lack true, actionable empathy for people who are still today being beaten, abused, derided, mocked, disowned, dismissed as an abomination, lynched, or executed. That even those who support gay rights are not sufficiently open minded about the wide range of gender expression that doesn’t fit their norms.

Instead of posting comments on Twitter aimed at specific individuals, consider sending those you disagree with an email explaining to them in  personal tones how their actions hurt you and impact your life. There is nothing more powerful than a personal interaction to change minds. I’m not saying you can change everyone’s mind, or that everyone would be open to engage, but you should at least try.

You don’t get to take the moral high ground unless you actually climb there first.

On Being (Mentally) Well

tl;dr – 1 in 4 people suffer from a mental disorder. If you feel depressed, anxious, or otherwise unhappy for more than a few days, please reach out to a friend, a family member, or a professional. If you feel alone or isolated, know that you are very much in good company with almost 60 million others (in the US alone). You might be surprised to know that many of your friends are (or have been) in therapy or use medication to help with their mental health. Regardless, educate yourself about mental health and make it known to your friends and family that seeking help is a sign of strength and that you are there for them. Please reach out today.

The past few weeks have been a sad and frustrating reminder of the painful toll depression and other mental disorders take. Right before New Year’s, our bay area community lost Conor Fahey-Latrope, a talented C++ developer. A few days later, Luke Arduini, a prominent node.js developer went missing. Sadly, they were not the only ones.

Continue reading

Empathy

I’ve been asked by a few people for my thoughts regarding the ‘gendered pronoun’ incident that’s occupying the node community this week. I am purposely not linking to that thread. I appreciate Ben Noordhuis contribution to node, and I think that contribution merits a more nuanced response from me than a Twitter one-liner.

First, because it is worth saying, there is no argument that Ben is a very smart guy, has made a significant contribution to node and libuv, and has been tremendously generous with his time and talent. I do not believe the node community is “better off without him”. I hope he comes back.

To me, this is the core of the issue: Ben has an established history of dickishness. This attitude has been tolerated by the node community longer than anyone else’s inappropriate behavior because of Ben’s clear talent and contribution. But this is never sustainable and at some point, one more slip is enough to cause an uproar, and this is what happened here.

If the response from individuals and companies feel exaggerated and over the top, it is because for many insiders, this is not a single incident but the last straw. Whether that is fair or not is a matter of opinion.

I witnessed this behavior in a response to a node issue a member of my team opened a few months ago. I sent a private letter to Ben’s company explaining why I felt it was inappropriate and offensive. The response I received suggested that this was simply a result of Ben’s work load and his need to sort through many issues quickly. I was unsatisfied and expressed that. Shortly after, Ben corrected his behavior on that particular issue and provided thoughtful and patient feedback.

There wasn’t an apology or an acknowledgement of wrongdoing, and that stuck with me. Ignoring all the ‘gendered pronoun’ debate, what is really at the core of this incident is lack of empathy. It’s failing to say a simple ‘sorry’. It might sound trivial or petty but the incident a few months ago left enough bad taste in my mouth not to want to engage Ben further. I’ve actively directed my inquiries to other members of the node core team.

Ben is by no means unique in his attitude. I am sure half the people I interacted with when I was working on that “awful 2.0 security protocol” feel the same way about me. But when I offend people unintentionally, I immediately apologize publicly and privately, and when I choose not to, it is done with the clear understanding of the repercussions. When I quit that working group, the negative reaction I received was very much earned by my actions.

Every community has to decide what is acceptable behavior within its boundaries and especially what it allows its leaders to do. Whether it is an open source project or the workplace, there is always a balance between someone’s attitude and contribution. One often does counter-balance the other, but only to a point.

My behavior within the node community is in sharp contrast to that of my behavior in other communities. It’s not because I’ve changed, matured, or evolved. It is simply because it is the only acceptable behavior within the node community. Context matters.

Ben had multiple opportunities to back out of the corner he put himself in – and he still does. It really doesn’t take much. At least not in word count. People are just looking for some empathy, for acknowledgement that their feelings were hurt, and that the offender understands and regrets their actions, especially now that they know how offensive it was to people.

I hope Ben comes back from his break and continues to contribute. And when he does, it will be our turn to show empathy and move on.

Let’s Talk About Food

My life is split between two seemingly conflicting themes: software and food. I spend a great deal of time sitting in front of a screen moving my fingers. I also spend a great deal of time shoveling shit. Literally. I don’t like the “day job” and “personal life” dichotomy because it is just false. I love writing software. I love farm life. I work from home. Everything I do is out of passion. And as my passion grew deeper for both over the last 10 years, I started to realize the similarities, the shared values, and the harmony they create together.

After my speaking experience at Realtime Conf 2012, I knew this would be the right be venue to try and bring my worlds together on stage. My first pitch to Adam Brault back in May was centered around the idea of getting people’s hands dirty. With actual dirt. I wanted to get that simple universal experience (at least prior to the 20th century) of working with dirt back into our culture. I let the idea simmer in my head for a bit.

Adam and I talked about it some more at NodeConf in July and on the drive home, everything came together in my head. I realized that dirt is just one detail and that food is the creative force I am looking to share. When I got home I sat down and wrote my talk proposal. It was a little bit insane. Some of the ideas in there would have required the conference to increase their insurance policy. But the original pitch largely survived.

Then the insanity kicked in full force.

I am going to talk about food. The food, of course, being a metaphor for breaking through the mundane and seeing things with fresh eyes – rethinking of what it is like being an artist in a very mechanical and scientific craft. I would like to share some of my culinary experiences and studies from the world’s most innovative chefs to show how software engineers must deconstruct, simplify, reduce, and reconstruct our craft in new and creative ways.

I am not going to give away much else other than share some of the insanity with you:

This is by far the most ambitious talk I have ever attempted and probably one of my most ambitious undertakings. Whether a spectacular success or spectacular failure, it is going to be fun.

A few tickets are still available. Come and share my world.

 

Diversity

The biggest misconception about affirmative action is that it puts less qualified individuals ahead because of their gender or the color of their skin. If an affirmative action program results in lesser individuals getting ahead, it is poorly designed. This misconception is based on the misguided notion that we can score every person on a linear scale and simply pick off the top of the list. Human beings just don’t work that way.

In a rich, multidimensional reality, we must consider not only the attributes of the individuals, but also the makeup of the community we are trying to build. Setting a goal of more women, blacks, gays, etc. is pointless. That’s a stupid goal. Setting quotas is mechanical and more likely alienate others instead of bringing them in.

The point is to take a look at your community and ask yourself what would make it more open and accepting? Who are the people at the margin trying to join? Why don’t they feel comfortable and welcomed? This is not an academic, theoretical exercise. You actually have to ask and listen.

In geek culture at present time, that’s often women. When men hang out together, especially at a conference where alcohol is served, they create (without intention or malice) an environment that can be unwelcoming to women. This is something we’ve been hearing from many people trying to be part of our community.

Affirmative action is not about getting less qualified women to speak at a conference at the expense of more qualified men. That would be wrong and unsustainable. It is about finding the best female talent and showcasing it so that other women feel motivated and welcomed. So that everyone will benefit from a diverse range of opinions. When hiring a new engineer or curating a conference, the goal is to enrich the team or experience, not just to add a few skill sets.

I resent members of an outsider group (be it women, blacks, gays, etc.) use their own personal success story as a way of dismissing the real adversity others in their group still face. The fact that I have been very fortunate in my life as a gay man to never experience intolerance aimed at me does not, even for a second, diminish the real and painful challenges facing many gay men today. Drawing a conclusion that just because I found a welcoming home within my community means that it is no longer an issue for others is egotistical and hurtful. I wouldn’t even assume that the geek subculture I belong to is completely beyond bias, given that I don’t know more than a handful of other openly gay men within that subculture.

If you have been successful, you have a responsibility to help those who are still looking from the outside in. If you are a woman or a minority, just showing up can accomplish plenty. If you are gay, vegan, Mormon, etc., talk about it so that others will know and appreciate the unique perspective you bring in from that experience. You don’t need to perform an interpretive dance on stage or put it on a t-shirt. Just mention it in conversation, on Twitter, or in a blog post. Letting others know that they are not alone is an immensely powerful gesture.

The measurement of diversity isn’t in numbers. It is in the perception of those trying to join as to how welcoming a community is.

You, Me, and Node @WalmartLabs

Another adventure begins.

Two months ago I’ve joined @WalmartLabs to lead the mobile web services team. Surprised? I was. After working for one of the largest web companies in the world, all I wanted to do was go to a startup. That’s not exactly right; I wanted to be part of a tiny team with a big mission, a place where the size of the challenge is matched by the freedom and resources to address it. Oh, and a lot of node.js!

I am excited to share this and tell you all about it, especially on the heels of this morning announcement of the acquisition of Small Society. But I’m not going to lie to you: I have an agenda and I am trying to recruit you. If you are contemplating a career move and I “had you at node”, feel free to jump right to very end of this post to find more about the team we’re building.

Continue reading

Goodbye Open (and Why I’m Staying at Yahoo!)

It’s that time again, to move on. The past three years have been a roller-coaster. Coming from a small startup after a decade in financial services technology, I got to learn, contribute, lead, and provoke open web development. My standards participation landed me a great job, relocated my family to the West coast, and introduced me to a lot of amazing people. It has been awesome.

Over the past couple of months I have been steadily phasing out my open specifications and standards involvement. The OAuth 2.0 core specification is the only thing I am still working on (OAuth is a keeper). Everything else has either fizzled away or lost its interest to me. This should not come as a surprise to anyone who talked to me or read my posts over the past few months.
Continue reading