We Humans

[This is a transcript of a lightning talk I gave at RubyConf India and RubyConf Philippines in 2016.]

The human condition is one of contradictions.

We enjoy and celebrate the successes of science and technology. We honor acts of selflessness, goodness, and courage.

And yet, unfortunately, we human beings also see behavior in each other that appears to spring from a being without a brain, or a heart, or sometimes both.

How much worse when we find that we ourselves have displayed insensitivity, arrogance, or malice.

One of the highest forms of nobility we as humans have is the willingness to acknowledge our imperfections and work to change them. We do this for others, and for ourselves.

So much of our waking time is spent working.  And so much of our happiness during that working time depends on our working relationships.

The times when I have worked on teams that have a culture of friendliness and helpfulness have been my happiest ones.  Working in toxic environments where nastiness was tolerated and practiced were my most miserable ones.

There’s something I call radical helpfulness.  I mean by this thinking outside the box…extending yourself beyond your comfort zone and/or beyond the realm of your responsibility, to be helpful. I talk about it more in another article on this TechHumans.com blog here.

Since I want to be treated well, I need to do everything I can to model the kind of treatment I want to receive.

Here are some questions I ask myself, in the spirit of radical helpfulness, that may be helpful to you as well.

  • Is there anything I can do to help my coworker be more productive or happy?
  • Do my coworkers feel valued and heard?  If not, can I try to change that?  If I can’t do that, can I at least offer a sympathetic ear?
  • When I “catch someone doing good”, how can I most effectively acknowledge it, even if it’s not my position to do so?  Such as… “Hey, Brad, I asked for that feature just an hour ago and you already got it for me. That’s amazing!  Thank you!”

Here are some examples of my attempts at radical helpfulness.

1) I once attended a meeting where two coworkers were discussing a new software module.  They spoke and spoke, and when anyone else tried to speak they cut them off.  Finally I couldn’t take it any longer and said “you know, we’ve been listening to you guys talk for over a half hour. X and Y haven’t said anything until now, and now when they did, you cut them off.  I’d like to hear what they have to say.” To their credit, when this was pointed out to them they realized what they had done and corrected it immediately.  Think about how X and Y felt.  Have you ever felt that way?  Or ever made someone else feel that way?

2) There was one time at work many years ago when two of my coworkers were yelling at each other. I stepped up to them and asked “would a third party be helpful here?”.  They each told me their grievances and we defused the situation.

3) Another time, there was a guy who was being let go from our company.  There was a rumor that he had done something quite inappropriate, but not something that had caused anyone physical or emotional harm. He was being shunned by everyone.  I felt bad for him.  I wanted him to know that I acknowledged his value as a person, and we talked from time to time. He was an interesting guy, very curious and inventive. We were talking on the phone once after he left the company, and he told me he had been experimenting with explosives at his rural home.  Nothing ever happened.  But if no one had ever connected with him, would it have?

We need to cultivate in our minds a radical helpfulness bot that’s always watching our lives and asking us ‘what can you do to make this better?’ at opportune times.

How wonderful that we work in a community where MINSWAN is a guiding principle; but we are just a microcosm of the world.

When our human species is studied by future species, what will they see? Will they see an animal implementation of the weed, who overtook the planet on which it lived to the point of making it uninhabitable? Or will they see a noble species who worked really hard to overcome their default modes of thinking to save, nurture, and support each other, and the other beings with whom they shared this planet?

The answer to that, my friends, is up to us.

19. March 2016 by keithrbennett
Categories: Uncategorized | Leave a comment

Random Four — Making Strangers Friends in Your Large Organization

Finding Treasure in Your Coworkers

I recently had lunch with three of my coworkers. Among them was Charles, a quiet and mild mannered man most noticeable to me by his strong southern accent (Louisiana, to be precise). Towards the end of the lunch, Charles mentioned something about traveling and I asked him where he’d gone. His answer blew me away. On his most recent trip, he spent four months solo backpacking in southeastern Europe, the Middle East, and Iran.

I have traveled to several continents, but comparing his courage and adventurousness to my relative timidity had me wanting to bow and exclaim “I’m not worthy” three times à la Wayne’s World.

Learning about this side of Charles gave me an appreciation of him as an individual I would never have gotten by merely conversing with him about work at his cubicle. How much we miss when we fail to delve beyond the exteriors of the people with whom we work every day!

The Challenge of Large Organizations

Some organizations are so large that most people know only a tiny percentage of their coworkers. Departments other than one’s own appear to be black boxes whose opaque boundaries consist only of unfamiliar email addresses and occasional cross-boundary announcements. Navigating the bureaucracy is done best by those who have been immersed in it for years. Most people are strangers to each other. How unfortunate.

Random Four

Here’s an idea that might help address this problem. It works like this:

Everyone who’s interested submits their name to a list, with days, times, and possibly places that they’re available. For any given time slot, the names of those who are available are selected at random in groups of four. Each group of four meets for lunch.

I can’t really come up with a name I like a lot, but maybe something that begins with Flash, Random, Surprise, or Friendly, and ends with Four or Band.

Why Four?

That number is not strictly required, but it’s a good number, because if it were fewer than four:

  • it would take much longer to meet the same number of people; to meet 6 new people you would need only 2 meetings of 4 people, but 3 meetings of 3 people, and 6 meetings of 2 people.
  • there might not be as much energy in the group to keep the conversation lively

…and if it were more than four:

  • you might not get to know everyone
  • it would be easier for some individuals not to participate
  • it would be more likely for there to be multiple simultaneous conversations, and these are real unity killers

The optimum size of this kind of event depends on its duration, so while four might be ideal for a lunch hour, six to eight might be fine for an afternoon or evening outing. Of course, larger outings can be good for team building, but probably not as effective for getting to know strangers, since most people will gravitate towards those whom they already know.


Although this is an informal and optional gathering without any oversight, a little bit of structure may be helpful. Specifically, each person could be encouraged to spend a few minutes talking about him-or-herself — only briefly about their role in the organization, but mainly about things that are not work related. Examples could be:

  • recreational interests
  • what’s on one’s mind a lot these days
  • a family situation
  • personal goals
  • talents and accomplishments
  • a dramatic event in one’s life

Participants should be careful not to dominate the conversation, and to gently solicit participation from those who might otherwise be too shy to speak up.


When expressing your opinions, it’s important to remember that others may not share them. We want to focus on what unites us, not what divides us — so be tactful and respectful.

This is a great opportunity to challenge our stereotypes and discover the value and merit in people with whom we might not otherwise have sought to meet.


We may not be able to create world peace, but in our tiny microcosm, by challenging our mental rigidity and getting to know each other, we can become better people and make our workplace a closer community — and this will result in more trust, motivation, creativity, productivity, and collective accomplishment.

This is just a first pass at the idea. Do you have any suggestions to make it better?

21. October 2015 by keithrbennett
Categories: Uncategorized | 1 comment

Kaizen and Radical Helpfulness


I recently spent two days with other students in a Kanban class (see Wikipedia’s definition of kanban at http://en.wikipedia.org/wiki/Kanban). An effective kanban system minimizes the degree to which any part of the process needs to wait for input from its predecessor (called blocking), and maximize task completion. Loosely associated with kanban is kaizen, which, in the western business world, signifies a process of continually improving operations based on feedback and experimentation from people at all levels of an organization.


Ice Cream

During the mid-afternoon break on the second day we were invited to go next door for free ice cream (!). I arrived to find a substantial line. (Backlog!) The process was quite inefficient. Each “customer” stepped up to the ice cream bar, took a scoop from a metal container filled with water, scooped his or her ice cream, and returned the scoop to the metal container. Making matters worse, the ice cream bar was located in a place that was ill-suited for this flow, so entering and exiting the scooping area made it take even more time.

Seeing this, Sam the kitchen manager came over and offered “I can do this for you much more quickly.” Strangely, the person about to scoop ice cream ignored him. He may not have heard Sam. The second person also ignored Sam. I was the third person, and I enthusiastically gave him my bowl and said “Go for it!”

It must have been frustrating for Sam watching us flounder like that because when he finally got the go-ahead from me, he dove for the scoops. Like a sheriff in the wild west picking up his six shooters, he lunged toward the metal container, grabbed one scoop in each hand, and plunged them in two ice cream tubs at the same time. Then he did it again with the other two scoops and tubs. Hmmm, there were four scoops and four tubs, what a fortunate coincidence (not!).

This was a brilliant application of kaizen. I was pretty excited to share this story with the class, and eventually had my chance.

After relating my story, Ken, the instructor offered his own. I’m paraphrasing, but basically he said “Did you notice that yesterday and today, the lunch line was really long, and it took forever for some people to get their lunch? The lunch table was placed against the wall so that only one line could pass. From a throughput point of view, that’s the worst place it possibly could have been.”

Doh!!! Epic fail! We could have halved the time it took to get lunch (which felt like 15-20 minutes for some) by merely sliding the table over a few feet. We like to think of ourselves as pretty smart, but sometimes, um, not so much.

So I thought to myself (cough, retrospective, cough), why did this happen? Why, in a room full of professionals, many of us engineers no less, did no one think of this? Here are some possible answers.

Not My Job

It is common for us to assume rigid lines bounding our responsibilities, and focus our energies inside those lines. This is, after all, the basis on which our value is judged; no one ever got a raise or promotion by picking up someone else’s garbage. And while there is a legitimate weight for this, in its extreme it is selfish.

Fear of Embarrassment or Rejection

What if I make a suggestion and it turns out to be a silly one? Or what if the person responsible would be angry if I moved the table, saying that I should mind my own business?


If I just wait my turn, I can avoid the effort of embarking on this mental journey to solve the problem, and avoid the social effort required to enlist the support or permission of others.

Low Self Image

I’m not good enough to figure out a solution to this problem, so I won’t bother trying.

It Didn’t Occur to Me

Most likely, it doesn’t even occur to me to try to solve the problem.

It Was Where It Needed to Be

Of course, there’s always the possibility that this alternative had already been considered and rejected for good reason. I’ve found that sometimes when I’m sure I know better, I don’t – and that’s another opportunity for growth, but outside the scope of this article.


The Toronto Hotel Fire Alarm

I attended a conference in Toronto a few years back, and a false fire alarm sent everyone out into the street. There were probably a hundred people waiting a pretty long time for the hotel to call us back in. Two parents and their children were standing there in their swimsuits, obviously quite cold. I found a hotel employee, pointed to the family, and said “those folks look pretty cold, is there anything we could do for them, maybe get them some towels?” A couple of minutes later they had towels around their shoulders and smiles of relief on their faces. Though I may be projecting, it occurred to me that they were happy not only to be warm, but from the nice feeling that we get when we receive (or give) help.

Why wasn’t the hotel staff scanning the crowd to see how they could make their customers more comfortable? And why didn’t it occur to the parents to ask for help? Sometimes the best window into ourselves is that which we notice in others. What would I find if I examined my mind to see if I share those self-imposed limitations? How can I train myself to go beyond them?


The Helpful Procurement Suggestion

At one of my employment positions, I noticed that the procurement process was dismally broken. The system we had in place was this: When you run out of stuff, go to the store and buy it. No inventory. One time a presentation to a potential customer almost didn’t happen because a blank CD couldn’t be found, and someone had to race out to the store to get one in time.

I remembered the admonition not to complain about a problem without proposing a solution, so I put together an email message outlining a system I thought would work well for us. I sent it to the guy in charge.

In contrast to my polite and respectful tone, he replied with what was probably the most vitriolic email message I’ve received in my entire career. He accused me of inventing fictitious problems, and told me to mind my own business and stick to software development. (My coworkers confirmed my statements.)

Given reactions like this, is it any wonder that so many of us do just that, mind our own business, ignoring opportunities to further the collective goals?

This is why it’s so important for a work group, department, or organization to show by their actions (words are good, but by themselves not enough) that they require respect and fair play; otherwise, how can they complain if their people lack initiative?


How the California Highway Patrol Saved My Life

It was late at night a few years ago, and I was driving from San Francisco to my friend’s place about an hour outside of the city. I was getting sleepy. Suddenly I heard a siren, and noticed flashing lights in my rear view mirror. I pulled over. The highway patrolmen told me I had been weaving, and asked if I had been drinking. I hadn’t. Since I had no recollection of weaving, or anything, before being pulled over I’m pretty sure I was asleep. If I hadn’t been stopped, I might have died that night.

How did they know, was it coincidence?  Did they just happen to be driving near me? Since then I learned that anyone can call #77 and be connected with the local or state police appropriate to that location. It’s possible that a good Samaritan saw me and notified the authorities.

Since then I have called #77 many times, once for a car fire, several times when people were weaving (including trucks!), and many times when I encountered a road hazard such as a box on the highway.

Is it my job to do so? Not really, but how boring would my life be if I only did things I had to do? And besides, what nobler thing could I possibly do with my life than save another’s?


Surely You’re Joking, Mr. Feynman

In the book “Surely You’re Joking, Mr. Feynman”, the great physicist Richard Feynmann relates (among other things) his experiences as a child working at a hotel run by his aunt on the beach. His playful uber-geeky brilliance is a fun read as he relates his incessant ill-fated attempts at process improvement at the hotel and the angry reactions of his elders. In his defense, it would be unfair to judge his inventions by the very first iterations of them, and he didn’t get the opportunity to refine them. You can read this online at pp. 25-30 of the book (go to http://books.google.com and search for “Surely You’re Joking Mr. Feynman”).


Extending this Principle to the Broader Human Experience

The lack of initiative so often found damages productivity in the workplace, but if we extend it to the broader human experience, we can see that much suffering has occurred due to apathy and selfishness. Edmund Burke said “All that is necessary for the triumph of evil is that good men do nothing.” It is natural for us to think of ourselves and our families first, our wider groups and nations next, and “the rest of the world” last. We’re wired that way. But it would also be prudent, helpful, and good to acknowledge how much damage and suffering that selfcenteredness has caused, and work to mitigate it.


Gerald Weinberg says in his book “The Second Law of Consulting” that “No matter how it looks at first, it’s always a people problem.” We want to be part of the solution, not the problem, right? So here are some questions we can all ask ourselves:

  • Do I care enough to go out of my way to help my coworker, even when that is outside the scope of my measured (rewarded) performance?
  • Do I actively seek opportunities to be helpful?
  • When someone makes a suggestion to me, do I give it serious consideration? Do I feel grateful for the suggestion? If not, why not? Do I communicate that gratitude to the other person?
  • If I have authority over others, how do I respond when they make suggestions that differ from my own ideas and opinions?
  • Do I feel happy or envious when a coworker is recognized for excellence?
  • If everyone behaved as I do, would my organization be a better or worse place? In what ways?
  • Do I monitor my thoughts and actions and notice when there is need for improvement? If so, do I make an effort to correct myself?
  • Do I ask myself what am I not thinking or doing that I should be (as described in the Toronto Hotel story)?

What other questions would you add to this list?

26. June 2014 by keithrbennett
Categories: Uncategorized | Leave a comment

Interview with Corey Haines, August 2011

Our first post is a voice interview I did with Corey Haines in Dulles, Virginia, on August 18, 2011.


After 12 years of coding for money, Corey Haines said enough and went on a year-long, journeyman pair-programming tour. Traveling the world, pair programming for room and board, he spent his time teaching, learning and just living as a knowledge-cross-pollinating, little, software craftsmanship bee. For the past three years, Corey has focused his attention on helping developers improve their fundamental software design skills through the use of focused-practice events, such as code retreats. 1

The Pairing Journey

In the first part of the interview Corey tells us about his inspiring and unconventional journey, which began with, of all things, being fired from his job. He immediately picked himself up and planned his next move. Thinking outside the box, he set out to teach and learn from his colleagues in the technical community, starting with David Chelimsky of RSpec fame. That is, he literally set out, visiting them for up to a week at a time, sleeping on couches, absorbing their wisdom, passing it on to the next people and offering some of his own. Corey is now an internationally known and respected member of the Ruby community, leading code retreats all over the world.

Corey’s Thoughts and Observations

In the second part Corey shares his observations about organizations, teams, and individuals in the workplace. Here are some of my favorite quotes from it:

“…most of the companies that I really admire, they don’t call it agile, they just call it software development, so for the techniques that XP has, they wouldn’t dream of not doing automated testing, because that’s irresponsible for your client. Now, they do it and they learn about it, they find pain points with it, and instead of abandoning it, they inspect it. Are we potentially doing it wrong, are we potentially doing it in an immature fashion, are we doing it in a way that we can fix, and so they’re constantly inspecting.”

“You can bring inexperienced people in, but don’t put them in a corner and have them sit there hacking out code. Bring inexperienced people in and treat them as equals, treat them as people that you’re mentoring, treat them with respect, and they’ll strive to do that, and if they don’t you cut them. If they’re not that kind, then you get rid of them and you bring in the people who are of that nature.”

“I think the most effective way [of collaborating], which does not mean it’s the only effective way is big open room, big huge monitors, live input devices for everybody, so two keyboards, two mice on a machine.”

“The companies that ate together that would either bring lunch in or people would go out and bring it back or they would go out in groups of six or something, but if you eat together, it just was wonderful because you got in in the morning and it was your family that you spent the day with…those places I loved. It just breeds that excitement about it, and it breeds responsibility, and the better you know your teammates, and the more affection you have for them, the less you want to let them down, and you’re willing to work on your own skills to that you don’t let them down.”

(Q: “In the places you’ve encountered that have been the most productive and successful, what are the leaders like?”) “I think they all seem to be very engaged, they all seem to like the people, they want the people to be happy, and they tend to be engaged in the day to day stuff. Either they’re actually sitting on the floor with people working, or they are in there a lot, or they are in the meetings a lot, but they tend to be very engaged, and have a good philosophy about both software and people.”

…and my favorite one:

“Software development is a very social activity.”

I hope you enjoy listening to this as much as I did.

Corey can be found on twitter as @coreyhaines or at http://www.coreyhaines.com. Screencasts and articles about Corey’s programming tour are available at http://programmingtour.blogspot.com (check out the older posts).

– Keith Bennett, http://about.me/keithrbennett

Show Notes:

00:20 – The adventures of Corey Haines and traveling around the world

  • Spending time with people with different experience levels and personality types
  • Meeting people and building a network
  • Connecting people together

02:00 – Tendencies to work in a very insulated community

  • Working around others gives you a view of where you stand between them
  • These people are better than me/I’m better than those people
  • Self-realization in skills; what I’m good at/what I’m lacking

03:05 – Finding people and having them find you

  • Pairing for room and board
  • Video interviews with everybody he stayed with
  • People started noticing Corey
  • Acquired notoriety on Twitter
  • People started inviting him to come to them

12:30 – All of the above stemmed from a “negative event”: getting fired

  • Firing people who just don’t fit in is an effective company practice
  • Support after getting fired helped to lift him back up

16:25 – Establishing a reputation within the Agile community

  • Talking to people
  • Shaking hands
  • Attending conferences
  • Forced himself to meet people and overcome shyness
  • Became more able to hold a conversation

19:40 – Using Ruby

  • Previously using the Microsoft ecosystem
  • Professional programmer since 1996
  • First Ruby he ever wrote was in 2006

23:50 – Different ways of doing things/insights

  • Small teams work best
  • Internalizing extreme programming
  • Agile versus software development
  • Giving the most value to clients

28:07 – Hiring the best people for a job

  • You can bring inexperienced people in
  • Treat them as equals and mentor those who want to learn. Cut the ones who don’t
  • Software development is a very social activity

29:45 – Effective ways of collaborating

  • Big open room
  • Big huge monitors
  • Live input devices for everybody
  • Being co-located
  • Companies that eat together

32:15 – Who to pair with and when

  • It depends on an individual’s time cycle

33:35 – People who resist pair programming

  • Not an easy skill to learn
  • Resist because they’ve never had an effective pairing session

37:06 – Leadership

  • Engaged in day to day activity
  • Want to see people succeed
  • Participate in meetings
  • Good philosophies on software and people

38:08 – Learning new technology to do your job

  • Set aside time to focus on practicing it
  • Your company should not get paid by their clients to learn technology
  • Good companies want you to learn

44:40 – Where is Corey today (as of interview, August 2011)?

  • Lives in Chicago
  • Working on a start-up app with his girlfriend called Mercury App–an application to help individuals and teens make better decisions
  • Side projects
  • Internal training at companies and talking about taking time to practice
  • Code Retreats


  1. This paragraph copied from Corey’s bio with his permission.

27. July 2012 by keithrbennett
Categories: Podcasts | Tags: , | 5 comments

Welcome to TechHumans.com!


Human, nontechnical issues routinely make and break billions of dollars worth of software projects.  They also have a huge impact on the happiness or misery of software professionals.  Why is it, then, that so little is said about them?


TechHumans.com is a nontechnical blog for technical people.  We discuss maximizing project success and team happiness by:

  • exploiting individual diversity rather than treating developers as interchangeable parts
  • cultivating a sense of shared purpose so that a team *feels* like a team
  • encouraging developers to share expertise with each other and creating an environment of collaboration, not competition
  • making the workplace a place people look forward to being every day
  • getting to know colleagues better
  • supporting efforts to better learn the craft
  • ensuring that people feel valued, respected, and safe

This blog is primarily for developers, but managers, executives, and others are welcome too.

If you have any ideas, suggestions, or would like to help out, feel free to email me, or join the Tech Humans Google group at https://groups.google.com/d/forum/techhumans and post there.

I expect we’ll be posting articles, audio interviews, and videos. Our goal is to be entertaining and engaging in addition to being informative. Sometimes the best medium to accomplish this is story telling. If you have a story you’d like to share about the dramatic effect of human issues on a project or in an organization, we’d like to know about it.

Check out our podcasts here.

Thanks to Avdi Grimm whose WideTeams blog inspired me to start this one.

Keith Bennett
Reston, Virginia, USA
July 2012

20. July 2012 by keithrbennett
Categories: Welcome | Leave a comment