{"id":33,"date":"2024-06-21T02:38:07","date_gmt":"2024-06-21T02:38:07","guid":{"rendered":"https:\/\/think-twice.me\/?p=33"},"modified":"2024-06-21T02:38:07","modified_gmt":"2024-06-21T02:38:07","slug":"understanding-engineers-by-understanding-authors","status":"publish","type":"post","link":"https:\/\/think-twice.me\/?p=33","title":{"rendered":"Understanding engineers by understanding authors"},"content":{"rendered":"\n<p>I\u2019ve written before about the challenge it can be for non-engineers to understand engineering work. I\u2019m not the the first to observe&nbsp;that the non-technical need a metaphor to understand&nbsp;<em>invisible and often&nbsp;abstract output<\/em>&nbsp;an engineer creates.&nbsp;Traditionally, that metaphor has been physical&nbsp;engineering\/construction.&nbsp;Others have already, and rightly, criticized the physical labor metaphor.<\/p>\n\n\n\n<p>Instead of ridiculing the wrong metaphor, I offer a substitute. I posit this:&nbsp;<strong><em>T<\/em><em>o understand engineers, think of them like writers<\/em><\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong><em>to understand engineers, think of them like writers<\/em><\/strong>.<\/p>\n<\/blockquote>\n\n\n\n<p>Why is this a good analogy? It explains several aspects&nbsp;about engineering that otherwise seem downright&nbsp;unreasonable.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Emotional attachment to work<\/strong><br>Like an author, many engineers\u00a0see a work\u00a0project as an opportunity to exercise their creativity and build something the take pride in. Like an author, engineers\u00a0develop\u00a0a sense of\u00a0<em>owning<\/em>\u00a0what they create. If\u00a0the project gets cancelled, handed-off, or drastically changed (especially without notice), compromising their artistic vision, the engineer may experience\u00a0frustration. But this is natural, how would an author feel in such situations?<\/li>\n\n\n\n<li><strong>Difficulty in measuring progress and estimation.<br><\/strong>If software were physical construction, it might be reasonable to have an easily-predictable timeline. One might confidently\u00a0answer \u201chow far along are we?\u201d But like writing, and unlike construction, everything one makes in software is new. And like writing, progress can\u2019t merely be measured in the amount\u00a0typed, refinement and reduction are actually an important and lengthy part of the process.<\/li>\n\n\n\n<li><strong>Ambiguity and subjectivity of excellence<br><\/strong>Every week somebody writes a blog post on how to find out in an interview who\u2019s a good\u00a0engineer. And every week it gets (rightly) torn to pieces by commentators. The fact of the matter is that there are many independent\u00a0components that comprise\u00a0engineering talent and measuring them is very difficult. Even among the very best\u00a0stylistic difference might mean two greats may not\u00a0appreciate each others\u2019 virtues, like Faulkner and Hemmingway.<\/li>\n\n\n\n<li><strong>Challenges of collaboration<br><\/strong>And on that note, collaborating can be hard.\u00a0Like writing, there are an indeterminate number of ways to\u00a0write software,\u00a0but each engineer has a style.\u00a0I can tell you from personal experience that writing software with other people is\u00a0<strong><em>hard<\/em><\/strong><em>.\u00a0<\/em>Both want a sense of ownership and freedom to express their creativity, but must now answer to the confines of the project itself as well as their\u00a0partner (or team\u2019s) creation. Imagine\u00a0a group of\u00a0professional writers trying to work together, of varying cultures, varying talents, varying dispositions,\u00a0and varying skill-levels.\u00a0With no objective answer to many issues, engineers reviewing one another\u2019s code is a touchy topic.<\/li>\n\n\n\n<li><strong>A need for freedom<br><\/strong>As a creative endeavor, software\u2019s workflow can be unpredictable. A creative solution may come at any moment, often in the shower or a dream.\u00a0Sometimes,\u00a0when all the factors align, answers\u00a0comes pouring out at a great pace. During such times, the absolute worst thing that could happen would be an interruption (or a required meeting). Compromising on artistic\u00a0process <em>will<\/em>\u00a0compromise the product.<\/li>\n\n\n\n<li><strong>It\u2019s not work<\/strong><br>One of the\u00a0most persistent\u00a0and most damaging misunderstandings I have witnessed is the erroneous perception that\u00a0engineers will avoid work if they can \u201cget away with it.\u201d Perhaps those who feel this way think of engineering as labor, as if it were\u00a0physical construction. But writing code, like other writing, is a passion that cannot be avoided. When I go on vacation from work I always end up recreationally writing code within a week. I can\u2019t generalize\u00a0for every engineer, nor every project.\u00a0Like a writer, if an engineer\u00a0really doesn\u2019t believe in her\u00a0work for moral reasons or is\u00a0so constrained she\u00a0has\u00a0no space for\u00a0creativity then she may lose motivation.<\/li>\n\n\n\n<li><strong>Can we rewrite?<br><\/strong>Another commonality is that due to stylistic differences, every individual prefers their own way of writing things. (And to be clear, in software there is a lot of room for styles, styles that\u00a0are often so unique that one\u00a0can often tell who wrote code just by reading it).\u00a0Each considers her\u00a0own style clearer, cleaner, or better; often because it aligns so directly with her\u00a0own thought process. Learning to compromise on this a key skill.<\/li>\n\n\n\n<li><strong>Some produce\u00a0more than 10 times another<br><\/strong>Is there any number of E.L. James that could produce the Great Gatsby? For specialized work (e.g.\u00a0advanced problem solving, revolutionary user experiences) there\u2019s just no substitute for a prodigy. On the other hand, if what you\u2019re making is the software equivalent of a gossip magazine, having Shakespeare on your team might actually be a recipe for failure.<\/li>\n<\/ol>\n\n\n\n<p>I want it to be clear that I\u2019m not saying all engineers automatically deserve to have any project that they work on adapted to conform&nbsp;to their&nbsp;artistic whims.&nbsp;I am advising all to be&nbsp;sensitive to the pride and passion that people put into work.<\/p>\n\n\n\n<p>But most of all I\u2019m trying to help people understand engineers. It can be hard to relate to an engineer who expresses slight negativity about meetings, blows off people who check-in on them, never knows how long their work will take, doesn\u2019t like standard schedules, might&nbsp;prefer to work alone, gets disappointed&nbsp;when their work is shifted, or&nbsp;thinks they\u2019re amazing.&nbsp;So&nbsp;if you&nbsp;<em>care&nbsp;<\/em>to understand and relate, I\u2019ve given you the tools.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019ve written before about the challenge it can be for non-engineers to understand engineering work. I\u2019m not the the first to observe&nbsp;that the non-technical need a metaphor to understand&nbsp;invisible and often&nbsp;abstract output&nbsp;an engineer creates.&nbsp;Traditionally, that metaphor has been physical&nbsp;engineering\/construction.&nbsp;Others have already, and rightly, criticized the physical labor metaphor. Instead of ridiculing the wrong metaphor, I&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-33","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/think-twice.me\/index.php?rest_route=\/wp\/v2\/posts\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/think-twice.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/think-twice.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/think-twice.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/think-twice.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=33"}],"version-history":[{"count":1,"href":"https:\/\/think-twice.me\/index.php?rest_route=\/wp\/v2\/posts\/33\/revisions"}],"predecessor-version":[{"id":34,"href":"https:\/\/think-twice.me\/index.php?rest_route=\/wp\/v2\/posts\/33\/revisions\/34"}],"wp:attachment":[{"href":"https:\/\/think-twice.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=33"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/think-twice.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=33"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/think-twice.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}