Sometimes I get an impression that people on autistic spectrum “have outlived their usefulness” (TV Tropes) from the perspective of the society. There was a time, not that long ago, when normies didn’t care about computers, because using them required esoteric knowledge of things such as binary numbers, and they didn’t care about internet, because it was mostly a way to interact with people who cared about these esoteric things. To become good with computers, you had to spend a lot of time studying obsessively something that didn’t have much value in the eyes of most people.
Then it became common knowledge that IT is where the money is, and also working with computers became easier. Suddenly people with no intrinsic interest in esotetic knowledge started paying attention to IT. And now you have students of computer science who freely admit that they actually don’t like programming and consider it boring… but they are willing to do it for money (because presumably all other jobs are boring, too).
The weirdoes became a minority in the field they have created, and the social norms are turning against them. Caring about the craft already became low-status; if you care about clean code and algorithmic complexity, you are obviously not paying attention to the larger picture i.e. the buzzwords the management is most happy about recently. There are not enough resources to do anything properly (although there sometimes are resources to do the same thing over and over again as the old solutions keep falling apart under their technical debt). The social skills are more important than the technical ones. Even in open source people are kicked out of projects for being bad at political games.
Of course, there is a value in social skills, and there is a harm in excessive weirdness. People can have long unproductive wars about minutiae of formatting the source code. Lack of communication within the project can waste lot of resources. Documentation sucks when it is written by people who hate talking to others. Introducing social skills to the project should be good… if we could keep the balance. If the people with social skills could respect the people with technical skills, and vice versa. But it seems to me that after the initial resistance is broken, the pendulum swings to the opposite extreme, and suddenly we have a formerly nerdy profession where people are regularly reminded that nerds suck.
Normie-ness is a positive feedback loop; the more normies you have, the greater the pressure to eliminate the non-normies. People with better social skills will almost by definition succeed at pushing the narrative that what we really need is to give even more power to people with social skills. And when things start falling apart, instead of shutting up and fixing the code, more and more meetings are scheduled, because for a normie, talking endlessly is the preferred (and the only known) way to solve all problems.
To some degree, this is not as bad as it sounds. Software is easy to copy. You could have 99% of software projects completely dysfunctional, and the remaining 1% would still move the planet forward. Similarly, you can have million anti-vaxers, but as long as you have one Einstein, science can still move forward. One person doing the right thing is more important than millions wasting time, if the solution can be copied.
But ultimately, the resources are scarce, and the people pretending to care are competing against the people who actually care. When you get to the point where the Einstein can’t get a job, because he is outcompeted at every position by people with better social skills, then—unless he is independently wealthy (but how could he save for early retirement if he can’t get a good job?) or he has a generous sponsor (but here he also competes against people who have better social skills) -- he will not be able to work on his theory of relativity. And if only 1% of programmers care about clean code, you won’t get clean code in 1% of projects; it will be much less, because most projects are developed by teams, and you would need a majority of the team to actually care.
Sometimes I get an impression that people on autistic spectrum “have outlived their usefulness” (TV Tropes) from the perspective of the society. There was a time, not that long ago, when normies didn’t care about computers, because using them required esoteric knowledge of things such as binary numbers, and they didn’t care about internet, because it was mostly a way to interact with people who cared about these esoteric things. To become good with computers, you had to spend a lot of time studying obsessively something that didn’t have much value in the eyes of most people.
Then it became common knowledge that IT is where the money is, and also working with computers became easier. Suddenly people with no intrinsic interest in esotetic knowledge started paying attention to IT. And now you have students of computer science who freely admit that they actually don’t like programming and consider it boring… but they are willing to do it for money (because presumably all other jobs are boring, too).
The weirdoes became a minority in the field they have created, and the social norms are turning against them. Caring about the craft already became low-status; if you care about clean code and algorithmic complexity, you are obviously not paying attention to the larger picture i.e. the buzzwords the management is most happy about recently. There are not enough resources to do anything properly (although there sometimes are resources to do the same thing over and over again as the old solutions keep falling apart under their technical debt). The social skills are more important than the technical ones. Even in open source people are kicked out of projects for being bad at political games.
Of course, there is a value in social skills, and there is a harm in excessive weirdness. People can have long unproductive wars about minutiae of formatting the source code. Lack of communication within the project can waste lot of resources. Documentation sucks when it is written by people who hate talking to others. Introducing social skills to the project should be good… if we could keep the balance. If the people with social skills could respect the people with technical skills, and vice versa. But it seems to me that after the initial resistance is broken, the pendulum swings to the opposite extreme, and suddenly we have a formerly nerdy profession where people are regularly reminded that nerds suck.
Normie-ness is a positive feedback loop; the more normies you have, the greater the pressure to eliminate the non-normies. People with better social skills will almost by definition succeed at pushing the narrative that what we really need is to give even more power to people with social skills. And when things start falling apart, instead of shutting up and fixing the code, more and more meetings are scheduled, because for a normie, talking endlessly is the preferred (and the only known) way to solve all problems.
To some degree, this is not as bad as it sounds. Software is easy to copy. You could have 99% of software projects completely dysfunctional, and the remaining 1% would still move the planet forward. Similarly, you can have million anti-vaxers, but as long as you have one Einstein, science can still move forward. One person doing the right thing is more important than millions wasting time, if the solution can be copied.
But ultimately, the resources are scarce, and the people pretending to care are competing against the people who actually care. When you get to the point where the Einstein can’t get a job, because he is outcompeted at every position by people with better social skills, then—unless he is independently wealthy (but how could he save for early retirement if he can’t get a good job?) or he has a generous sponsor (but here he also competes against people who have better social skills) -- he will not be able to work on his theory of relativity. And if only 1% of programmers care about clean code, you won’t get clean code in 1% of projects; it will be much less, because most projects are developed by teams, and you would need a majority of the team to actually care.