Posts Tagged ‘teams’

Emotions are important

Tuesday, July 14th, 2009

A friend of mine has a story that describes the clash between emotion-valuing and emotion-fearing conversation. While talking with a coworker about the Foobar module, he’d say, “I’m scared of what would happen if we put Barfoo data through it,” intending to start a discussion of the robustness of the code. Instead, the response would be, “Oh Paul, it’s okay. You don’t have to be scared. It’s okay.”

People, especially STEM-inclined people, often prize rationality over emotions[1]. Emotions are sticky and mushy and uncomfortable and hard to define. Numbers and facts are measurable and tidy[2]. I disagree; I think that both measurable information and fuzzy/gooshy information have value.

Metrics can be very helpful. How many units of work did we finish last release? How many bushels of corn were harvested from that field last year? How many milliliters of air can this person breathe out at once? Once you have a specific question, metrics and measurable information can help you answer it. Even if you don’t have a specific question, metrics can help compress specific data so you can see trends at a glance.

Emotions and fuzzy interpretations are also very helpful. I’m scared of what will happen to this code in a multi-threaded situation. I don’t feel secure about the performance of this system under load. This project is falling together perfectly. This patient looks woozy. Emotions are the high-level summations that your brain puts together from weeks or months of ill-defined input. They can’t be computed precisely, but as estimations, they’re very helpful.

This post was prompted by peripatetic axiom‘s Let’s talk about feelings post.

[1] The definition of “rational” is generally “agrees with whatever I’ve already decided is true”. This is a related, but separate, rant.

[2] I profoundly disagree with this too.

the ICFP contest and teams

Wednesday, June 3rd, 2009

I got reminded recently that the ICFP (International Conference on Functional Programming) contest is coming up. The previous two years, I did it with a team of friends and had a blast. It’s a 72-hour programming contest, with the goal of presenting interesting problems that are best solved by functional programming techniques. (2007′s contest succeeded, in spades. 2008′s was more iffy.)

In 2007, my programming team had been through one grandiose spare-time programming project, and had started on the next. We worked well together, and placed 28th. (Corn Worf Strategy, named after a misspelling of an injoke from the first grandiose project project)

In 2008, we’d started to drift apart. It had been a while since we’d given up on the second grandiose spare-time project (we stopped to consider a weighty technical decision, everyone’s personal life blew up, and then the usual US December distraction hit). We didn’t do as well that year. It’s hard to say where exactly we placed, due to the complicated scoring system used, but we were somewhere near the middle of the pack (Pear Programmers, a joke from ICFP 2007 that was hilarious when we were all strung-out on hard thought and sleep-dep). We disagreed more and fought more. We separated into separate groups and individuals more. We simply didn’t work as well together. As individual programmers, we were all stronger than we’d been the previous year, but as a team, we were weaker.

I’m probably going to do the ICFP contest again this year. I don’t think the band’s going to get back together for it. It’s likely that I or we will do far worse than in previous years. My focus on terrifyingly clean code and Paul’s ability to write parsers for anything and Josh’s knowledge of high-abstraction-level Haskell libraries and Jesse’s willingness to bludgeon stuck problems with cloud-computing aren’t nearly as helpful without the communication and trust and interconnecting knowledge we all had.

I’ve never been on a professional team that worked together as well as we did during that first contest, even when it was two hours from deadline, we had no idea of how to move forward, nobody had had enough sleep/food/water, my back had pretzeled from slouching on a couch for days, and everyone had become incredibly annoying. I would move mountains for a chance to be on a team like that again.