3 Themes from RubyConf 2017: Existentialism
In November I attended my first RubyConf and spent a whirlwind three days trying to learn all the things. Now that the dust has settled, here is part two of three themes that have crystalized, which I know I will find myself mulling over for weeks to come.
The Existential Dilemma of Software Development
Where the existentialist writer Jean-Paul Sartre said that hell is other people, software developers would say that hell is other people’s code. But also our own code. Ok, maybe code in general. Because as soon as it is written, it is decaying, it is debt, it is trending toward wrong (as my company’s CTO Fred Lee likes to say).
Chad Fowler and Andy Croll both acknowledged that software development can feel futile. Systems can take a decade or more to build, but most software dies within 5 years (a stat that Fowler admits to “making up”, though it is based on his experience). Life is short, and no one will remember the code we write when we’re gone.
So how can we find meaning in work that is destined for entropy?
One way is to write code differently. Fowler suggests reclaiming the term “legacy software” by creating systems that endure without clinging to the code that makes them up. The value is in the structure, leaving the individual lines of code to continually decay and be replaced, like cells in a living organism. In this way, the replaceability of code becomes a boon and even a goal. Instead of fearing that our code won’t be around for very long, what if we ensured that it wasn’t?
Another way is to write different code. Sam Aaron’s demo of his app SonicPi is an example of the kind of legacy that produces playfulness, experimentation, and education. Sonic Pi is a live-coding environment that teaches people how to code while making music. This project reminds us of the power and potential of programming as a tool for great expressiveness and great good, and that perhaps we need to make room in our lives and careers for code as art in addition to code as paycheck.
Finally, we might combat discouragement by shifting our focus from the code we write to the people we write it with. Sandi Metz gave a powerful talk about what makes teams great, citing Google’s findings that psychological safety is the single highest indicator of the effectiveness of the team. She asks us to image teams where we all lived out the tenets of How To Win Friends and Influence People, expressing genuine interest in our team mates, making them feel important, helping them save face, and encouraging and recognizing even small improvements.
Layer onto Metz’s talk Anjuan Simmons’s talk about lending privilege, and you have a powerful charter for teams. Simmons explains that lending privilege is about using your position of influence and expertise to give a voice to those without it. It could be as simple as making room for a colleague to speak in a meeting, or as powerful as advocating for a teammate in a similar position to be payed equally. In an industry that is often hostile to women, people of color, LGTBQ people, people over the age of 35…we have a lot of privilege to lend and a lot of psychological safety to gain in doing so. We also have a way to create a legacy beyond code, because at the end of the day, it’s always about the people.