"The heuristics I can substitute are incomplete"
April 2, 2021 1:25 PM   Subscribe

Beth Andres-Beck writes about hir experiences as a dyslexic programmer. (This post is from 2014.) Zie says: "I believe that in some ways dyslexia makes me a better programmer." and "It is hard to explain my intuitive, aesthetic sense of good code, such as when polymorphism would simplify a method. The heuristics I can substitute are incomplete, flawed reflections of the generative principles that motivate them and people who like rules tend to reject them when they can think of counter-examples. I rely on metaphor and examples a lot, because they have proven more effective at translating my thoughts into something other people can understand."
posted by brainwane (13 comments total) 6 users marked this as a favorite
 
I'm having trouble connecting Beth's programming skills to her dyslexia. For example, recognizing words by shape, rather than sounding out individual letters, is a pretty common skill developed by all elementary grade readers. The use of $NAMED_CONSTANTS rather than "magic numbers" is ordinary coding practice. In fact, I saw nothing in this article that was particular to Beth as a dyslexic.

Absent was any mention of documentation. Difficulty reading or writing documentation would be a critical issue, and yet Beth does not address it at all, while obviously having the ability to produce this article. Not sure what Beth's point was, then.
posted by SPrintF at 1:49 PM on April 2, 2021 [2 favorites]


I found it clearly enough stated. Arbitrary positional arguments stuffec with bool constants are bad for everybody, but somebody who feels that harder will get it fixed.
It's really about incentives: I’m less likely to tolerate ambiguities because I will mess them up constantly, instead of once in a blue moon when it may really matter and is less likely to be caught. I support coding styles, static analysis and languages choices that don’t allow anyone to make careless mistakes, reducing overall bugs
posted by away for regrooving at 2:16 PM on April 2, 2021 [5 favorites]


FTA: The greatest strength of the dyslexic programmer is that if it is possible for syntax to be confusing, I will almost certainly confuse it. This is useful because so would almost everyone (sic) else, eventually.

She must have meant "someone else" and not "almost everyone else" - and that really undercuts the point she's making here, which sounded good at first glance but really only boils down to the idea that having to work extra hard in certain areas to compensate for her dyslexia has allowed her to reap the benefits of that hard work in terms of compensating for her dyslexia. As her error here unfortunately shows, none of this actually helps her become better than non-dyslexic people at avoiding erroneous use of confusing syntax.
posted by MiraK at 2:27 PM on April 2, 2021


She must have meant "someone else" and not "almost everyone else"

She means "given an arbitrary individual and enough time, they will eventually get confused about the syntax". What she's written and "someone else" mean almost the same thing to me--she is allowing that there exist people who don't mess up syntax, whereas "someone else" does not. Now, I honestly can't tell you whether "almost everyone else" or "almost anyone else" is 'correct' here, but given that the sentence parses for me and I (the reader) can't tell you what I think is correct, she's correctly using English by any descriptive standard.
posted by hoyland at 2:35 PM on April 2, 2021 [7 favorites]


Mod note: MiraK, it sounds a lot like you're picking at someone because of their disability and I don't think that small error is the focus of the piece.
posted by Eyebrows McGee (staff) at 2:58 PM on April 2, 2021 [2 favorites]


It is hard to explain my intuitive, aesthetic sense of good code, such as when polymorphism would simplify a method. The heuristics I can substitute are incomplete, flawed reflections of the generative principles that motivate them and people who like rules tend to reject them when they can think of counter-examples.

sounds a lot like ze's describing fluency in a spoken language, which is interesting!

hard to separate how much of this is hir dyslexia & how much is hir strength with holding & manipulating concepts in hir head which is presumably a separate skill from the dyslexia workarounds, though

in general I think talking about how different brains work differently is a cool thing to normalize
posted by taquito sunrise at 4:15 PM on April 2, 2021 [1 favorite]


1. I think the points made in the original article about clarity and ambiguity in programming are really pertinent. In software today, we build really big systems - far bigger than any one person than can reasonably hold in their head at one time - and so the abstractions we build - and the facility for describing those abstractions in the programming languages we use - are critically important. A lot of modern language design focuses on disambiguation (through, for example, strong typing or strong resource ownership models) as a way to avoid exactly these kinds of mistakes. We should design our code and encourage use of tooling that reduces these ambiguities and highlights these sources of confusion: programming languages are—and the code we write is—far more about how programmers communicate with other programmers than how we communicate with the computer.

2. Pronouns: in the linked article, the author refers to themself as 'zie'. Please don't use 'she'.
posted by parm at 4:18 PM on April 2, 2021 [6 favorites]


programming languages are—and the code we write is—far more about how programmers communicate with other programmers than how we communicate with the computer

1000x this. I constantly have to tell people in code reviews to think of the reader.
posted by Slothrup at 4:32 PM on April 2, 2021 [2 favorites]


Here are some usage examples for zie/hir pronouns:
http://pronoun.is/zie/hir
Beth also uses ze/hir pronouns elsewhere:
http://pronoun.is/ze
Respecting hir pronouns would mean not using "they" either.
posted by polytope subirb enby-of-piano-dice at 4:33 PM on April 2, 2021 [9 favorites]


>I constantly have to tell people in code reviews to think of the reader.
The Knuth Abides. See Literate Programming at Wikipedia. I go further -- the unit and integration tests are a living document describing how the system currently works which makes promises about proper and improper reuse of internal components.

Something Knuth is also concerned about is people talking about their workspaces and habits so that we have a socialised culture of people learning together in contrast to the individuating "Titans of History" so I'm glad to hear of hir experiences and the self-determining labels zie uses.
posted by k3ninho at 11:07 PM on April 2, 2021 [1 favorite]


I am slowly learning to code at the encouragement of my spouse. I'm doing it all through the excellent free resource that is the MDN Learning Pathway.

My background is in food service and childcare, so this has been a huge leap outside of my comfort zone. I've found that the things I'm most interested in are accessibility, inclusivity, and information architecture.

Thanks for this post. It is exactly what I needed to read right now, I'll be reading it over and over again as source of encouragement.
posted by RobinofFrocksley at 6:19 AM on April 3, 2021 [3 favorites]


my brain so much doesn't work with programming that even though i got most of the way to a degree, all the specifics in this post were meaningless to me, lol. but the general dynamics are very familiar! i've probably unconsciously done a lot similar to hir in my fields - seeking out existing tools that work better for me and sticking to them, learning to avoid the things that would trip me up and get me lost for hours, learning how to communicate the way i understand things in a way that makes sense to other people and doesn't trigger this attitude: "But of course, anything that isn’t easy for [programmers who continually over-generalize their experience] is obviously stupid, badly designed or not worth doing".

i'm also very used to talking about non-obvious or very individual traits relating to my neurodivergencies - for instance, the ways in which my brain don't work for programming feel very connected to my presentation of autism, even though the autistic programmer is a stereotype. :p so i don't find hir attributing these things to hir dyslexia odd at all. i mean, it's hir experiences and hir brain, and zie's clearly used to communicating with other programmers about programming and running into the specific places their experiences don't match up!
posted by gaybobbie at 11:41 AM on April 3, 2021


sounds a lot like ze's describing fluency in a spoken language, which is interesting!

I’m loosely acquainted with a linguist-turned-software-engineer who I believe experiences them similarly. I know that the part of my brain that likes languages is the mathematician part of my brain and that’s also the programming part of my brain. I have also gathered that this is not the same for everyone.
posted by hoyland at 5:09 AM on April 7, 2021


« Older Did Somebody Say Baby Bird Photos?   |   PEEP PEEP PEEP Newer »


This thread has been archived and is closed to new comments