4 ms·
What percentage of the population is even intellectually/psychologically capable of programming at a professional level? My guess is significantly less than ha
by Consultant32452 6y ago
What percentage of the population is even intellectually/psychologically capable of programming at a professional level? My guess is significantly less than half. That's not a we're smart and they're not. There's many jobs I'm psychologically ill-equipped to perform. For programming to be easy you have to have just the right amount of autistic/systemizing brain type, which appears to be significantly genetic. Everything in programming is abstract, so you have to be able to hold very large completely abstract systems in your brain. That's a different skill/aptitude than, for example, holding all the working parts of an internal combustion engine in your mind.
Programming is "easy" for only a tiny percentage of the population. That's just regular programming problems, not particularly difficult concepts/tasks I see many posts referring to.
- enchiridion 6y agoI disagree with a few points here. 1. Most people could be trained to code. The most important trait in a programmer is persistence. Momentum built from solving past problems is a powerful force. 2. The idea of needing to be atypical in order to be successful is damaging and wrong. What matters is practice. I understand what you are trying to get at, but there a lot of very smart people outside of the realm of software development. The ideas you are perpetuating raise the barrier to entry.
- Consultant32452 6y agoThe blank slate theory has been thoroughly debunked at this point. I explicitly said it wasn't about being smart vs not smart.
- enchiridion 6y agoI'm not arguing for that. Of course there are genetic differences that will make some people better at some things. But to say that half the population bus not capable of programming? That is elitist nonsense. Especially given the breath of the field.
- nonidit 6y agoIt is not. On the contrast I'd say thinking that more than ~10% of the population is in principle able to program is based on an elitist filter bubble. Abstract thinking is really not that easy. Just try to go to a shopping mall and teach people simple math or programming concepts.
- enchiridion 6y agoHave you actually done the experiment you propose? It sounds like a fun challenge honestly. I have taught at least a dozen people to code. A good number had no idea what was going on for a while, but left knowing how to handle the basics. Coding, math, and related subjects are made harder than needed by focusing on the abstract too much. Most of the concepts taught in a typical computer science degree are not difficult once you strip away the terminology. I'm also not sure how you see these opinions stemming from an elitist filter bubble. I know what I know because of how I've been educated. Anyone who put in the same amount of work (within a reasonable margin) would know the same things.
- Consultant32452 6y ago>That is elitist nonsense. You appear to have hallucinated a version of what I've said and are arguing against that.
- enchiridion 6y agoMaybe? It seems like saying at least half of the population is not capable of your job is elitist. I could be misunderstanding something about what you're saying.
- Consultant32452 6y agoThere are many jobs for which most people are not psychologically compatible. Off the top of my head, here's a few: long haul trucking, EMT, police officer, public school teacher... Is that elitist?
- ExtremisAndy 6y agoI pretty much agree here. I am an example of someone who simply does not have the genes for it, so to speak. I have loved programming since I was a little boy but am horrible at it. I can learn a language's basic syntax just fine (and usually in very little time), and have written many little tools/small apps that I have personally found helpful in automating certain aspects of my life and work. So I certainly value what little bit I can do. But every time I've tried to study a serious book on data structures and algorithms, it's been a disaster. I simply lack basic problem-solving skills. I try but I'm just not good at it. I mean, I can usually come up with working code to do whatever I've ever wanted to do, and I'm certainly thankful for that since it's ok if my personal projects aren't terribly efficient. But professional programming would never be a possibility for me. I'd get laughed out of an interview b/c of the convoluted/entirely-too-complicated ways I solve problems. I just wish I had a good sense of what algorithms/data structures to use where. That would certainly help me a lot! But I'm just not sure I "have what it takes", if you know what I mean, to develop that skill.
- stuartd 6y ago> I can usually come up with working code to do whatever I've ever wanted to do Been working as a programmer for 25 years, and I’ve never read (or considered reading, or felt the need to read) a book on data structures or algorithms. Also, I’ve seen plenty of people who are employed as programmers who simply cannot come up with working code. I don’t see how you can write working code without problem-solving skills, as by definition you’re solving a problem by writing working code..? (I don’t really have a point, sorry, this just resonated with me)
- ExtremisAndy 6y agoYeah, my wording wasn't great, so your confusion with my post is my fault for not being clearer. I obviously can solve problems to some degree otherwise I wouldn't be able to even create the simple tools I've made to solve some problems in my work. What I guess I'm trying to say is that I don't solve them WELL or efficiently. I'll use a DS/algorithm that, sure, technically works and gets the job done but is by no means the most efficient way to do it. Someone who has the common problem-solving sense I lack would have solved the problem more efficiently, more quickly and with more attractive code. That's what I was aiming for.
- ehutch79 6y agoThere was a story that i'm having trouble finding now, where researchers figured out a test for who would succeed in a compsci program. It didn't matter how many questions you got right on the test, but rather, if you answered the questions in a consistent matter. even if you were wrong, as long as you were wrong consistently, you'd do well. If you saw a question, and then a very similar problem 3 pages later, and answered them wildly differently, you wouldn't make it. the conclusion was that if you were building patterns in your brain, or using logic to build up answers, you were good to go.
- trustfundbaby 6y agoif you do find it please post it. that is an entirely fascinating idea.
- untog 6y agoI really don’t think that’s true at all. Just think of all the spreadsheets out there in the world: they aren’t programming by the strictest definition, but they have most of the components. To me, programming is simply an acquired skill. The vast majority of the population could do it.
- PaulDavisThe1st 6y agoCreating a solution to a defined problem is one thing. Understanding what the problem is ... that's something else.
- stuartd 6y ago> you have to be able to hold very large completely abstract systems in your brain. That's a different skill/aptitude than, for example, holding all the working parts of an internal combustion engine in your mind. Is it really different though? “Why isn’t this engine working?” [traces through combustion path to find problem] doesn’t require ‘holding all the steps in you mind’ but it does require knowing them and how they interact, whereas “how do I make this engine more efficient?” does require a mental model of the whole engine and how the parts interact? These seem broadly to me as analogous to respectively maintenance programming and systems development. Edit: I think the part I don’t understand is why you think the abstract system (the code) is qualitatively different from the concrete system (the engine).
- Consultant32452 6y agoYes, abstract thinking is different than concrete thinking. Thinking about an engine part is concrete thinking. Manipulating that part in imaginary 3d space in your mind is abstract thinking. 100% of programming is abstract thinking. Abstract and concrete thinking are done in different parts of the brain. Here's the first google result I found on the topic. I think this stuff is really interesting. https://www.goodtherapy.org/blog/psychpedia/abstract-thinking https://www.goodtherapy.org/blog/psychpedia/abstract-thinkin...