{"id":3738,"date":"2019-06-02T20:16:11","date_gmt":"2019-06-02T18:16:11","guid":{"rendered":"http:\/\/silta.es\/juantatay\/?p=3738"},"modified":"2019-06-07T00:09:52","modified_gmt":"2019-06-06T22:09:52","slug":"empathy-driven-development-by-andreagoulet-via-firstround","status":"publish","type":"post","link":"https:\/\/silta.es\/juantatay\/empathy-driven-development-by-andreagoulet-via-firstround\/","title":{"rendered":"Empathy-Driven Development by @AndreaGoulet via @FirstRound"},"content":{"rendered":"<p>Following the interesting <a href=\"http:\/\/silta.es\/juantatay\/forget-technical-debt-heres-how-to-build-technical-wealth\/\" target=\"_blank\" rel=\"noopener noreferrer\">Andrea Goulet article\u00a0about technical debt<\/a>, First Round brings another surprising and indeed very interesting interview with Andrea Goulet.<\/p>\n<p>Origen: <em><a href=\"https:\/\/firstround.com\/review\/empathy-driven-development-how-engineers-can-tap-into-this-critical-skill\/\">Empathy-Driven Development: How Engineers Can Tap into This Critical Skill | First Round Review<\/a><\/em><\/p>\n<blockquote>\n<h2>FIRST, DISPEL THESE EMPATHY MYTHS<\/h2>\n<h3>Myth #1: Empathy is just a feeling.<\/h3>\n<p>\u201cAnd it definitely <em>involves\u00a0<\/em>feelings. However, that conceptualization of empathy is really limiting.\u201d<\/p>\n<p>In her quest to build a case for empathy, Goulet stumbled upon Indi Young\u2019s <em>Practical Empathy<\/em>, in which the author, a researcher who started her career as a programmer, delineates not one, but six types of empathy. \u201cThat sub-categorization really struck me. I thought if something could be divided into six subsets, then it must be pretty dense and technical,\u201d says Goulet.<\/p>\n<p>\u2026also dives deep on one of those subtypes called <strong>cognitive empathy<\/strong>, which is a <em>rational<\/em> process that\u2019s used to uncover another person\u2019s beliefs, values, preferences, and points of view. This process is already ingrained in the work of marketers, UX researchers, writers, designers, even many front-end engineers,\u201d says Goulet. \u201cMy goal was to really study Indi\u2019s work, that\u2019s so well established in the UX community, and then find a way to extend it for people who operate more on the back-end.\u201d<\/p><\/blockquote>\n<blockquote class=\"clear pullquote\" tabindex=\"1\" data-share_enabled=\"true\">\n<p style=\"padding-left: 40px;\">Empathy is not this abstract, metaphysical enigma. It\u2019s a skill we need to respect and a muscle we need to flex.<\/p>\n<\/blockquote>\n<blockquote tabindex=\"1\" data-share_enabled=\"true\">\n<h3>Myth #2: Empathy is irrelevant to building software.<\/h3>\n<p>\u201cFor example, I hate the \u2018Are you technical or nontechnical?\u2019 question. It\u2019s not binary. You can be technical and know how to be a skilled, empathetic communicator. I would argue that if you want to be an excellent engineer, you <em>should<\/em> know how to communicate, in addition to knowing how to make a machine work the way you expect it to.\u201d<\/p>\n<p>\u201cWith commit messages, pull requests, naming, tests, error messages, those are all fundamentally about communicating with empathy,\u201d she says.\u2026<\/p>\n<p>\u201cIf you don\u2019t take the future reader into consideration by clearly communicating your reasoning, you\u2019re creating problematic legacy code,\u201d says Goulet. \u201cOperating without empathy is directly linked to one of the biggest problems that plagues engineering teams. So don\u2019t tell me that it\u2019s not relevant to your day job.\u201d<\/p><\/blockquote>\n<blockquote class=\"clear pullquote\" tabindex=\"1\" data-share_enabled=\"true\">\n<p style=\"padding-left: 40px;\">Coding is all about delivering messages to people, as well as machines.<\/p>\n<\/blockquote>\n<blockquote tabindex=\"1\" data-share_enabled=\"true\">\n<h3>Myth #3: Empathy can\u2019t be taught.<\/h3>\n<p data-seen=\"true\">\u201c\u2026there\u2019s a misconception that empathy is either something you have or don\u2019t have, and that it can\u2019t be developed\u201d, says Goulet.<\/p>\n<p data-seen=\"true\">Acknowledging that empathy is a trainable skill is the first step in improving on it. \u201c<b>\u2026<\/b>with a practical breakdown of what empathy is, how to apply it, and how to cultivate it, there\u2019s a path forward\u201d, she says.<\/p>\n<p data-seen=\"true\">\u201cWe need to dispense with the incredibly damaging and limiting stereotype of the \u2018socially inept engineer.\u2019 \u201d<\/p>\n<\/blockquote>\n<blockquote class=\"clear pullquote\" tabindex=\"1\" data-share_enabled=\"true\" data-seen=\"true\">\n<p style=\"padding-left: 40px;\">The technical skills gap may very well be real, but consider the other side of the coin: Most computer science students aren\u2019t developing the communication and empathy skills they need to collaborate and successfully build products that work for everyone.<\/p>\n<\/blockquote>\n<blockquote>\n<h3><\/h3>\n<h2>THE STARTER KIT FOR EMBEDDING EMPATHY INTO YOUR ENGINEERING PRACTICE<\/h2>\n<p>Goulet shares three guiding principles you can lean on as you start to sharpen your aptitude for empathy:<\/p>\n<h3 data-seen=\"true\">1. Swap blame for honor.<\/h3>\n<div>\n<div class=\"auxiliary\" data-visible=\"true\"><\/div>\n<\/div>\n<\/blockquote>\n<blockquote class=\"clear pullquote\" tabindex=\"1\" data-share_enabled=\"true\"><p>You can\u2019t begin to solve problems, much less modernize an entire code base, without empathy. Analyzing problems through another engineer\u2019s perspective is hard, sophisticated work that\u2019s rooted in understanding why someone made the choices they did.<\/p><\/blockquote>\n<blockquote tabindex=\"1\" data-share_enabled=\"true\">\n<h3>2. Consider your project like an archeological dig.<\/h3>\n<p>While she\u2019s long argued that communication artifacts give you an operational advantage when you\u2019re \u00abre-architecting legacy code and pulling out from a mound of technical debt\u00bb\u00a0<em>(excerpts linked at the beginning of this blog post)<\/em>, Goulet has since realized that the act of producing them is also, at its core, an exercise in empathy.<\/p>\n<p>\u201cYes, if I leave communication artifacts behind, that\u2019ll save the next person time. But these breadcrumbs of my thinking also serve a dual purpose that\u2019s deeply rooted in empathy. It really goes back to that definition of empathy, that proactive perspective-taking and problem-solving.<\/p><\/blockquote>\n<blockquote class=\"clear pullquote\" tabindex=\"1\" data-share_enabled=\"true\">\n<p style=\"padding-left: 40px;\">Many software luminaries have invoked the old Scouting rule by saying, \u201cLeave the code better than you found it.\u201d When you practice empathy, you\u2019re supercharging that motto.<\/p>\n<\/blockquote>\n<blockquote><p>She identifies three touchpoints where engineers can leave communication artifacts that make an impact on code, and leave a legacy of trust.<\/p>\n<ul>\n<li><strong>In your code review<\/strong><\/li>\n<li><strong>In your commit message<\/strong><\/li>\n<li><strong>In your emails and company messaging system<\/strong><\/li>\n<\/ul>\n<h3>3. Think like a copywriter.<\/h3>\n<p>Given that writing is perhaps the most frequent vehicle for delivering empathy in the workplace, engineers can benefit from a few lessons from the copywriting world. \u201cWriters need to hone empathy early on, because they\u2019re writing to connect with an audience,\u201d says Goulet. Whether you\u2019re crafting commit messages or an email, Goulet offers her best writing tips for engineers:<\/p>\n<ul>\n<li><strong>Keep your tone casual and conversational<\/strong><\/li>\n<li><strong>Never underestimate the power of the second person active voice<\/strong><\/li>\n<li><strong>Don\u2019t make assumptions<\/strong><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>ELEVATE YOUR EMPATHY: AN ADVANCED FRAMEWORK FOR EMPATHY-DRIVEN DEVELOPMENT<\/h2>\n<p>For those engineers who love a good framework, Goulet breaks down a procedural model of cognitive empathy, creating an algorithm of sorts that teams can integrate into their workflow. She calls it <strong>Empathy-Driven Development<\/strong>.<\/p>\n<p><a href=\"http:\/\/silta.es\/juantatay\/wp-content\/uploads\/2019\/06\/aWlFVsSSQBmDgACsxBMy_Empathy-Algorithm-1.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-3739 size-600\" src=\"http:\/\/silta.es\/juantatay\/wp-content\/uploads\/2019\/06\/aWlFVsSSQBmDgACsxBMy_Empathy-Algorithm-1-600x450-1.jpg\" alt=\"\" width=\"600\" height=\"450\" \/><\/a><\/p>\n<p>\u201c<a href=\"https:\/\/www.codecademy.com\/articles\/tdd-red-green-refactor\" target=\"_blank\" rel=\"noopener noreferrer\" data-external=\"true\">Test-Driven Development<\/a> can be described as red, green, refactor. Likewise, Empathy-Driven Development can be distilled into <strong>audience<\/strong> and <strong>action<\/strong>,\u201d says Goulet. \u201cFirst, consider your audience, the people who are going to be interacting with your content, which includes your code and the communication artifacts you leave behind. Then, take action. Think about how you can proactively anticipate their needs.\u201d<\/p>\n<p>\u201cLet\u2019s say you\u2019re tasked with writing an error message for a bookkeeping app. How might you leverage empathy in this situation?\u201d In this scenario, you\u2019re leaving a primary communication artifact (the error message) for your audience.<\/p>\n<p>First, consider the audience:<\/p>\n<ul>\n<li><strong>Identify individuals.<\/strong> \u201cList out the individuals you anticipate encountering your work product, in addition to the end user.<\/li>\n<li><strong>Consider context.<\/strong>\u00a0\u201cThe artist uses the app on his phone; the customer success manager is responding to a support ticket under pressure; your future self is reading your own code while fixing a bug, six months later.\u201d<\/li>\n<li><strong>Define their needs.<\/strong>\u00a0\u201cPain points aren\u2019t always evident. Ask questions, read articles \u2014 do all that you can to find out about them,\u201d she says. \u201cWhat does the person using the app and the time-strapped customer success manager need from you? \u2026<\/li>\n<\/ul>\n<p>Then, take action:<\/p>\n<ul>\n<li><strong>What\u2019s the best action to take?<\/strong> \u201cSo you\u2019ve gathered valuable information on your audience. \u2026 \u201cYou want to validate the user\u2019s frustration with the error message. For the customer success manager, you want to make an easy reference code in the error message. For your future self, you might want to fix all the bugs right now.\u201d<\/li>\n<li><strong>What\u2019s feasible?<\/strong> \u201cYou won\u2019t always be in a position to do the <em>best<\/em> thing to help, so consider what you actually <em>can<\/em> do. What do you have the time and resources to execute, to make their lives a little better? There\u2019s almost always <em>something<\/em> you can do. Think tiny and atomic.<\/li>\n<li><strong>Create secondary artifacts.<\/strong> \u201cOnce you\u2019ve created your primary communication artifact \u2014\u00a0a great, clear error message \u2014 your job isn\u2019t over. Include secondary artifacts into your definition of done,\u201d Goulet says. \u201cSecondary artifacts are durable evidence of your ideas, rationale, and constraints that have come up while you\u2019ve been working on the primary artifact, and can take many forms.\u201d<\/li>\n<\/ul>\n<figure class=\"clear\" data-src_640=\"https:\/\/s3.amazonaws.com\/marquee-test-akiaisur2rgicbmpehea\/2Rams1c1RzeRDLREjHuR_Empathy%20Algorithm%202.jpg\" data-src_1280=\"https:\/\/s3.amazonaws.com\/marquee-test-akiaisur2rgicbmpehea\/ndjA6mgTf5JLAgo5w7Q3_Empathy%20Algorithm%202.jpg\" data-src_2560=\"https:\/\/s3.amazonaws.com\/marquee-test-akiaisur2rgicbmpehea\/EUBT9d3RT4Ke2PpTD6AL_Empathy%20Algorithm%202.jpg\" data-aspect_ratio=\"1.333\" data-pinned=\"false\" data-zoomable=\"true\" data-is_zoomed=\"false\" data-zoom_enabled=\"true\">\n<div>\n<div><a href=\"http:\/\/silta.es\/juantatay\/wp-content\/uploads\/2019\/06\/EUBT9d3RT4Ke2PpTD6AL_Empathy-Algorithm-2.jpg\"><img decoding=\"async\" class=\"aligncenter size-800 wp-image-3740\" src=\"http:\/\/silta.es\/juantatay\/wp-content\/uploads\/2019\/06\/EUBT9d3RT4Ke2PpTD6AL_Empathy-Algorithm-2-800x600-1.jpg\" alt=\"\" width=\"800\" height=\"600\" \/><\/a><img \/><\/div>\n<\/div><figcaption><\/figcaption><\/figure>\n<h2>EXPANDING EMPATHY BEYOND CODE<\/h2>\n<p>Your codebase isn\u2019t the only thing that benefits from a dollop of empathy \u2014\u00a0engineering teams and entire companies do as well. From team practices to cultural paradigm shifts, Goulet shares her advanced practices for elevating empathy IRL.<\/p>\n<h3>Let your team read your diary.<\/h3>\n<p>Leaving communication artifacts in your code isn\u2019t the only way you can exercise empathy on a software team. In addition to a #shoutouts channel on Slack, Goulet\u2019s team adopted the practice of keeping <a href=\"https:\/\/corgibytes.com\/blog\/2016\/08\/02\/how-we-use-daily-journals\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-external=\"true\">daily journals<\/a>. \u2026<\/p>\n<p>As with communication artifacts in code, the time spent on daily journals ends up returning on their investment. \u201cIt usually takes less than 15 minutes at the end of the day to type up,\u201d says Goulet. \u201cI\u2019ve had colleagues tell me that they were able to save so much time, because they were able to refer back to their thinking six months ago, or share with a colleague who is running into a challenge you\u2019ve already encountered.\u2026\u201d<\/p>\n<h3>Turn everyone into a customer service representative.<\/h3>\n<p>Early-stage startups are in a particularly advantageous position to begin to integrate an empathetic, user-centric ethos. \u201cEarly on in a startup\u2019s lifespan is the perfect time to start to bake empathy into your culture. You can establish norms that everyone can adopt as your company grows: We\u2019re going to value feedback from users. We\u2019re going to constantly ask questions to understand them. \u2026\u201d<\/p><\/blockquote>\n<blockquote class=\"clear pullquote\" tabindex=\"1\" data-share_enabled=\"true\">\n<p style=\"padding-left: 40px;\">Empathy and seeking to understand the customer are skills that are commonly associated with user-facing roles. But <strong>when empathy is part of the mission and culture from devs to designers, it truly sets the company apart.<\/strong><\/p>\n<h3>Lend an empathetic ear.<\/h3>\n<p>To take proactive perspective-taking a step further, Goulet suggests hosting <strong>listening sessions<\/strong>, another concept borrowed from Indi Young\u2019s work. \u201cUnlike casual conversations, listening sessions are explicitly tied to the goal of understanding another person\u2019s reasoning, reactions and guiding principles,\u201d Goulet says.<\/p><\/blockquote>\n<blockquote class=\"clear pullquote\" tabindex=\"1\" data-share_enabled=\"true\">\n<p style=\"padding-left: 40px;\">If you\u2019re a back-end engineer writing a function, it\u2019s easy to abstract people out of your work. The more you seek to understand others, the easier it will be to consider their points of view while you\u2019re coding.<\/p>\n<\/blockquote>\n<blockquote><p>Once the listening session has begun, leave your judgments at the door. \u201cRemember that you\u2019re there to collect data, not change minds. Just listen without shame, expectation or criticism,\u201d says Goulet.<\/p>\n<p>&nbsp;<\/p><\/blockquote>\n<p><strong>Final\u00a0notes<\/strong><\/p>\n<blockquote><p>For engineers looking to flex the muscle of empathy, start by dismantling long-held myths. Invest the time to create communication artifacts that will light the way for future readers of your code. Use Empathy-Driven Development to proactively understand your audience, then address their needs. Finally, uplevel your work by sharing journals with your team and building your own awareness of the broader ecosystem where your product operates.<\/p>\n<p>Once teams and companies treat empathy as a skill and a habit, they can begin to experience a snowball effect of incredible cultural and technical gains. Goulet refers to this effect as <strong>trust fission<\/strong>: the compounding, accelerating, exponentially proliferating benefits that come from a team operating in harmony.<\/p>\n<p>\u201cPeople always say that the most important thing is to create and accelerate trust on our teams. Well, trust is the output of empathy. <strong>Empathy is what we can optimize for when we\u2019re trying to generate a culture of trust<\/strong>,\u201d says Goulet.<\/p>\n<p>\u2026\u00a0<strong>\u201cThat\u2019s the end goal with empathy: Cultivating a culture where everyone proactively asks, \u2018Is there something that I can do to make this just a little bit better for the next person who comes along?\u2019\u201d<\/strong><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Following the interesting Andrea Goulet article\u00a0about technical debt, First Round brings another surprising and indeed very interesting interview with Andrea Goulet. Origen: Empathy-Driven Development: How Engineers Can Tap into This Critical Skill | First Round Review FIRST, DISPEL THESE EMPATHY MYTHS Myth #1: Empathy is just a feeling. \u201cAnd it definitely involves\u00a0feelings. However, that conceptualization  [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[158,160,220,50,48,29,40],"tags":[209,213,218],"class_list":["post-3738","post","type-post","status-publish","format-standard","hentry","category-coding","category-collaboration","category-design","category-diseno","category-filosofia","category-gestion","category-ideas","tag-product-m","tag-technology","tag-ux-ui"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/posts\/3738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/comments?post=3738"}],"version-history":[{"count":3,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/posts\/3738\/revisions"}],"predecessor-version":[{"id":3745,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/posts\/3738\/revisions\/3745"}],"wp:attachment":[{"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/media?parent=3738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/categories?post=3738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/tags?post=3738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}