To begin with Vaidehi introduces her definition of Empathy, as defined by a young student she had in her former profession as a teacher.
Empathy is just understanding how someone else feels
She continues to talk about how every developer, regardless of their experience or skill-level, will get stuck and how to “get unstuck”. Which brings us to the topic of learning about new technologies through debugging.
Learning new frameworks / languages can be a frustrating experience since you often don’t know how to get unstuck. Getting unstuck can sometimes be so hard & frustrating that you may contemplate giving up.
Maybe this isn’t the right framework, or language or career for me…
When learning ember is where Vaidehi discovered the technique of empathizing with her code. When feeling overwhelmed and at a loss, she tried to see what the code needed, what its expectations are and how the framework or language in question expect it to work.
Examples through debugging
She dives into a demo application and solves 3 bugs by approaching the code from a slightly different angle.
Bug#1: Navigating to a recipe page, and then refreshing renders an empty recipe.
Bug#2: Navigating to a grocery list would render an old list.
Bug#3: Not possible to delete a recipe.
Within each of these debugging / problem solving examples Vaidehi walks us through how to read the code based on what a component is, it’s purpose and figuring out if we’ve actually understood how it’s meant to work. After understanding the essence of each bug and stepping through possible sources, she pulls up the component-documentation. This understanding of the framework leads to resolving of the bugs.
Be a little kinder
The first step to seeing your code’s point of view and perspective is recognizing that it has a perspective
She ends the talk emphasizing the importance of being kinder, to our machines and humans. The people we work with, those who build frameworks we use every day and to the developers who left the code base in a certain state that we may not understand, but can start to empathize with.
Showing empathy to the code may be a strange concept to grasp, but it works for me. To me its about recognizing that languages and frameworks have been built with a certain set of constraints in mind. Learning the idioms of a language is crucial, which most people can do quite well. It’s when you find yourself fighting against it that issues arise. Usually this is from not understanding the mindset and intent of the language / framework, but rather trying to force it to do what we believe to work. Or as Vaidehi says, recognizing it’s perspective.
Please feel free to reach out to me directly or leave a comment bellow if you have any thoughts, questions or criticisms.
Valuable Resources is a collection of resources I’ve found valuable to my personal growth as a developer with my interpretations and comments.