Neurodiversity as software incompatibility

Rami James
4 min readJan 7, 2024

Originally posted on my website

If you’ve been following the stuff that I write about, you’ll know that my family and I recently fled the difficult situation in Israel. We were in the far north of the country and were terrified that things were going to escalate with Hezbollah. We left in November of 2023 and have been trying to find our way in the world since then.

Temporarily we’ve found ourselves in the US, although where we’ll end up long-term is still up in the air. My wife wants to go back to Israel, I want us to stay far away.

We have three relatively small kids, aged 10, 9, and 4 as of writing this. Those are tough ages to drag kids across an ocean, up-end their lives, and subject them to semi-perpetual uncertainty. I suppose that there isn’t any good time of life to do that to a kid. It’s always going to be hard.

My oldest, a girl, is somewhere on the neurodiversity scale. We’ve had her tested for autism but never had any conclusive answer as to what her specific diagnosis is.

She’s smart, unbelievably creative, and we adore her. She also has a hard time maintaining control over her behavior, thoughts, and focus. In general setting her own boundaries is a challenge. She suffers from anxiety and has a hard time being left alone for any length of time. She also often has a hard time understanding what other people are thinking or feeling — with the caveat of her younger sister, who she seems to understand just fine.

All of this is to say that she can be a handful to deal with and I’m often very frustrated.

When we moved, it was her that I was most concerned about. Fitting in has always been a challenge for her, and making friends within a school setting took a long time. Thankfully, the school where we are currently is excellent and she is supported and doing really well within that context.

At home, all of the kids are having a rough time, but my oldest is having the roughest ride of all. Lots of aberrant, off behavior. Lots of fights. Lots of erratic, irrational outbursts. I think that having her world turned upside-down has reset her internal set of expectations regarding acceptable behavior patterns and it is going to be a long while until we get back on track.

The problem with neurodiversity and kids isn’t really about how they think or act, but is instead an issue of incompatibility with how us parents think and act. Their internal expectations, models of the world, and ways of processing are often out of sync with those around them. That’s where all the friction comes from.

In my day job, when I had one, I was surrounded by the comforting structure of software. For those of us who have been building software in startups for a while, I’m sure that sounds laughable, but we do try to make it so that things are generally planned out in advance, documented, and functional expectations are clear.

During the last year or so of my stint at Ultra, my core focus was developer advocacy. This meant that I spent an inordinate amount of time building out a developer portal that taught people how to use a specific set of functionality, and even more time convincing them that they should.

We documented on-chain smart contracts that were publicly available, tools that allowed developers to do what we wanted them to, and of course, lots of APIs.

It’s API documentation that I’ve been thinking about a lot lately in the context of my daughter (and really, all of my kids). They are Application Programming Interfaces. You can think of APIs as a communication format for receiving or transmitting data, or for fulfilling some remote functionality. If you format your requests right, you get the response that you want and you get to do the cool stuff that you want. If not, you get anything from no response to data gibberish.

I think that this is really what it is like with kids, except there is no documentation to reference, and no standardized methodology for querying a kid’s API. You send your query and hope for the right response. If you don’t get it, you have to change your query and try again.

Utter frustration.

If I came across software that expected that of me, I’d be angry at the developer.

In this case, of course, I’m the developer and I’m often angry at myself for my poorly formatted query and the bad response that I got.

With kids that are relatively normal, the process of getting to a sensible response tends to be easier as their default format is more or less what you expect. It’s easier to hit on the right query to their kid-API.

With kids that are neurodiverse, you’re going to have to send many (many) queries of varying formats because often what you’re sending is simply incompatible with their API at a fundamental level. You keep trying and hope for the best.

I’m not sure why, but it helps me to think about my failures with my kids in this fashion. I perpetually live in hope that I can find a better way to communicate with them, and that the queries I make in the future return 200 (OK).