Pair Programming in the Clink


In this personal experience story, Daryl Kulak relates the day he spent behind bars. He was there to participate in a program that pairs prisoners with software developers “from the outside” to explore the art and science of agile software development. “It’s like a code retreat,” Kulak notes, “except it’s inside a prison.”

A few weeks ago, I joined a crew of developers who traveled to Marion, Ohio, to partake in the unique experience of pair programming in prison.

The main purpose of this pair programming exercise is to help prisoners learn the art and science of agile software development. The idea is that you take several qualified developers from the outside world, get them into the prison for a Saturday, work on some exercises together with the prisoners, and everybody learns. It’s like a code retreat, except it’s inside a prison.

The Marion Correctional Institution (MCI) is a medium-security prison just outside of Columbus, Ohio, and I was a bit nervous as I pulled up that morning.  I don’t think I was worried what the prisoners might do (pull a knife or whatever), but I was afraid I would do something wrong and the guards would kick me out.  At the top of my mind was the intimidating list of DO NOT DOs that our organizer had posted on his blog, which I had read seven or eight times and was constantly running through in my head. Things like “Don’t call guards ‘guards.’  They hate that. They are called correctional officers (CO).” 

Let’s talk about Dan for a second.  Dan Wiebe is half agile developer, half mountain man. He has a salt-and-pepper beard about ten inches long and dark eyebrows that always look a bit wild. He is a great guy, but many a team room has been put on edge when Dan came in on a Monday morning and announced “I just got out of prison.”  He loves to play this game, but really what he’s saying is that, on many weekends, he goes into prisons around the state and provides different types of support, including teaching prisoners how to develop software.

Which is how we came to this weekend. This was my first time, but everyone else—Dan and five other developers—had all been before. In fact, I had heard of these trips and even wrote a blogpost for one (using most of Dan’s words), but I thought I had a pretty good reason for not going: I can’t code.

Somehow, Dan convinced me this wasn’t going to be a problem.  Our exercises were going to be in Java, and I had done some Java development a while ago—umm, like eleven years ago.  You see, I’m not a career developer.  Dan calls me a “suit.”  I’m a manager, business analyst, client liaison—you name it, just not a developer. But I’m a sport!  So, I signed up.

I was thirty minutes early, but Dan and one other volunteer were already in the parking lot.  We walked in together into a small entry area. The rest of our crew arrived over the next twenty minutes. During that wait, I chatted with Dan and the others. I also tried to read the many, many warning signs posted in the lobby. You see, first, you have to be careful what you wear—metal belt buckles, shoes with steel toes, even underwire bra—because it might cause the metal detector to go off. But the other sign was even larger and more wordy. It explained to women about what they should not wear.  To summarize: Don’t dress sexy.  Don’t show cleavage or leg or even shoulders. Don’t wear spandex or tight jeans. And, always wear underwear.

We did have two female developers in our group, but they had both been on this excursion before, so they were sure to dress appropriately. I was pretty sure I was safe on these counts (being a guy),

Sure enough, I set the metal detector off. “It’s your belt,” the CO said. I took it off, went through again, and I was OK. Luckily, I got the belt back.  My pants don’t stay up well without it.

Dan recognized the CO, who was to be our escort, behind the metal detector. We walked across a courtyard and into the main building. I remember the sun on my face and thinking that I wouldn’t see it again for a while.  (Wasn’t true, by the way; there were windows and courtyards.) The CO at the next gate looked over our IDs and let us through a series of electric gateways. Our guide took us down a long hallway, and we were in with the general population.

Observation number one:  no orange jumpsuits. I never did ask why. I came to realize that whatever clichéd views I had formed about prisons without actually being in one needed to fly out the window. In fact, it seemed like prisoners could wear whatever they wanted.  A lot of guys wore blue shirts, but jeans, pants—everyone’s clothes just seemed ... normal.  People’s behavior was pretty normal, too. Everyone had some place to go, no one was really “hanging out” in the hallways; everybody was walking. Even though our group had two women, there was not a single cat-call, whistle, or even a stare when we walked by. Dan told us that the prisoners were well trained never to bother guests.

User Comments

1 comment
John Daughety's picture
John Daughety

Actually, I like this slight divergence from the normal boudaries for the weekly column. I recently watched a documentary on solitary confinement and am glad to hear your experience of a different kind of prison - human interaction is really important and giving them the opportunity to work with folks on the outside is a nice benefit. I would also argue that coding is a very appropriate skill to be teaching prisoners, as I consider it one of the core "trades" of the new millenium. It certainly opens up a released prisoner's options from the usual manual labor, which pays less and less if you can find that kind of work. Also, Dan was very smart to include you because coming up with user stories is not something that comes naturally to a developer but really sets him/her apart from the other developers if he/she can do it well. One thing I have learned in my career, drifting from waterfall-dominated environments to way-out-on-the-edge agile shops, is that daring to understand the parts of agile development that are not strictly defined as development work builds better relationships in agile teams and results in better developers. This is not just true of developers, either; testers who sequeser themselves in only test-related work are limiting their career options as well. There has never been a better time to reach out, even if it feels a bit clumsy at first.

August 25, 2011 - 6:46pm

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.