People are so human.
Every day somebody needs to sit with me and tell me how they are frustrated with somebody else. Sometimes I hear this sort of thing more than 20 times in one day. It's just part of my role here.
Yesterday somebody suggested "you need to fire that guy, he has only one function here and he is terrible at it!" "Fire" is sort of a funny word considering how this person (and nearly everybody I hear about) is paid nothing. When I bring it up I'm told that this person is not earning the food they are fed.
I'm not exaggerating. Every day. Sometimes twenty times a day.
For the one event yesterday, I spoke to the person being complained about and asked for a slight change in direction. I feel like it will work out fine.
And then I got to thinking about how much time was consumed by the angry party, plus my time. Plus the angry party probably burned a fair bit of time getting his angry worked up. He had a fair point about the object of his anger falling short.
And then I think that there are some really lovely people that nobody has ever complained about. Maybe we
should give them candy - or an award .... and we should focus on finding the awesome rather than being angry at shortcomings. And there are some really lovely people that have never complained about anybody! Now that I think about it ... the people that never complain about anybody seem to be the same people that others have not complained about. I'm sure that that is not 100% true, but there seems to be a lot of truth to it.
I do know that a few of the complainers are the people that others complain about the most. I'm reluctant to mention this because I don't want to discourage people from trying to make things better (and isn't that the real
root of complaint?)
But for the complaint yesterday .... the complaint that
led to this thought ... the complaint where somebody should be "fired" .... I wonder if the complainer could have approached the person and said something helpful to them. After all, that is exactly what I did.
You will notice that this
thread is in the forum "
wheaton laboratories" which is in the "community" section. This is a community thing.
....
I want to related something from my corporate whore days and then tie it back in.
I used to help teams of software engineers improve their development velocity. One of my favorite tools was called "pair programming." The funny thing is that the first time I hear of it I thought no company would ever adopt it, so I wrote it off as unpractical. But, in time, I learned the massive value of it. And a big part of my job was convincing people to try it (much like convincing people to consider the value of
permaculture).
Two software engineers sit at one workstation. One engineer is "the driver" and the other is "the partner". The driver has the keyboard for a while (maybe an hour) and does the actual typing. While the driver is driving, the partner does everything in their power to assist the driver. The problem is that you have two people. And people are sooooooo human. Often times one human thinks the other human is a complete dumbfuck. A worthless engineer that should have never been hired. Often times the feeling is mutual. The primary urge of "the partner" is to tell "the driver": "you're doing it all wrong! how did you ever get a job as a software engineer? Let me drive and I will teach you real engineering!"
Usually, during the first ten minutes, each engineer is utterly certain that pair programming is the stupidest idea ever. A waste of valuable resources. Most importantly, that giant asshole paul wheaton should be fired so everybody can just get the
fuck back to work without all this woo-woo bullshit.
This is the point where I say to "the partner": Your analysis of the driver may very well be accurate. And by your standards of software engineering, the driver's approach is utterly stupid. Your task is to keep communication between the two of you flowing. You must keep your head wrapped around the approach and .... here is your prime directive .... do everything in your power to assist the driver in creating their stupid implementation. You don't have to endorse it as good - you just have to be an excellent assistant. You are paid a professional wage, be a professional assistant. In a short while you will get your turn to be the driver and you can write the code over again if you think that is the right thing to do.
...
I guess that's where I am going with all this. If somebody is falling short, what can any one of us do to help that person be better? I suppose some people might think that the best thing to do is to tell them they are a dumbfuck and it would be best for the community if they would leave. I'm hoping that people can come up with a more wholesome message than that. Maybe a gentle reminder. Maybe offering a little moral support. Maybe .... a few minutes of being "the partner" - help get the pump primed, help get things moving in the right direction.
...
(I can already hear the response to this suggestion - we have had people where they have had a dozen reminders about a ten minute task and, to date, they still have not done this ten minute task. And we have had to ask some of these people to leave because it was such a problem. But I think that is the exception rather than the rule. I think most people have responded really well to a little support once in a while)
...
Back to the "pair programming": after about two weeks of required pair programming, people generally prefer to do pair programming all the time. Many people doing pair programming for two months go from openly hating their coworkers, to having an incredible, positive bond. People feel like they learned more in two months than they learned in four years of college. Team velocity is usually about two to three times higher and quality is usually double. Not only are the superstar engineers doing much better, but the junior engineers are doing almost as well as the superstars. Conflict which used to be hostile and daily is virtually non-existent.
...
Whenever people are involved, there will be challenges. I think 90% of the challenges can be solved with "pair programming", but, of course, we aren't programming. But now that I've shared this little bit of information, maybe it can find its way into all of the daily, nutty stuff we are doing and be of some small help.