Normal Humans Effectively Excluded From Developing Software
theodp (442580) writes Over at Alarming Development, Jonathan Edwards has an interesting rant entitled Developer Inequality and the Technical Debt Crisis. The heated complaints that the culture of programming unfairly excludes some groups, Edwards feels, is a distraction from a bigger issue with far greater importance to society.
"The bigger injustice," Edwards writes, "is that programming has become an elite: a vocation requiring rare talents, grueling training, and total dedication. The way things are today if you want to be a programmer you had best be someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge — and enjoys it. Normal humans are effectively excluded from developing software. The real injustice of developer inequality is that it doesn't have to be this way." Edwards concludes with a call to action, "The web triumphalists love to talk about changing the world. Well if you really want to change the world, empower regular people to build web apps. Disrupt web programming! Who's with me?" Ed Finkler, who worries about his own future as a developer in The Developer's Dystopian Future, seconds that emotion. "I think about how I used to fill my time with coding," Finkler writes. "So much coding. I was willing to dive so deep into a library or framework or technology to learn it. My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity."
"The bigger injustice," Edwards writes, "is that programming has become an elite: a vocation requiring rare talents, grueling training, and total dedication. The way things are today if you want to be a programmer you had best be someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge — and enjoys it. Normal humans are effectively excluded from developing software. The real injustice of developer inequality is that it doesn't have to be this way." Edwards concludes with a call to action, "The web triumphalists love to talk about changing the world. Well if you really want to change the world, empower regular people to build web apps. Disrupt web programming! Who's with me?" Ed Finkler, who worries about his own future as a developer in The Developer's Dystopian Future, seconds that emotion. "I think about how I used to fill my time with coding," Finkler writes. "So much coding. I was willing to dive so deep into a library or framework or technology to learn it. My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity."
Normal humans are excluded from a lot of things.
1. Olympic Gold Medal
2. 5x Jeopardy Champion
3. Professional Concert Pianist
4. Bolshoi Ballet
5. Supermodel
etc.
The idea is to find your niche in life and exploit it. Not call the whaaambulance.
You heard it here first, folks: if you're going to try to not suck at your job, you're autistic. Normal people don't give a fuck about trying.
just about every field above burger flipping requires specialization. Are you going to ask Joe Blow about your corporate tax accounting needs? Or are you just going to drop by Intel and see if you can lend a hand with some microcode? Work is becoming increasingly specialized across all fronts, time to get used to it.
So there is finally a job that focused, socially clueless people can excel at, and some want to take that away from them because it isn't fair for people who could do other jobs anyway.
There's a good reason I'm not a brain surgeon or a professional hockey player. Have you ever tried explaining even a 'hello world' example to someone who can't handle strict logic and math?
I present Exhibit A: The army of skinny-jean, unshaven "Brogrammers" who use end to end, non-scalable, non-portable, all-in-one blackbox frameworks like AngularJS and a handful of selected NPMs or Gems commonly used amongst 90% or more of the existent Rails or NodeJS based sites, while writing flat MongoDB collections because they totally don't get NoSQL but love to use it because it's the new hotness and refer to themselves as "elite hackers" while fist-bumping and drinking beer at their SOMA office in SF.
"New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity."
I will mod that one way up.
Seriously, does everyone think programming is a spatial relationships problem or something?
Let's put this on the table right now: Normal humans can build houses. Oh, you might not have any construction knowledge, and you'll build a horrendous little shitheap that falls over when the wind blows, but that's not the point. I can put construction knowledge in your head and, in a few months, you'll be able to properly select foundation for a site, properly frame a house, and properly build out the sheathing and siding and insulation and walls. You won't be a master craftsman, but you'll be able to do it right.
Humans are good with spatial things. Humans can look at a two-by-four and understand what a two-by-four is. The engineering concepts behind building a workable shed are a little different, but easily transferred. Given a little time and guidance, a human can learn to relate building materials spatially, measuring and cutting and nailing or screwing or gluing as needed, planning and building a proper structure.
Humans are terrible at numbers and algorithms.
Humans are so terrible at numbers and algorithms that they become *extremely* proficient at math if you teach them with a soroban--a machine that converts numerical problems into spatial procedures--and can't be taught algorithms without visual diagrams of trees and boxes and other shit to show sorting and transformation algorithms. Have you ever looked at textbooks or Wikipedia pages for stuff like PKI, red-black trees, or AES encryption? There's pictures of the simplest shit! Why? Because HUMANS CAN'T PROCESS ALGORITHMS!
The easiest process for a human programmer implementing an algorithm like a quick sort is to associate variables with objects in the visual diagram, associate their state changes with the movements in the visual diagram, and write code that carries out the analogous behavior. By comparison, BUBBLE SORT IS FUCKING HARD TO IMPLEMENT when your only guidance is: "iterate through each list element. Compare each element to the previous. If the previous element is larger, swap them." You actually have to think about how to do the comparison (greater than, less than? Wait, which am I comparing to which?), and how to swap them--usually with a temporary variable, although "A ^= B; B ^= A; A ^= B;" works. Most people visualize some kind of diagram while trying to understand the algorithm.
The real world requires interaction with space, mainly to avoid hungry tigers, kill tasty deer, and avoid driving your car into trees like you're fucking drunk. It doesn't involve shift accumulator left and XOR with memory at address $FC. It doesn't involve explicit semaphore locking and deadlocks if you fail to unlock the semaphore in a loop with multiple function calls and thread branching during the loop. It requires things you can put your fist through if they don't work right, and then continue with successfully.
We can't all be rocket surgeons.
Support my political activism on Patreon.
Normal humans are effectively excluded from developing software.
I've said that for years. You, however, seem to hold that against those with the rare gift and dedication to code. Kinda missing the point, dude.
a vocation requiring rare talents, grueling training, and total dedication. The way things are today if you want to be a programmer you had best be someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge â" and enjoys it
Yes, yes, yes, kinda, yes, and yes. Again - Your point? You've described exactly why normal humans will never succeed as devs, and to a degree, why many devs tend to look down on those who can't even figure out Excel.
And you call that "injustice"? I have a rare combination of qualities that let me do seemingly amazing things with computers, and in return, I make a decent (but by no means incredible) salary. You want injustice? Some of those same morons who can't even figure out Excel (much less writing their own override CSS) make millions of dollars per year telling me they want my latest app to use a differerent font color. Another group of those morons make millions of dollars per year because they can whack a ball with a stick better than I can. Yet another group of morons make millions of dollars per year doing absolutely nothing because Granddad worked a town of white trash (sometimes literally) to death.
And yet you would call me out for busting my ass to turn my one natural skill into a modestly decent living?
Go fuck yourself, Mr. Edwards. Hard.
"The bigger injustice," Edwards writes, "is that being a doctor or lawyer has become an elite: a vocation requiring rare talents, grueling training, and total dedication. The way things are today if you want to be a lawyer or doctor you had best be someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge â" and enjoys it. Normal humans are effectively excluded from performing surgery or arguing cases before a judge. The real injustice of legal or medical inequality is that it doesn't have to be this way." Edwards concludes with a call to action, "The web triumphalists love to talk about changing the world. Well if you really want to change the world, empower regular people to perform open heart surgery and argue cases before the supreme court. Disrupt specialist knowledge and training! Who's with me?"
Don't blame me, I voted for Kodos
Things are wrong if a group of people are excluded from something by others for no particular reason or a frivolous one such as: sex, religion, skin colour, ... However: we are not equal in achievement, I will never be a swimming great -- the young lads at the pool power past me, but I could prob write a better C program or shell script than they could. However if they were willing to put many years work they might manage that as well.
Life is not fair, different people have different abilities & achievements. What is important is that society provides equality of opportunity; it is up to the individual to exercise that opportunity based on the time that they are willing to put in and their innate abilities.
The article was called "The Real Software Crisis" (BYTE, January, 1996); you can read the original text here. (BYTE's archives are no longer online). I wrote a more extended discussion on the subject back in 2008; you can read it here. One might was well write that "normal humans are effectively excluded from composing and performing music"; if you've ever known a music major in college, you'll know just how true that is (I believe Music to be a harder major than Computer Science, having dated a Music major while getting my own degree in CS). ..bruce..
Bruce F. Webster (brucefwebster.com)
I got my first computer in 1986; I was 13, and it was a ZX Spectrum with a build-in BASIC interpreter. When you switched on, you could start away programming. In fact, the computer came with a little book with programming examples and little games. I spend countless hours typing in listings that I found in newspapers. To even load a simple game you had to enter a command.
Since then, I learned C, tcsh, C++, bash, Perl, much later also Python and R. It was a step by step process, and I would never have started it (and became what I am now, that is, computational biologist) if not for this one computer with the BASIC interpreter.
I have kids now, and they have Android tablets. The sheer power, their parameters and their capabilities are overwhelming. I don't know how many instances of a ZX Spectrum emulator I could run on one of these, a thousand?
But even though they run on a system that is related to the system I am using every day, I would not know how to write a program for them to save my life. In theory, I know how I would approach it, I even set up once an Eclipse environment once, but I never got to even start a Hello world program. If I were 13, I would not even know that I can write a program myself.
It is amazing, but I think that actually, my kids will have a much harder time to learn programming than I had, and they will get much less fun in return...
Some people in life find an "unfair advantage". This is very evident in professional athletes. They must start with natural athletic ability and then hone that through practice and training. And then a select few get paid huge dollars to essentially play a game.
People with natural problem solving and logic skills also have an "unfair advantage". It doesn't generate the quick wealth of the professional athlete but can lead to a promising professional career path. It still takes practice and learning to really take advantage of these skills much like the professional athlete learning their sport.
I will not apologize for taking advantage of my abilities any more than a professional athlete will give back the money they earned playing a game.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity.
Yeah that's called growing up.
Regular people can build web apps. It's called "Microsoft Sharepoint."
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.