|
Binary Thinking I loved learning about binary back in the day—logic gates, truth tables, etc.—it felt like a game! Thinking in binary is clearly a core part of programming. However, like a lot of thought patterns that serve us in the code, it gets us into trouble in the real world. Tabs vs. spaces debate, anyone? Seeing the world in terms like either/or, right/wrong, or good/bad hinders empathy, learning, and creativity. Some readers expressed appreciation that in the last newsletter, I explored both sides of the remote work issue. One could call me wishy washy or indecisive, but as I see it, I just recognize that this is not a binary issue—it’s not that remote work is good or remote work is bad. Human issues are more complex. So, I have a challenge for you—for the next week, try to notice when you find yourself thinking in binary terms and pause. Are you creating a true/false flag in the code? If so, maybe it’s ok. But if instead you find that you’re judging techniques as wrong/right or people as good/evil, ask yourself if there might be more to the story. Could the answer be more complex? Stay humble. Stay curious. I’m going to try this, too! Morality on Github Earlier this year I delivered a keynote at an ACM event in Melbourne, Australia. Through that event, I met many researchers working on issues of emotions and coding. It’s so encouraging to see this happening! One of those researchers recently released a paper on morality and heated GitHub issues. The paper shows connections between “toxic” behaviors and underlying moral principles. This is consistent with an exercise I share in Compassionate Coding workshops: behind every seemingly negative behavior pattern, we can find a positive motivating value. This is also related to the binary thinking issue. When someone is exhibiting a behavior you don’t like, they’re not a “bad” person. They may just have different values or complicating circumstances. For example, when one of your coworkers seems to be ranting about poor quality code, it might not be that they’re just a “jerk.” It could be that they strongly value order or efficiency. You might strongly value harmonious communication. Working together is about negotiating these values. There may still be a conflict to resolve, but approaching it from this more empathetic place can help you reach a solution more peacefully. Compassionate Coding Updates Now for a few exciting updates. When I started Compassionate Coding in 2016, it was a pretty lonely. Many people dismissed it as too “girly” or “soft.” As I once shared in an interview, my mom was the only person who supported me at first. Well, thanks to open-minded people like you, things have changed over the years and the word has gotten out. One result is that Compassionate Coding has now been featured in multiple books! Check these out. (I’m linking to Bookshop to support independent bookstores.) Many thanks to the authors for seeing the value of this work.
|