6 ms·
After 25+ years of coding and reading other people's code I would submit that the REAL problem is that the people who do code don't do it very well, some are do
by doctorwho 13y ago
After 25+ years of coding and reading other people's code I would submit that the REAL problem is that the people who do code don't do it very well, some are downright stupid.
There are a lot of people out there who will never be able to produce anything beyond "Hello World" and some will struggle to get that far.
What if we focused early on identifying kids with good problem solving skill and other aptitudes that might make them good programmers and encouraged them to explore those areas. What if we did that for every discipline?
No, that would mean taking an interest in kids instead of just herding them into classrooms where they can be safely ignored until they're 18. Let's keep doing that.
- ronaldx 13y agoI don't agree with your approach at all. You seem to start with an assumption that problem solving skill is innate and cannot be learned, which I strongly dispute. If you focus early on identifying kids with good skill, you might be pushing kids down the wrong path for them, or you might be excluding a lot of kids who will develop greater skill a little later, or exclude those with great creativity that could be applied to coding with a little tuition. Creating a group of people who are pre-approved for coding careers seems to me like an awful idea. In fact, I believe that this already exists, and that's where your problem comes from.
- ForHackernews 13y agoInnate ability may be a large factor in programming success. See: http://blog.codinghorror.com/separating-programming-sheep-from-non-programming-goats/ http://blog.codinghorror.com/separating-programming-sheep-fr... If true, it would explain the apparent contrast between many programmers' attitude of "C'mon, this is easy! I can't believe they pay me to do this." and non-programmers view of coding as abstruse and frustrating.
- ronaldx 13y agoThe study that Jeff comments on is dubious. The 'double hump' he discusses is nonsense. The study evidences it from test results where a group of people scored nearly-full marks and another group of people scored a lot lower, i.e. the inevitable result of any test where each question is testing the same skill.
- doctorwho 13y agoI didn't say "push" I said "encourage to explore" and I didn't mention any kind of cut off age where educators would stop evaluating kids, this would have to be a continual process not the "GATTACA" style career predetermination you fear. Realistically, there is a segment of the population that will never be able to acquire skills that good coders have, or have acquired, regardless of how much you try to teach them. The "Hello World" crowd. I went to university with some of them. If you stop and REALLY think about it "everyone should learn to code" makes about as much sense as "everyone should learn to repair their own car". Would everyone like to be able to repair their own car? Sure. Would this be a useful skill to have? Sure. Is everyone capable? Absolutely not. How about this.. go and spend a few hundred hours to acquire a skill you may never use again. It has to be one with which you have had no previous exposure or proficiency. Sounds a bit stupid when it's put that way doesn't it? That's essentially what "everyone should learn to code" really sounds like.
- ronaldx 13y ago> I didn't say "push" I said "encourage to explore" and I didn't mention any kind of cut off age where educators would stop evaluating kids, this would have to be a continual process not the "GATTACA" style career predetermination you fear. You would have to be more specific about what you are proposing, because it really sounds like testing for career predetermination.
- rokhayakebe 13y agoI think EVERYONE should learn to code just as everyone learns ARITHMETIC. Imagine a world where only a few of us knew how to balance an account, or a few of us understood how much will they have left if they spent x amount at the gas station. Now imagine a world where everybody has a basic ability to develop software. All the above being said, the beginning is not programming, but learning how to Think, Read, and Write. Not programming language, but human language. When we have learned some basic thinking process (logic), then having the ability to easily program will follow.
- deleted 13y ago[deleted]
- FLUX-YOU 13y ago>Now imagine a world where everybody has a basic ability to develop software. Pointless, I think. They'll only be able to make the most basic of software. Existing programmers complain about bad code and naive solutions already. This will only compound the issue. I'm not sure if programming teaches critical thinking, reading and writing any better than the existing subjects we have.
- rokhayakebe 13y agoPointless, I think. They'll only be able to make the most basic of software. If every doctor could write their own SQL queries against their own data, if the dentist office manager could pull the list of customers who live within 2 miles, if the marketeer can put his own static site very quickly, if the scientist can write code the parses his text and automatically pull related text from wikipedia and links to relevant papers written between 1738 and 1776. Why must they wait for you and I to do this? Why the wait? I'm not sure if programming teaches critical thinking, reading and writing any better than the existing subjects we have. My point is that learning critical thinking, reading, and writing is what we should focus on because it ultimately makes better programmers. For what is a good program if not a well thought through problem (logic) turned into a few lines of text (writing, reading) that provide the solution.
- deleted 13y ago[deleted]
- fasteddie31003 13y ago"Problem solving skills" is an overly broad, corporate word, which is just as bad as synergy, in my opinion. You cannot test for "problem solving skills". However, you can test for more concrete definitions of intelligence (http://en.wikipedia.org/wiki/Theory_of_multiple_intelligences http://en.wikipedia.org/wiki/Theory_of_multiple_intelligence...). I am a decent programmer and I was never amazing at formal schooling. I always scored really high for visual–spatial intelligence in standardized intelligence while in school. My councilors told me I was good at reading graphs and maps and maybe I should go into geography. Fast-fowrard to today when I am a programmer and I've read that visual-spacial intelligence is one of the most clear predictors of a programmer's ability. Too bad my high school consoler thought I should go into geography and not programming. The real advice he should have given me was skip the whole college thing and learn how to program on your own, but that probably would not have flied with the powers that be.
- ZeroGravitas 13y agoI was intrigued by your comment about visual-spatial intelligence predicting programmer ability so I googled it. What I found suggested it predicted computing careers (along with science and engineering, and negatively predicting Law, Social Sciences end Education) not talent at programming (or Law or Engineering etc.). Also, it correlates with being male (though the researchers claim that female scores can be boosted with some training). It's not clear if that was taken into account when calculating the careers.
- ChristofferSN 13y agoI think that one of the reasons we see so much bad code, is that customers have a very hard time evaluating the quality of the code, and therefore both problems could be solved by learning more people how to write code. I feel that I can write as bad code as I want to, and still get away with it (not that I do it), since nobody realizes it is bad until another programmer works on it which might be years later, or even never. If bad programmers were identified easier, they would be forced to go out of business or start to make better programs! And with more people that can actually code, people wouldn't be forced to choose the bad programmers.
- doctorwho 13y agoLawyers have to pass a bar exam. Doctors have to get through medical school and supervised internships. Real engineers have to go to an accredited school. Truck drivers have to pass a test and prove they can drive a damned truck before they get the job. People aren't forced to choose bad programmers, they don't know bad programmers from good ones or even barely competent ones. What do you have to do to get hired as a coder? Put a few buzzwords on your resume, spout them back in an interview to someone who has no idea what they mean and frantically google whatever you don't know on the job. This is why everyone wants you to take a whiteboard test before they'll hire you now. It's all the due diligence they can afford. Sadly, a simple FizzBuzz test would disqualify most "coders". http://blog.codinghorror.com/why-cant-programmers-program/ http://blog.codinghorror.com/why-cant-programmers-program/