The Skill of Listening
Usually a couple times a year most or all of the remote developers get together to take some time to meet and reset. The goal is to have some time together to discuss and design some of the bigger picture details of our systems as well as work together to sprint on some code.
I remember one specific instance where we had some new developers and we were discussing some potential changes to our deployment system. One of the new developers had a rather strong opinion about keeping our own sources and packaging everything together when we release. My opinion was the exact opposite of course. It seemed ridiculous to avoid the convenience things like setuptools and easy_install for what I thought was no real gain.
Every once in a while when there is a technical discussion it is helpful for me to think back to that discussion. My opinions have changed and now I agree with his points. At the time I had a bias that was unsubstantiated. The fuel driving me to disagree was really my own close mindedness to new ideas. It was certainly OK to disagree, but my resolution should have been to recognize the impasse and contemplate on the ideas presented. Instead, I was impatient and kept arguing.
None of this was damaging or that heated, but lately I’ve been thinking about it a lot along side other technical arguments I’ve gotten myself into. The theme I keep coming back to is the importance of listening. For myself, that means explicitly shutting my mouth and thinking about the problem. Sometimes it means talking about it to myself out loud or trying to write some code. The main thing is that I stop arguing and start listening in order to consider and compare the ideas.
The other thing about listening is that it does not imply that my idea or direction is wrong. I’m not giving up on the argument or becoming acquiescent. This is also important because assuming I’m wrong means I’m not listening to myself and giving my own ideas a chance to mature and develop.
This process is something that takes a lot of practice and between writing code and writing music, I get my fair share. The irony is that only now am I realizing how poor my listening skills actually are, even though I could have been practicing for most of my life. You never stop learning.