[HN Gopher] Engineers Need to Write
       ___________________________________________________________________
        
       Engineers Need to Write
        
       Author : ryanlpeterman
       Score  : 108 points
       Date   : 2023-03-24 17:23 UTC (5 hours ago)
        
 (HTM) web link (www.developing.dev)
 (TXT) w3m dump (www.developing.dev)
        
       | throwaway138380 wrote:
       | The more you write, the more you fight. Why share ideas with
       | people who waste your time fighting you.
        
         | touisteur wrote:
         | I'll bite. I mostly write for me. Because my memory is
         | unperfect, because it shows gaps in my understanding, it forces
         | me to gather all the links, resources, references. Because it
         | feels so much more concrete than other software/computer
         | endeavors.
         | 
         | It's also a great help to _closing_ a topic. Once everything is
         | put down and said, I can checkpoint in trust that I 'll be able
         | to restore later. Closing all the open loops. For some time at
         | least.
         | 
         | And sometimes, most of the times, I end up sharing with
         | interested parties. Either because _someone_ needs to write up
         | a conclusion or synthesis, and (very humbly) better me than
         | someone else, especially if I 'm the one doing or driving most
         | of the work.
         | 
         | If you share widely, sometimes it's also a way to find other
         | kindred souls, or to have a place to come back 'see, someone
         | tried this and it worked'. And to challenge oneself against a
         | larger public and see whether you need to improve in some ways.
         | 
         | Just don't look too much at HN or Twitter downers (use the mute
         | and block features heavily), try and focus on positive and
         | constructive, additive comments. Push back, shut down, leave
         | alone anything harmful. It may come with the need for
         | additional therapy sessions (it did for me the first times), so
         | please beware.
         | 
         | It doesn't need to be a fight. I hope whenever/if you feel like
         | writing something and share it, that I'll be able to read it
         | and maybe enjoy the thoughtful ideas or conversation or
         | inspiration, the challenge.
        
       | sieste wrote:
       | During industrialisation the need for physical labour went way
       | down because machines did more work. People on the whole moved
       | less and this contributed to obesity, osteoporosis etc. Loads of
       | gyms, running clubs, etc opened to counteract this trend, to help
       | people stay healthy, but also because voluntary physical activity
       | is enjoyable.
       | 
       | I think we will see a similar transition happening with writing,
       | and perhaps knowledge work in general. The machines do a lot of
       | writing for us, and we will have to do less of it. Writing
       | becomes more of a pastime activity that people do for pleasure,
       | and also to sharpen their thinking and stay sane.
       | 
       | I think we will see an increase in offers for writing retreats,
       | journal clubs, calligraphy classes, etc.
        
         | linuxftw wrote:
         | I think we'll see long form writing for the average person go
         | extinct. 200+ years ago, there was much, much less written by
         | the average person, they had no need for it. I suspect we'll
         | return to a similar state.
        
       | cjdoc29 wrote:
       | Anecdotally, I have found that in doing non-urgent root-cause
       | investigations, writing* is the only way for me to think deeply
       | about a problem.
       | 
       | My flow looks like:
       | 
       | 1. Write the impact of the problem as currently observed. This
       | answers most Product and Executive questions and know I'm
       | actively working on solving this problem.
       | 
       | 2. List down ideas of what I think it could be.
       | 
       | 3. Start exploring those ideas by priority.
       | 
       | 4. Bring in Datadog metrics, log items, commands/queries
       | 
       | 5. Have a conclusion for each of those ideas
       | 
       | This has multiplicative effects:
       | 
       | 1. Others don't feel the need to have me in a Zoom call because
       | they can follow my progress and comment on the doc if they feel
       | strongly about something. I have full focus on the task at hand.
       | 
       | 2. The doc becomes handy in outage review meetings and
       | retrospectives later on
       | 
       | 3. Useful commands/queries sometimes end up being formed here and
       | I can go back and reuse them
       | 
       | *I rarely actually handwrite things. I depend on Markdown-
       | formatted collaborative notes tools that get out of the way (i.e.
       | not Google Docs).
        
         | maicro wrote:
         | I'll bite - what notes tools do you like to use/recommend? I
         | previously used Evernote for everything, but switched to Notion
         | a while ago; neither are great at "get[ting] out of the way"
         | though I think Evernote was probably better in that regard when
         | I used it last...
        
           | cjdoc29 wrote:
           | My company uses Dropbox Paper which does a few things well:
           | Markdown + embedded images (with captions), and collaborative
           | features. I use Notion for my personal stuff, which
           | sufficiently gets out of my way, but never tried it with
           | other collaborators!
        
         | doubled112 wrote:
         | Google Docs is still doable for these kind of collaborative
         | notes.
         | 
         | I've learned not to worry about anything that isn't content
         | during the process. It can be copied, pasted, formatted, fixed,
         | proof read, and put somewhere more permanent later, just not
         | while I am hard at it.
        
           | ghaff wrote:
           | For collaboration, Google Docs works great. I can't imagine
           | going back to a world where mostly everyone took their own
           | notes (or not) in meetings. Or a world when editing and
           | commenting on a document meant mailing copies around and
           | someone often had to merge diffs manually. Going back 10
           | years would be a horrible step backward for any sort of
           | collaboration in documents.
           | 
           | (and before someone says it, GitHub/GitLab really isn't a
           | good substitute because they're designed around a different
           | use case. I actually use GitLab for one type of task I'm
           | involved with. Given the final form will be an adoc, it's OK
           | but not really ideal for writing.)
           | 
           | For personal notes that aren't handwritten, mostly anything
           | that will produce a txt file.
        
           | cjdoc29 wrote:
           | It's better these days with code block support and now
           | accepts Markdown shortcuts. But I haven't given it a chance
           | since before those things were supported :)
        
         | ryanlpeterman wrote:
         | I do a similar thing. Especially helpful for long-running
         | investigations that are difficult to root cause. Documenting
         | the current state of the investigation allows people to jump in
         | easily and helps everyone tell what the current conclusions
         | are.
        
       | hardwaregeek wrote:
       | I highly recommend picking up a book in writing and style. I
       | enjoyed Dreyer's English (Strunk & White, while commonly
       | recommended, is a little antiquated). There are so many avoidable
       | mistakes like subject-verb agreement, attaching adjectives to the
       | wrong noun ("A violent, intense, affair, Stephen King has written
       | another fantastic novel" -> Stephen King is a violent, intense
       | affair), and so on.
       | 
       | The classic English teacher advice is also very much worth
       | following, such as reading aloud and creating an outline.
       | 
       | And of course, reading is a fantastic way to improve your
       | writing. There are examples of great writing in any genre or
       | format, but I would say that fiction and long-form journalism are
       | usually quite good, while non-fiction books and blog posts tend
       | to be more hit or miss. Sometimes you need to read a little James
       | Baldwin to remember that writing can be an art form and not just
       | a perfunctory means towards an end.
        
       | rmsaksida wrote:
       | When hiring, I always pay close attention to a person's writing
       | skills. I find it to be a useful heuristic for general software
       | engineering competency. But I actually look at this from the
       | opposite direction - someone who's good at writing is usually
       | also good at reading, and being a good reader is extremely
       | helpful in our field. (Good) engineers spend so much time
       | reading: technical books, documentation, requirements, specs,
       | email, and of course code. Engineers who don't mind reading and
       | are able to read attentively tend to be a lot more effective, as
       | they will be more knowledgeable and less likely to miss important
       | details.
        
         | fnordpiglet wrote:
         | I'm a great software engineer but I think by talking not
         | writing. I know others that are visual and draw things from I
         | think and others that code POCs. Maybe that heuristic is more a
         | projection of what you are good at and you look for that in
         | others? Maybe having a team with a written word person, a
         | visual person, an explanatory person, and a code it first
         | person makes a team that can explain what they've written with
         | excellent diagramming and a functional POC to demonstrate?
        
         | bavila wrote:
         | Where do I find more people like you when I'm job hunting? :)
         | 
         | I used to work as an attorney before getting into software
         | engineering, and I clearly took for granted that other educated
         | professionals (particular those in a field where precision is
         | required) would write clearly, logically, and succinctly. My
         | expectations have frequently not been met.
         | 
         | It's particularly humorous, as everyone who has hired me has
         | acted like they were taking a big risk because of my non-
         | technical background. Yet, each time, they quickly realize it
         | was a good idea to hire someone with a strong command of the
         | English language and a ruthless attention to detail.
         | 
         | Of course, the technical skills are required as well, but I
         | don't think people appreciate how easy those are to pick up for
         | someone who is capable of reading and distilling voluminous
         | amounts of information in a short period of time.
        
           | quickthrower2 wrote:
           | Some of the best people I worked with did something else
           | professionally before becoming a software developer. For
           | example army, accountants and electronic engineers. They are
           | the good all rounders, good at going from ambiguity to decent
           | code.
        
             | vsareto wrote:
             | >They are the good all rounders, good at going from
             | ambiguity to decent code.
             | 
             | That's useful for day-to-day issues, but if you're getting
             | a lot of ambiguity that these folks have to address,
             | someone higher up needs to write more.
        
           | BurningFrog wrote:
           | My theory is that the field has a big population "on the
           | spectrum", and they're just not great communicators. Maybe
           | because the "theory of mind" deficit.
           | 
           | They do have extra gifts in writing code which compensates
           | somewhat. But it's a huge problem when half your team
           | struggles to carry a conversation.
        
           | mhluongo wrote:
           | Big hiring criterion for us as well! Details in my profile if
           | you're looking.
        
         | davnicwil wrote:
         | > Engineers who don't mind reading and are able to read
         | attentively
         | 
         | One very direct application of this skill in day to day
         | engineering is just reading and correctly interpreting error
         | logs and stacktraces.
         | 
         | It's pretty incredible how often that's just the cause of a bug
         | being literally given verbatim, if one can only engage with the
         | message on its terms and frame of reference, and parse out the
         | info from it that's meaningful in the context of the software
         | you're writing (and not, for instance, expecting the error
         | message to somehow do that work for you, which is often
         | impossible).
        
         | ryanlpeterman wrote:
         | That's a good point, I think Paul Graham has a similar line of
         | thinking in the relationship between reading and writing. I
         | linked this tweet in my article
         | (https://twitter.com/paulg/status/1618747829975130115) but I've
         | seen other places he's mentioned something similar as well.
        
       | eikenberry wrote:
       | What an odd things to say about software engineering... where
       | your job is literally writing. Like telling a newspaper reporter
       | that to get better at their job they should write more. I mean
       | who would have thought that practicing your craft would improve
       | it.
       | 
       | I know the author here is talking about non-code writing but it
       | still sounds weird to hear it given that is our job. To write. I
       | call myself a writer when people ask what I do as it represents
       | it _much_ better than any of the dumb technical names people have
       | come up with. No I don 't build houses nor do I design physical
       | artifacts. I write.
        
         | conover wrote:
         | No one I know associates writing code with writing narrative. I
         | would assume you write books if you told me you are a writer.
        
           | eikenberry wrote:
           | Not many do. I will alternatively use the work programmer as
           | I think it also contains something closer to the idea of what
           | we do. But people blank when you tell them that vs. if you
           | tell them you are a writer it might spark at least a bit more
           | conversation.
        
       | rektide wrote:
       | Our org has tools that can look at lines-of-code, number of pull
       | requests, etc.
       | 
       | One of the candidate 20% projects that tempts me is something to
       | keep track of number of words I write in jira. Or slacking with
       | coworkers.
       | 
       | I have great code stats at current job, top tier, but I don't
       | think people have the evidence to really see what I really do. I
       | write. I make our plans. I review the shit out of our work. I
       | help coworkers all the time. (And I write reams of code.)
        
         | reidjs wrote:
         | Measuring coding talent by number of lines committed is like
         | measuring how good a book is by the number of words in it.
        
       | ElijahLynn wrote:
       | Succinct and to the point. Kinda well written in that regard!
        
         | ryanlpeterman wrote:
         | Thank you for your kind words :)
        
       | [deleted]
        
       | mtippett wrote:
       | For me, it's all about coherent externalization.
       | 
       | Your brain takes shortcuts, you can think you understand what is
       | going on, it's only when you need to communicate it you realize
       | how many shortcuts in hallucinations of understanding there are
       | in your head.
       | 
       | So for those with imgur accounts... I have a challenge for you.
       | 
       | Most people will know how to ride a bike, will know a bike when
       | they see it.
       | 
       | But can you communicate what a bike looks like (in a diagram)?
       | 90% of you won't be able to.
       | 
       | Grab a piece of paper, and draw a bike. Post it to imgur, and
       | post a link to it below (please don't be a troll).
       | 
       | Then take a look at https://www.gianlucagimini.it/portfolio-
       | item/velocipedia/
       | 
       | Until you try to communicate a concept or idea in words or
       | diagrams, the chances are you are hallucinating your
       | understanding.
        
         | xeonmc wrote:
         | https://imgur.com/a/A9NwpLk
        
         | fnordpiglet wrote:
         | I know folks that control for this by writing a fail fast
         | implementation. I do it by talking it through. There's a lot of
         | modalities in the human experience and different people are
         | adapted to different modalities. Building a strong complete
         | team involves covering all the modalities and letting them work
         | the way they work best, and as a team. A team that can write,
         | speak, draw, produce functional demos, etc, is better than the
         | one that can write.
        
         | tstrimple wrote:
         | Based on what I saw on that website, only a handful of people
         | couldn't draw a bike well enough to get the point across. A few
         | more than that posted designs which can't function (fixed front
         | wheel), but are easily recognizable as a bike. Most are fine.
         | Certainly not supporting that 90% of people won't be able to do
         | so. A diagram isn't a spec. It's designed to convey higher
         | level ideas of which most of these bike illustrations are fine
         | for.
        
         | jxramos wrote:
         | they may not even be hallucinations, just short circuit paths
         | that have embedded in your conceptualization of stuff that
         | they've become unspoken deeply furrowed premises long trusted
         | and never thought to be questioned. Surfacing unspoken and
         | unwritten premises is something I find exciting, really invites
         | getting at the root of stuff.
        
       | HPsquared wrote:
       | To write clearly is to think clearly.
        
       | japhyr wrote:
       | I think the people who can code well and write good technical
       | documentation are going to transition well into the fully AI-
       | assisted world. So much of what I'm seeing involves not so much
       | the ability to code well, but the ability to write clearly about
       | what you want your code to do. I think the people who can write
       | decent code but struggle to write good documentation (comments
       | and formal docs) are going to struggle to make the transition.
       | 
       | The tools are going to write more and more of the code for us.
       | We're going to be spending more time writing about the code and
       | less time writing code.
       | 
       | (I posted this as a comment on the article, but there's more
       | active conversation here so I pasted it here as well. I'm curious
       | if anyone else has thoughts along these lines.)
        
         | abathur wrote:
         | A guy at a bar spotted me programming last night and forced a
         | conversation on me about an email-processing script ChatGPT
         | helped him write, and showed me the conversation on his phone.
         | 
         | It struck me, as a programmer with a creative writing
         | background, that he was basically writing microfiction with a
         | character (himself) that needed help, and a character (ChatGPT)
         | to help him out.
        
           | japhyr wrote:
           | How did it work out for him?
        
             | abathur wrote:
             | * * *
        
         | qsort wrote:
         | I don't see a future where we replace code with natural
         | language -- and I'm not only skeptical about it, I know for a
         | fact it will never happen: it's an idea that has been tried and
         | _did not work_. Formal language is easier, for the same reason
         | that nobody in their right mind would rather write  "one less
         | than the square of the variable" than "x^2 - 1".
         | 
         | I do agree that writing badly is a reliably correlated with
         | being a bad developer. Not writing well denotes lack of
         | clarity, inattention to detail and self-indulgence, all damning
         | attributes for a serious professional.
        
       | ChrisMarshallNY wrote:
       | _> Writing your thoughts down forces them into a coherent,
       | logical narrative. Condensing your writing gives you a deeper
       | understanding. This process improves your thinking._
       | 
       | When I write something down, it changes my viewpoint. Not sure
       | why, but it does.
       | 
       | I tend to "just do things a certain way," without really
       | planning, structuring, or thinking about it.
       | 
       | I have found that I surprise myself, if I then go back, with a
       | goal of explaining what I do, to others.
       | 
       | Here are some examples of what I mean:
       | 
       | [0] https://littlegreenviper.com/miscellany/thats-not-what-
       | ships...
       | 
       | [1] https://littlegreenviper.com/various/the-road-most-
       | traveled-...
       | 
       | [2] https://littlegreenviper.com/various/evolutionary-design-
       | spe...
       | 
       | etc.
       | 
       | [3] https://littlegreenviper.com/miscellany
        
       | GCA10 wrote:
       | "Writing doesn't just clarify your existing ideas; it generates
       | more of them."
       | 
       | So true! Redrafting and self-editing involves so much more than
       | just getting the commas in the right places. This is how we see
       | new linkages that weren't obvious at first. It's how we become
       | more discerning, so we can define the limits and strengths of our
       | concepts more precisely. And it's one of the best ways of opening
       | up new avenues of thought. (If A is valid, then B, C and D become
       | possible.)
        
         | nanidin wrote:
         | My personal version of rubber duck debugging involves writing
         | an email to explain the problem. It helps solidify my
         | understanding and usually generates new things to follow up on.
        
           | cmason wrote:
           | Yes. Very often the email never gets sent -- because I find
           | the solution while writing it.
        
         | nextlevelwizard wrote:
         | For me it happens in cycles. I get inspiration to jazz-up/re-
         | write my blog and that gives me a nudge to write something,
         | anything really, just to get to see something new and that gets
         | the rock rolling and I end up writing half a dozen posts in few
         | weeks. Then I get distracted by some other project or a game or
         | whatever and I forget writing for months and when I remember I
         | have a blog I feel like I don't have anything "worthy" of
         | writing. Until I again get inspiration to start working on the
         | code side of the blog again and the cycle beings a new.
        
         | abathur wrote:
         | I find reading, writing, and programming can each be incredibly
         | generative in their own ways. I haven't _measured_ its
         | effectiveness, but I like rotating the intellectual crops, as
         | it were. I (at least subjectively) feel most-generative in the
         | few weeks after switching from mostly-one to mostly-another.
        
         | lifeisstillgood wrote:
         | Writing shows how weak your thinking is - Leslie Lamport
        
           | 123pie123 wrote:
           | I'm sure all the people with dyslexia / ADHD would not agree
        
             | crabkin wrote:
             | I have ADHD and maybe some sort of low grade dyslexia. My
             | voracious curiosity with no regard to structured learning
             | or topical coherence has only been a huge boon to my
             | reading/writing. I think ADHD/dyslexia has been a bigger
             | problem in my math and science classes where I write
             | something different than what my brain is thinking, or I
             | make arithmetic mistakes. For instance, if I forget to
             | write the first noun in a sentence, it isn't as huge a
             | problem as when I mix up a summation and summand in an
             | answer or on the way to one.
        
         | jxramos wrote:
         | fascinating, writing as a generative process. I like it. Think
         | about how many tangents show up in text that can't be explored
         | fully but can become a subject or book in their own right.
        
           | theturtletalks wrote:
           | "Writing about something, even something you know well,
           | usually shows you that you didn't know it as well as you
           | thought. Putting your ideas into words changes them." [0]
           | 
           | 0. http://www.paulgraham.com/words.html
        
             | mtippett wrote:
             | 100%.
             | 
             | Just challenged the hacker news crew to draw a bike. See my
             | reply to the OP.
        
             | ryanlpeterman wrote:
             | This was a great read, thank you for sharing :)
        
       | briantakita wrote:
       | My biggest hang-up wrt writing is prose, specifically maintaining
       | & iterating on prose. I would rather write in a graph, but have
       | not found any tools which serve my purposes to replace a physical
       | notepad in this regard.
       | 
       | Tools like The Brain is ok but I would rather have source files
       | which I can commit to a repo. Dendron is ok as well but is not
       | universally inteoperable...as I use Jetbrains tooling. I can't
       | deny how important the somatic & muscle memory elements are to
       | the task of writing & VSCodium is just not on the same level as
       | Jetbrains tools.
       | 
       | What would be great is to have a Universal ID & a graph api where
       | all of my writings can be queried & updated or amended.
       | 
       | For now, software is more satisfying to write than prose. I hope
       | experience of writing in a digital format can become more like
       | writing graph data structures in the near future.
        
       | MathMonkeyMan wrote:
       | What I'm finding is that writing is good for straightening out
       | your ideas, rubber duck style.
       | 
       | As for communication, it depends. One problem with writing is
       | that it generates something to read, and people don't want to
       | read.
        
         | e_i_pi_2 wrote:
         | Definitely agreed - I read my own documentation more than
         | anyone else, and writing it out does make for a better system
         | design, but I never refer to documentation until I _need_ to
         | and I don't expect others to do any differently
        
       | stuckinhell wrote:
       | Sure, but the best engineering team in my firm are poor writers.
       | I can hire "translators" to write down stuff for them at 1/5 the
       | cost.
        
       | fnordpiglet wrote:
       | X needs to Y stuff bothers me because it's a "everyone must be
       | like me because I'm like me and that's the way things are." I
       | gain none of the things the author attributes to writing. I don't
       | gain much by drawing pictures either. I do better by thinking a
       | lot then talking it through with someone.
       | 
       | I think a better way to think about it is if you have a team,
       | there's probably someone on it that gets more done by writing it
       | down and another person who does better by drawing it and another
       | by coding it and another by talking it through. So, talk it
       | through and explain the plan to stakeholders, write it down for
       | everyone to have a definite written explanation of what was
       | talked about, draw the diagrams to explain in pictures what's
       | complex in words, and code a POC to make it real - and do it
       | together as a team. don't tell everyone else to be like you,
       | enjoy that they are them and they're on your team filling the
       | gaps. A sports team isn't composed of uniform cogs, they take
       | roles that exploit their natural abilities.
        
         | pxeger1 wrote:
         | Instead of "X needs to Y", how about "consider how Y might help
         | X". The title is a more succinct, admittedly exaggerated,
         | version of what the take-home message should be. It still has a
         | point.
        
       | jlengrand wrote:
       | The inflation the sales went down so much lately that my local
       | supermarket stopped selling m&m's, snickers, mars, kit kat, ....
       | They only sell the store brand now.
       | 
       | Was genuinely searching for the the stuff and asked a clerk, they
       | said that stuff's gone so pricey people don't buy any more...
       | It's honestly a little worrying
       | 
       | https://twitter.com/jlengrand/status/1639340552536686592
        
       | photochemsyn wrote:
       | The first question in writing should probably always be: "Who am
       | I writing this for?"
       | 
       | A lot of the times, in projects, you're writing to yourself, or
       | more precisely to your future self, so that you can figure out in
       | the future what it was you were trying to do in the present. If
       | you've ever come across one of your past projects, and have no
       | idea what it was supposed to do, or where you stopped working on
       | it - that's where a document addressed to yourself would have
       | been invaluable.
       | 
       | If you're writing for some other audience, then it's most
       | important - assuming you want them to read your writing - to try
       | to see the world through their eyes. Technical writing should
       | generally be gradually incremental, starting from minimal
       | assumptions of the audience's knowledge and working upwards.
       | Then, they can read along for awhile at least before having to
       | jump off the train. I recently came across an excellent example
       | of this approach:
       | 
       | https://www.scottaaronson.com/papers/pnp.pdf
       | 
       | As far as non-technical writing, anything goes, be creative, you
       | could be the next James Joyce, which AI is unlikely to ever
       | replicate, or at least probably not.
        
       | DeathArrow wrote:
       | > I hated writing in high school. It wasn't objective like my
       | favorite subjects, math and science. It also didn't help that we
       | had to write about old, hard-to-understand literature like
       | Shakespeare.
       | 
       | While I never considered myself an engineer, but a computer
       | scientist, I've always loved writing.
       | 
       | My favorite course in high school beside programming was
       | literature and language.
       | 
       | I never stopped writing in a form or another. I love Shakespeare
       | as much as I love any other old or new good author.
       | 
       | Considering Shakespeare old and hard to understand doesn't tell
       | us as much about Shakespeare as about you.
        
       ___________________________________________________________________
       (page generated 2023-03-24 23:00 UTC)