This Sunday I participated in DevHouse Boston. It was fantastic, exhausting, and maybe even inspiring.
Dev House convenes a group of people who all are working on or wanting to work on interesting projects for one, short day. At a strict time after the hack session, everyone shows off what they've finished. The scope of each project is necessarily small since the emphasis is on completing something.
Mac demo'ing the project we worked on
There were no sponsors (aside from the venue itself, betahouse) nor after-parties; these were just smart, energetic people putting in a good day's work on mostly side-projects. Pizza and coffee and wifi flow freely and everyone has an impressive skill set and/or project history.
Simple and effective. The organizers weren't egomaniacal pseudo-celebrities in an insignificant web 2.0 universe. In fact, while there were provably high caliber brains with large profile track records in the room, egos seemed to have been checked in at the door.
The hangers-on that tend to flock to your average barcamp who have little substantive input to offer and just get off on going to tech events would have been really out of place here.
You've met these people? Their cards say "Social Media Consultant," but you still have absolutely NO idea what they actually have accomplished in their lives to enjoy such self-importance.
They somehow show up at every technology conference and happy hour, flitting around and constantly twittering and traveling and collecting "friends" on facebook like points in a game. They name drop other, bigger narcissists with @'s on twitter as if you are supposed to be impressed by their ability to weasel into places where they are hopelessly outclassed.
Engage them in their one-way conversation at an unconference (one of 20 they helped "organize" that month) and they kvetch about how they don't ever have time to sleep and how their many podcasts and video streams and guest blogging gigs and Uber-secret, open-source coalition of boards and specification architects is just about to launch and change the universe forever.
The have to wear costumes... COSTUMES... to SxSW so they are noticed and photographed since you have never heard of anything they've actually shipped before.
You fall for it once or twice or a few years. You may even chase the glory. Then the veneer fades. Then you meet people who are actually smart and are producing projects daily that chip away at real world, observable improvements in our human condition. Then you get angry or bitter or jealous at the "evangelists" and "connectors."
You look around and wonder what the hell happened and how did so much time disappear.
Not at Dev House.
Everyone was working and the socializing was all in the context of real effort. I suspect that there would have been very little tolerance for the BS that we generously call "expertise" at your typical tech conference panel sessions, for example.
"Tolerance" overstates the case. Valueless people would probably have just gone home on their own because they would have been ignored.
I also got a glimpse of what I'm missing as a lone wolf freelancer. I've not really participated much in pair programming sessions, and realized that there are some practical advantages. For example, watching somebody's terminal commands might reveal a new shortcut that can shave precious seconds off of trivial operations.
With somebody looking over your shoulder and simultaneously working on the same problems, you tend to be on better behavior.
There wasn't time for much architecture or even goal-setting at the session. We just kind of went forward as fast as we could. The day before, I created an initial framework that was refined pretty quickly by the others' input and it did the job for the day.
In this team coding environment, you have to constantly think about what you're doing and be prepared to explain or justify your approaches. So for better or worse, I found myself slowing down-- I was coding at maybe 60% efficiency.
This was maybe my second or third effort using ruby-processing (although I've done dozens of things (including production work) in processing, proper). It was definitely the most involved ruby-processing project I've done. We chose ruby-processing since more people were used to doing ruby work vs. java, and frankly, it just seemed more fun. Processing will ultimately not be sufficient for this project. We didn't even get into "real" graphics stuff.
I got stuck on some of the issues that "just work" in processing like file inclusions that were a result of our ruby-processing choice. Nevertheless, I do think that using some of the ruby idioms, combined with the ruby expertise in the room made for a more rapid development.
The last version control system I've used w/ more than one coder was subversion. I've migrated all my active projects to git lately. Git merges, etc, are something I don't usually deal with as I'm almost always a lone programmer on a project, so I needed some reminding on how to address those in git.
Criticism was constructive, for the most part. There were some people who took conversations off on digressions, but that's to be expected (reminded me of some of the better undergrad comp sci classes)
Get something done in a day, and you get the respect of at least a few minutes of attention and genuine questions or suggestions.
Most normal people took Sunday off.
Keep up with weekly resources about our rapidly evolving cyborganic relationship with technology. Topics include humanity inside computers, technology culture, digital artifacts, and augmented productivity for 21st century knowledge work.
I won't ever give away your email address. You can always unsubscribe. No hard feelings.