{"id":1768,"date":"2019-08-17T08:27:09","date_gmt":"2019-08-17T15:27:09","guid":{"rendered":"http:\/\/10kdev.net\/?p=1768"},"modified":"2019-11-05T07:48:11","modified_gmt":"2019-11-05T14:48:11","slug":"crickets","status":"publish","type":"post","link":"http:\/\/10kdev.net\/?p=1768","title":{"rendered":"Crickets"},"content":{"rendered":"<div style=\"width: 485px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/10kdev.net\/wp-content\/uploads\/2019\/08\/eac62014f024cb046eb4e85250c169cc.png\" alt=\"\" width=\"475\" height=\"313\" \/><p class=\"wp-caption-text\"><center><strong><em>My name is Terrance and I like Spring MVC and snacks.<\/em><\/strong><\/center><\/p><\/div>\n<p>A developer communication ethic.<\/p>\n<p><!--more--><\/p>\n<p>Over an over again I keep hearing the same thing &#8212; complaints about developers not being able to communicate, ever if at all, and then via a cognitive dissonance (?) or a self-disappointment (?) or maybe low self esteem (?) these same people calling developers many names.\u00a0 Many times you get crickets (no one talking) in a retro or meetings from developers, who do not wish to stir the pot because they live in a world of truth (1 ==1) and not the more nebulous world of words where they can be beaten down.\u00a0 There *is* a gap to bridge.\u00a0 For some reason the onus always falls on the developers.<\/p>\n<p>Now I was deciding whether or not I should have this post out in the open &#8212; most of my commentary on a lot of people and process I keep it on the low.\u00a0 Generally, I feel as a coder part of my job isn&#8217;t just to code but also to carry out the process vision of those who hire us.\u00a0 I just make sure it is documented because I won&#8217;t back down on accountability.\u00a0 But all of this talk about &#8220;everyone is a developer&#8221; until someone dedicated to the vocation gets called out for actually being one needs continual clarification.<\/p>\n<div style=\"width: 310px\" class=\"wp-caption alignleft\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/www.quickmeme.com\/img\/68\/685433417ff0b63c24e8d5aa51c18145d49a4e0f5732015eb29ab05c8fbfd2ab.jpg\" alt=\"Image result for office space I am a people person engineers\" width=\"300\" height=\"320\" \/><p class=\"wp-caption-text\"><em>Remember this guy in Office Space? Righteous. And while so many people get this truth, many of those same people are the joke.<\/em><\/p><\/div>\n<p>There are a few things to consider about developers who have their asses down in the code.<\/p>\n<p><em>A coder<\/em> may have chosen their profession because they are introverts and find comfort in working on problems to help a business and make a living; yet uncomfortable in say a sales position or anything verbal.<\/p>\n<p><em>A coder<\/em> might just not have any communicating skills at all and know it.\u00a0 people can have different skill levels and talents (or are we still stuck on &#8220;everyone is a developer??&#8221;). They can write code, have tried and probably cannot improve their communication skills to a degree and it makes them very unhappy to be forced to be something they are not.\u00a0 And as a side note &#8212; I have seen implementations of agile create this very kind of personal havoc on teams, forcing people to be &#8220;extroverted&#8221; and &#8220;play the game&#8221; (i.e. status reporting scrums).<\/p>\n<p><em>A coder<\/em> might just be too damned smart.\u00a0 I know a few people in academia like this &#8211; they are so damn smart that any sort of time wasted on small talk is tough for them, and the thoughts they think are beyond many of us so much that it&#8217;s almost a waste of time to discuss.\u00a0 Don&#8217;t feel bad.\u00a0 If a person needs a background in linear algebra to discuss their profession or we do not understand Gaussian equivalency we should be grateful not hateful that someone does.\u00a0 Very grateful.<\/p>\n<blockquote><p><strong>Be grateful not hateful.<\/strong><\/p><\/blockquote>\n<p><em>A coder<\/em> might be kept away from talking and never gets to practice on purpose.\u00a0 This is something I have seen constantly over my career as well &#8212; coders were kept from interacting for what, so a business person&#8217;s job was protected, or the contact information kept secret?\u00a0 Or &#8212; ?\u00a0 And the complaint &#8220;that developer cannot talk to customers&#8221; would then come about.\u00a0 I see this also in agile where developer questions and interactions are ghosted and talks go on between QA, BA and product owners.\u00a0 So if a coder cannot practice, they cannot get any better at figuring our how to translate &#8220;these annotated services aren&#8217;t injecting&#8221; to &#8220;the internationalization functionality is broken.&#8221;\u00a0 This is probably one of the biggest issues in Agile Cog culture.<\/p>\n<p>A good example of this I had once was trying to explain why string representations of numbers i.e.&#8221;10&#8243;, &#8220;199&#8221;, &#8220;7000&#8221;, &#8220;99&#8221; sorts different than numerical 10, 99, 199, 7000 to business people who didn&#8217;t get it.\u00a0 I made mock-ups of this situation and the target audience got it &#8212; but I had to think about how to tell them, I had to be aware that they wouldn&#8217;t probably get the issue. <em>Preparation<\/em>.<\/p>\n<p>For those non-techies concerned or looking for advice I offer this:<\/p>\n<ol>\n<li>Talk to developers.\u00a0 Don&#8217;t cut them out or ghost them when they have issues.\u00a0 Remember, if they have an issue, your software will have an issue.<\/li>\n<li>No, you will absolutely not understand everything they are doing by going into their repository and pretending like you have tech knowledge.\u00a0 You might in fact just inflame the situation.<\/li>\n<li>Please don&#8217;t make code suggestions or architectural suggestions.\u00a0 If you do, you will be responsible.\u00a0 For instance I had someone asking me to &#8220;regex that code&#8221; for something that was completely not applicable.<\/li>\n<li>Let the developer show you what is going on.\u00a0 Also remember, if you are looking at in progress code, then you cannot complain about it&#8217;s messiness as it gets completed.\u00a0 I would also suggest all restaurants keep you out of their kitchens.<\/li>\n<li>Trust, respect, and patience?\u00a0 Is that too much to ask?\u00a0 If not, then don&#8217;t expect it.<\/li>\n<\/ol>\n<p>For coders:<\/p>\n<ol>\n<li>Try some practice at showing what you have, maybe even making a video of something you wrote.\u00a0 Target a non-tech audience.\u00a0 It can even help you beat out some bad AC&#8217;s and possible defects.<\/li>\n<li>Don&#8217;t worry about writing your actual code for non-technical people to read.\u00a0 That is absurd.<\/li>\n<li>Watch some videos and presentations on InfoQ, or Ted, or wherever.\u00a0 You absolutely do not have to be a professional presenter &#8212; I know I am not that great myself and have presented numerous times.\u00a0 But you can get comfortable watching the speakers and pick up some pointers.\u00a0 For instance, I saw a presentation where a guy didn&#8217;t bother using his IDE, just made some nice stoppable videos of walking through the code (I thought it genius).<\/li>\n<li>Preparation &#8212; this is key.\u00a0 Figure out your audience and prep your statement so that they can understand it.\u00a0 I.e. I used Excel and a simple online\u00a0 UX modeler to show how string representations of numbers sort goofy.<\/li>\n<li>Just don&#8217;t be technical &#8212; they will not be impressed because they won&#8217;t understand.\u00a0 \u00a0Really it&#8217;s not a big deal.<\/li>\n<li>Options &#8212; offer them options.\u00a0 Let them know repercussions.<\/li>\n<li>Trust, respect, and patience?\u00a0 Is that too much to ask?\u00a0 If not, then don&#8217;t expect it.<\/li>\n<\/ol>\n<p>Let coders be coders.\u00a0 Invading their technical space is a bad, bad decision as much as bringing your dollar store screwdriver set to your auto mechanic to &#8220;help.&#8221;<\/p>\n<p>There is a time and place for different types of language.\u00a0 But, creating a constant cycle of distrust and verbal repartee towards developers, reflected by crickets in the meetings, isn&#8217;t going to help\u00a0 out. It isn&#8217;t natural for a precise domain of code to be easily translatable to human language which is nebulous at best.\u00a0 Very few are great at it, but these few rules I&#8217;ve added hopefully can help.<\/p>\n<p>Most especially <strong>preparation,\u00a0trust, respect and patience.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A developer communication ethic.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,5],"tags":[],"_links":{"self":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1768"}],"collection":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1768"}],"version-history":[{"count":8,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1768\/revisions"}],"predecessor-version":[{"id":1777,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1768\/revisions\/1777"}],"wp:attachment":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1768"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}