I agree with quite a bit of it, but also would like to present a few nuances.
1. The problem is here that they will cut me off short (not a problem) and then say something that is not what I want to say. What can I do? Push back? Give in? Leave?
My strategy was to just leave, because if you don't want to hear me out, and misinterpret what I want to say, we might as well save ourselves all some time. I have learned over time not to infodump (for example, by regularly asking if this is all stuff that is well known). I don't mind being reminded rather abruptly that I should get to the point, if my point is understood correctly.
2. How do I know what aspect of the question I should answer. Sure I can focus on costs, or performance, or memory usage of react, or state handling, or framework adoption. The fact is that I can't provide an opinion, because of all these have different answers. I have plenty of similar discussions that work out well enough, and it is something I think I am good at (hearing out the concerns of the other party, and then focusing on that). In fact, I think being product-minded and listening to the concerns of the business/manager/stakeholder is the most impactful skill an engineer can have.
But it is also the kind of discussion that can lead to the "You just can't admit you are wrong," even though... I haven't said anything wrong. I am very much aware that there is a communication problem, and thus provide my side of the discussion.
3. This is very much about my values, and the choices I make depending on those values. I am not saying the world needs to be a perfect world of engineering, it just means that I am not going to say something I can't back up. That might sound backwards to people, because they have other values (say, acquiescing because you might otherwise lose your job), but that's me making a choice. I'm not pretending to acknowledge I am wrong, and I'm not expecting the person to either. If you really want me to say that rewriting everything in elm, when we are a react shop, is a good choice, then I will state that not pretend to say that elm is a good choice. It doesn't mean that we can't rewrite things in elm, experiments are great if we can afford them. Engineering is about compromise.
But don't make me state an opinion I don't hold.
I am not sure if the nuance is clear here. I know full well that both opinions (elm is a good choice, elm is not a good choice) can hold true at the same time. In fact, none of us really can know which is right!
The business can be just as successful with react than it would with elm, who knows? Maybe in 2 years it will become clear that moving away from react was great, maybe it will become clear that staying with react was the thing to do. But currently, my opinion is that it is a bad choice, and I can argue why I think so.
4. I realize I should have just left this section out of the article and kept it for another day.
It is the first time I mention how much effort I put into learning things publicly, previously only my wife would know. I often come across as boyish and people very often assume I'm the intern, when I actually have 10 years on the most senior person after me. I don't like stating that I've done X for 15+ years, and when I do, some people just straight out don't believe me.
---
As for your take away, I fully approve. I think that writing is a way to avoid these confrontations. Being explicit, and indeed indulging a bit into "humor me" or giving me just a few minutes to get comfortable would help us. None of us benefits from misunderstandings or snap judgments. If I don't seem to be choosing the right words or making the right facial expressions, you can't just dismiss me by saying to get better at choosing the right words. Obviously, I tried. It would be like telling a blind person to just look more closely, and that "they just don't want to see".
You will also of course never realize how often we actually successfully adapted. In fact, it was very easy for me to forget just how much effort I put into these little social dances everyday, and how exhausting it is. The pandemic and working from home and mostly communicating by email has been life-changing.
I realise how exhausting it must be to put yourself out there and under the scrutiny of strangers, especially with the need to not leave loose threads and untruths hanging, so I'll try to keep it short and don't expect an answer :)
1. I feel like this is often a miss-understanding between neurotypicals and many neuroatypicals (not limited to autism, but also including disorders with emotional dysregulation, anxiety and others). Neurotypicals often finish each others sentences to signal understanding and engagement, or as a means of implicitly checking if they are still on the same page.
It's a bit like a checksum, a heartbeat package, or a TCP Ack.
"So we should make the cache at least..." - "Three times as large!" - "Yeah or four times for good measure."
For somebody who has trouble reading the intentions of others (as with autism), or who have a tendency to feel judged and controlled (as with anxiety or BPD), this often comes across as a rude interjection.
2. You can't know the aspect. Sometimes it's apparent from context, but most of the time neurotypicals just do a wild guess, and provide some answer. It is up to the other party to clarify, and given that they are the ones with the request, they will probably do so until they receive a satisfying answer.
3. Of course. Nobody expects you to just make stuff up, or have unfounded opinions. But I've noticed a certain tendency of people on the spectrum to vastly prefer forward chaining over backward chaining reasoning, whereas it's the other way around for neurotypicals. The truth I was trying to get at is that often there is no clear answer even if you had all the information available, and even worse often times it doesn't matter. Your company will probably be equally successful with react or elm, because it's other factors that are much more influential for success. With forward chaining reasoning that's a bit of a problem, because you can reach a point where there's no real path forwards. With backwards chaining you can just presume that some missing piece of information will eventually pop up or not matter that much and continue.
It's akin to Goedels first incompleteness theorem paraphrased very roughly: You can either have a system of reasoning that's consistent or one that's complete, but not both. Forward chaining gives you a consistent system, but you will have cases where you can't proceed, whereas backwards chaining allows you to sometimes just assume missing facts to be true, allowing you to take "a leap of faith". Those facts might actually be (unprovably) true or they might lead you to mistakes/inconsistencies.
That's not to say that backwards chaining is superior, forward chaining will allow you to more thoroughly explore the search space for which you _have_ all the facts, and it's a lot less likely to bring you to wrong conclusions.
4. Yeah maybe that is actually a problem that the industry has as a whole, and not specific to neuro(a)typicality. Sadly it's often, strong opinions, strongly held.
I agree with quite a bit of it, but also would like to present a few nuances.
1. The problem is here that they will cut me off short (not a problem) and then say something that is not what I want to say. What can I do? Push back? Give in? Leave?
My strategy was to just leave, because if you don't want to hear me out, and misinterpret what I want to say, we might as well save ourselves all some time. I have learned over time not to infodump (for example, by regularly asking if this is all stuff that is well known). I don't mind being reminded rather abruptly that I should get to the point, if my point is understood correctly.
2. How do I know what aspect of the question I should answer. Sure I can focus on costs, or performance, or memory usage of react, or state handling, or framework adoption. The fact is that I can't provide an opinion, because of all these have different answers. I have plenty of similar discussions that work out well enough, and it is something I think I am good at (hearing out the concerns of the other party, and then focusing on that). In fact, I think being product-minded and listening to the concerns of the business/manager/stakeholder is the most impactful skill an engineer can have.
But it is also the kind of discussion that can lead to the "You just can't admit you are wrong," even though... I haven't said anything wrong. I am very much aware that there is a communication problem, and thus provide my side of the discussion.
3. This is very much about my values, and the choices I make depending on those values. I am not saying the world needs to be a perfect world of engineering, it just means that I am not going to say something I can't back up. That might sound backwards to people, because they have other values (say, acquiescing because you might otherwise lose your job), but that's me making a choice. I'm not pretending to acknowledge I am wrong, and I'm not expecting the person to either. If you really want me to say that rewriting everything in elm, when we are a react shop, is a good choice, then I will state that not pretend to say that elm is a good choice. It doesn't mean that we can't rewrite things in elm, experiments are great if we can afford them. Engineering is about compromise.
But don't make me state an opinion I don't hold.
I am not sure if the nuance is clear here. I know full well that both opinions (elm is a good choice, elm is not a good choice) can hold true at the same time. In fact, none of us really can know which is right!
The business can be just as successful with react than it would with elm, who knows? Maybe in 2 years it will become clear that moving away from react was great, maybe it will become clear that staying with react was the thing to do. But currently, my opinion is that it is a bad choice, and I can argue why I think so.
4. I realize I should have just left this section out of the article and kept it for another day.
It is the first time I mention how much effort I put into learning things publicly, previously only my wife would know. I often come across as boyish and people very often assume I'm the intern, when I actually have 10 years on the most senior person after me. I don't like stating that I've done X for 15+ years, and when I do, some people just straight out don't believe me.
---
As for your take away, I fully approve. I think that writing is a way to avoid these confrontations. Being explicit, and indeed indulging a bit into "humor me" or giving me just a few minutes to get comfortable would help us. None of us benefits from misunderstandings or snap judgments. If I don't seem to be choosing the right words or making the right facial expressions, you can't just dismiss me by saying to get better at choosing the right words. Obviously, I tried. It would be like telling a blind person to just look more closely, and that "they just don't want to see".
You will also of course never realize how often we actually successfully adapted. In fact, it was very easy for me to forget just how much effort I put into these little social dances everyday, and how exhausting it is. The pandemic and working from home and mostly communicating by email has been life-changing.