At some point I inevitably hit a wall and need to bounce ideas off someone. IRC and other forms of chat work great. I can ping someone and get a quick answer, or at least get a RTFM or RTFW.
Often times, though, the quick answer or linkification doesn’t make things abundantly clear, and the solution to my problem is still rather fuzzy — and not the good fuzzy — the bad fuzzy, like hangover fuzzy.
So Google doesn’t hold the answer, or at least not in a form I can understand. The server guys who know everything have no idea wtf I’m talking about, so I’m stuck. What I need is a whiteboard, pens of different colors, and a 12-step program from someone in the project who knows what the hell is going on.
It’s a part of working with a team. You learn and build off of your teammates for certain things, and you help them grow in other areas as well. It’s complimenting strengths and weaknesses that can make the whole greater than its parts. The whiteboard discussions, and the shorter pen-and-paper talks can remove the bad fuzziness and replace it with clarity.
In addition to providing a solution, these discussions (usually, anyway) form great relationships between team members and can help open new paths of communication. They can also lead to healthy tangets and the inevitable brainstorming that follows.
In a way, all this sounds like what friends might do. Sounds great, right? Well, hold on. I have a point here somewhere…
Whiteboard or pen-and-paper discussions don’t always happen for people who work together on open source projects. They take place in cyberspace, and assume many forms, but don’t ever match up to face-time. As a result, I believe projects can really suffer without face-to-face interaction between contributors.
So we are left with technology to fill the gaps between us. The first problem with this is the waiting — five, ten minutes — maybe hours, maybe days. In the meantime our problem ferments and makes us dream code or leads us to beer as an escape (yay!). The problem isn’t solved right away, if ever, and progress hiccups.
The second problem is more about human interaction. You simply can’t build rich and complex relationships between people through IRC, newsgroups, AIM or emails. Sooner or later you have to take the extra step to meet these IRC handles, emails or nicknames and place a face on them. Why? Because great projects are fueled by great face-to-face relationships.
This brings us to what I’m doing right now. All of my current projects are done remotely in collaboration with people who are mostly in a different time zone and sometimes on a different continent. December has been an eye-opening month for me because I’ve gained an appreciation for how many people are actually out there.
Over time you start to get used to the email or IRC buzz. Names are all over the place, and sometimes you lose touch with the “who” and concentrate more on the “what” and “when”. So having the chance to visit Mountain View and meet almost everyone I’ve talked to about anything regarding Mozilla and heading over to Tucson to meet the Kuali team has meant a lot to me.
It’s more than the warm fuzzy (the good fuzzy) feeling I get from meeting everyone in person and hang out for a bit after work. The positive vibe is also reflected in terms of productivity. We get that chance to voice our concerns and know that everyone is listening. We get time to sit in front of the whiteboard and hammer things out. We take wild tangents, have great discussions, get pissed, laugh it off, come up with a plan or solution, and feel great. And oh yeah – we all get a chance to listen a lot, too.
My second week on the road is quickly coming to an end. When I get back home I will have driven a total of 2200 miles and flown for 600 miles. Getting to meet everyone, listen and learn from them, and work on building a plan for the future of our projects was well worth the trip.
You can’t send a human being through a wire.