Becoming better developers is important. But Madison+ Ruby 2014 is a bit more ambitious than that. Several of its talks focused on helping community members become better human beings as well. By unpacking concepts such as soft and hard skills, the intricacies of consent, and even the four classic virtues, Madison+ Ruby 2014 really got attendees thinking.
Liz Abinante got things started Friday morning with a terrific talk on renaming soft and hard skills. So-called soft skills, she says, include friendliness, communication, task management, and project management. It’s the ability to effectively communicate why you did what you did, to discuss your code, and to work with your coworkers as human beings. “We need to have soft skills in order to succeed,” Abinante says, “but why are they called that? I’m not a stuffed animal, even though I’m wearing a dress with dinosaurs on it. I’m a person and I really like working with other people. I don’t want people talking about my soft skills. I’m a professional.”
Abinante also asked her listeners to turn a critical eye on what it really means to call technical skills hard. “Synonyms for hard include ‘solid, firm, resistant to pressure, not easily pierced, violent, strict, unyielding,’” she says. “This doesn’t feel right. These are not words I want used to describe my ability to write code. These are not things I want to describe me as a professional. My skills are not strict or severe.”
Furthermore, this old fashioned dichotomy leads to confusion over skills that do not fit into the box, like the concept of code review because it takes both soft and hard skills. As a result, communication problems happen a lot.
Abinante notes that humans really, really like things that are black and white because dichotomies make it easier to parse the world. They make it easier to automate interpersonal interaction. We love automation, but it should be used wisely, not indiscriminately. She gave several alternate options for the soft/hard divide, including interpersonal and quantifiable, psychological and technical, and even human and robot. The commonality among these options is the new dichotomies value both sides of the equation.
“It’s easy to be a unicorn,” Abinante says. “But it is hard to be a person. We owe it to our community to be better people.”
On Saturday, Abraham Sangha picked up several of Abinante’s themes with his talk TDD for Your Soul: Virtue and Web Development. “What do virtue and web development have to do with each other?” he asked. “Science is not self-interpreting. It can be directed for good or for ill. The best example of this is Walter White from Breaking Bad—genius, chemist, brilliant engineer…who uses his powers for ill and builds a meth empire. It’s not only what we do but how and why.”
Sangha shared that he really got into web development just to get paid, but over time that changed. “I started to see that learning to code and learning to be a professional engineer was a path for me to become the best person that I could be.”
Acknowledging a common sentiment, Sangha invited attendees to say aloud, several times throughout his talk: But, Abraham, I just want to code. Dismissing this refrain, Sangha plowed forward, using the four classical virtues as a framework to talk about character. He discussed what it meant to bring self-control, courage, justice and wisdom to the work of being a developer.
“As developers, often we’re in big cities,” he says. “And there’s all these opportunities for us to blow off steam, go out, have fun. We are paid well, relatively speaking. Our lack of self-control can come through here. As people in demand, we can get pampered, a little spoiled. We love toys, the new thing. Then we throw it away. This is an example of lack of self-control.”
Next, he discussed courage in engineering, explaining that this virtue manifests itself as a mindset where you look at problems and run toward them. He talked about how the willingness to pair program is an act of courage because developers who do so are allowing someone else to see their thinking—and their mistakes—in real time.
Third, Sangha considered the concept of justice in the development world. “Justice is to give to each person what they are owed. I think you can expand that to give to each community. Don’t write unmaintainable code and then leave the company. That is a breach of justice.”
Our code is not just for ourselves, Sangha says. It is not a static product, it’s part of a story, it’s part of a dynamic environment. New people come in, things change. Preserving that ability for your code to change along with dynamic parameters takes more work. It is just code.
Finally, Sangha encouraged his fellow developers to pursue a path of wisdom by taking time to reflect on the work that they’ve done and to find worthy experts to imitate. “TDD for your soul is finding where we fall short of these four ideals,” he says. “I don’t like to ask questions, but I’ve been challenging myself to more quickly ask for input. This is a more efficient way to learn, but I still resist it for some reason. This is a test I’ve written for my life.”
Haleigh Sheehan, also known as ScarlettSparks, picked up the theme of personal growth in her talk on binary for humans. As an account support professional at Github with a background in performance, Sheehan realized there is a lot of overlap between improvisational performances and open source computing. “There is a lot the two fields can learn from each other,” she says, “such as, ‘saying yes and.’ The yes is what moves your story forward. It lets the creative energy forward. The and is what makes things collaborative. It’s really handy in your life decisions; it can really broaden your scope.”
The goal creatively, and in life, Sheehan says, is to say yes. However, it is essential to create a safe space by actually saying no. We want to create boundaries, which is not easy for people. To do so, Sheehan guided her listeners through the nuances of consent, of the yes/no binary so many people struggle with in both their professional and personal lives.
“Sometimes you don’t want to move the story forward,” she says. “You want to convey this precisely so you’re not wasting people’s time.
While the concept of consent is something many may never have considered outside sexual situations or hospital situations, that’s not where it ends. People need to consider it in every way in which you interact in the world, Sheehan says. It’s actively considering how you participate and make requests of others.
“Consent needs to be meaningful to be real,” she says. “Yes alone is not consent if there is no opportunity to say no. People get very angry about spam because they didn’t give consent. You want to make sure your checkboxes are not pre checked, for example. When you ask someone to agree to something, you should actually ask.”
Consent is also informed, she says. For example, when you collect someone’s personal information, you must clearly reveal which third parties will also have access and how that information will be used. Make your terms of service really obvious. Make expectations explicit.
“If you’ve grown up being trained to be nice, or if you’re Canadian,” Sheehan says, “you may find it difficult to say no. If you’re a woman, you might get labeled as bitchy. Consider all this when you ask something of someone. How do you respond when someone says no to you? Think about it. Yes is not a foregone conclusion. Asking first doesn’t count if you’re not prepared to hear the answer.”
When we say no, we stop lying. People can trust us, and we can trust ourselves. And that’s very human.