Ready CEO: Coding Snobs Are Not Helping Our Children Prepare For The Future (qz.com)
jader3rd writes: Quartz has an article written by the CEO of Ready, David S. Bennahum, about how public education should be embracing computer science, and how existing programmers don't like these efforts because they feel that doing so will result in kids being exposed to programming in a manner different then how they were introduced to it. Bennahum writes: "Writing software today is eerily similar to what it was like in the late 1950s, when people sat at terminals and wrote COBOL programs. And like the late 1950s, the stereotype of the coder is largely unchanged: mostly white guys with deep math skills, and minimal extroversion. Back in the Sputnik-era, people thought of programmers as a priesthood in lab coats: the sole keepers of knowledge that ran these exotic, and mysterious room-sized machines. Today the priesthood is a little hipper -- lab coats have long given way to a countercultural vibe -- but it's still a priesthood, perhaps more druidic than Jesuitic, but a priesthood nonetheless, largely comprised of white men." "Instead of attempting to lure code-literate teachers away from Silicon Valley, we need to revolutionize the way coding is done. Rather than fit the person to the tool, let's fit the tool to the person. Pop computing can help us get there, offering a gloriously diverse array of tools to match our gloriously diverse species. It's only a matter of time before the process of making software itself is transformed, from one that requires a mastery of syntax -- the precise stringing of sentences needed to command a computer -- to the mastery of logic. Logic is the essence of software creation, and the second step after mastering syntax.'
Exposing kids to computers will turn too many of them into sad losers who will become so engrossed with machines as to forget life is about human interaction. By the time they will have realized them, it will be too late. Teach them sports, it stimulates competitivity and teamwork. You don't want to be code monkey.
Writing software today is eerily similar to what it was like in the late 1950s, when people sat at keypunch machines and wrote COBOL programs.
Not to mention that the person doing the keypunching was not necessarily the person who wrote the code.
If it weren't for deadlines, nothing would be late.
I will not apologize for, rightfully belittling to the point of tears, child-people who decide to uses tabs in their code instead of spaces. That's not snobbery; that's a moral imperative.
You still need the math background necessary to evaluate algorithms. Intuition is nice and all but when programmers work together as a team, there is need for formal methods because not everyone's intuition leads them to the same place.
As you can see from my writing style, English language is optional. Minimal communication skills necessary would be to grunt and gesture at a whiteboard. (half-kidding)
“Common sense is not so common.” — Voltaire
Hate the way race and gender keep getting snuck into articles like this, just stop it already, it's not important.
existing programmers don't like these efforts because they feel that doing so will result in kids being exposed to programming in a manner different then how they were introduced to it
Right, we don't like it when you do it in a way that is unlikely to be effective in helping more people learn to program and learn to enjoy programming. Because most of us like nothing more than the joy of spreading the love of programming.
white guys ... largely comprised of white men
Oh, baloney. My university UTA was nicknamed the "University of TenThousand Asians." I'd go to the computer lab and come out with an accent. I once commented that a coworker who was flying back to Boston didn't sound like he was from Boston because he had a "normal midwestern accent" and a startled colleague said "jdavidb - he has a thick Indian accent! What are you talking about?" I didn't even notice because that was just normal to me.
Most programmers I know at least online have a leftist or multicultural bent, and nearly all of them love to help new programmers who show an aptitude.
My kids are homeschooled and are learning to program, and we're quite multicultural with weekly attendance at a bilingual church. I don't think more institutionalized schooling is the solution here, and it's not that I want to reserve programming to a priesthood of white men.
Secession is the right of all sentient beings.
Neither I or my colleagues are in any way anti-social or socially awkward. Being a developer is a job the same as any other.
The idea that the old style was bad because it required "deep math skills" is wrong headed. Computer science *requires* deep math skills; computer science is a branch of mathematics essentially. The writer wants us to focus on logic, but logic is mathematics!
If we lower the bar and say that we just talking about 9-to-5 programming for a basic salary with no leadership or design expectations, then maybe you don't need any math or engineering or domain knowledge. But that's not aiming high, that's aiming for an entry level job that lasts 40 years.
We're not trying to keep people out by being snobs, instead we're trying to stop the long slow decline of computer science and computing. There are applications of computers that require absolutely top notch people, especially as the uses of computers become more common you want computers to be designed, built, and programmed by very smart people. Do you really want to fly on a plane programmed by someone who skipped college because it was too time consuming?
Look at the math this way..
Student: I don't need to learn boring calculus because computers can do that for us. I'm a cool programmer dammit, not a math nerd.
Teacher: Ok, write a program to take the derivative of this equation.
Student, one week later: This is too hard... Don't they have experts for this sort of thing?
Teacher: Never mind. Just give me the burger and small fries.
Hey CEO Asshat;
Please go follow around a programmer for a week, a la "dirty jobs".
Why is it this guy seems to think that "programming" is going to become building blocks that you slap together?
Someone still needs to build those blocks. A brickmaker isn't a Mason, but a programmer needs to be both.
It scares me that these Executive types think making software can be reduced to the simplicity of making Big Macs on an assembly line.
"Writing software today is eerily similar to what it was like in the late 1950s, when people sat at terminals and wrote COBOL programs. And like the late 1950s, the stereotype of the coder is largely unchanged: mostly white guys with deep math skills, and minimal extroversion
The guy who wants to change the world, can't keep from relying on stereotypes to understand the world.
Also programmers don't tend to have 'deep math skills' (including myself). It's just that compared to this CEO, understanding basic algebra counts as deep math skills.
"First they came for the slanderers and i said nothing."
"When I see high school freshman creating their own apps, and they absolutely love doing it, I see the future of cheap and exploitable labor for the corporation."- David S. Bennahum
We're not opposed to all this bullshit "everyone should code" crap because we're anti-social curmudgeons; it's because we all understand that it's just meant to try to flood the job market with cheap labor.
No, that link you posted to a web comic we've all seen a hundred times is not "obligatory."
Most people have enough writing skill to write messages and/or email (or even letter via postal mail), but very very few have the aptitude needed to be a professional writer.
Similarly, you can teach programming to a lot of people, but very very few will have the aptitude to become real software developers.
I'm all for teaching kids programming. Probably will find a few more who do have the aptitude than would come forward on their own.
Just don't expect a new "army" of software developers. We already teach kids writing, but very very few ever become real writers. No different for software developers.
Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
I'd like to force guys who think like this to fly in a jet plane designed by a generation of aviation engineers who didn't need to do all that dopey math and science stuff the the current priesthood forces on its members, or drive across big bridges designed by civil engineers who didn't fall for the idea that they needed to learn about the minutia of stresses and strains and building materials and soil types.
Seriously? Programming is the trivial part. The further I have gotten in my career the less coding I do- figuring out requirements and how to make business workflows work is the hard part and don't require coding.
love is just extroverted narcissism
BULLSHIT!
stop lying. this does not help ANYONE when you keep saying the same incorrect bull over and over and over (and over and over).
go to silicon valley. walk the hallways of a cisco or similar. breakdown is roughly 90% indian, 8% various asian and the rest is western-born.
white men? you gotta be kidding me. are you writing this from kansas or something? because where I sit, in the bay area, whites are the smallest minority. walk down cupertino and its almost all chinese. walk most places in the bay area, its all indian. you hear hindi and mandarin and some cantonese along with korean and vietnamese - but english - not much english anymore.
sick of this lock-out culture. if you are not one of the imports, you are not a first choice for a job in this area.
I wonder who keeps paying the liars to lie to everyone? is this swj gone full-retard? or is this just someone from outside tech areas who write from their ivory tower, totally disconnected from reality?
or maybe everyone who writes this drivel KNOWS its a lie but has the agenda to keep pushing MORE imports into comp-sci and asking for more h1b's to enter the US.
or, finally, its just a ploy to get clicks. they know it will get many of us angry and (like me) it caused me to write this and hit 'submit', which gets them clicks.
no matter what the reason is, I'm sick and tired of this crap.
--
"It is now safe to switch off your computer."
FTA: ..a priesthood nonetheless, largely comprised of white men.
Some of us are Asian, you insensitive clod.
Agreed, this guy needs to be stabbed in the face with a rusty crab.
If you read past the first paragraph or two of TFA, you can see what is really up, he is shilling his company in this puff piece, talking about how whatever shitty software Ready is making will solve all education's woes by teaching kids to code in a completely new and different way.
"Our efforts at Ready, a platform that enables kids to make games, apps, whatever they want, without knowing a computer language, are designed to offer a new approach to broadening access to code literacy."
As a senior coder who has written a lot of code, this guy sounds like a complete tool that I would not trust with two burned out matches and a short piece of string, let alone the education of the next generation of computer scientists.
HA! I just wasted some of your bandwidth with a frivolous sig!
Having dealt with human beings occationally throughout my career, my professional advice is to avoid interacting with them when possible, and bear it as best as you can when there is no other option.
I would have loved to be a "people person". At a young age I saw how self-centered, narrow-minded and generally stupid (not people who are genuinely retarded, but worse - they refuse to think) most people really are. They can't even comprehend that it's rude as hell to needlessly block doorways, let alone understand the finer points of etiquette. Whatever they want, they feel entitled to it. When someone else wants the same, they're "wrong" somehow. They lie to themselves and each other at an astonishing rate, without realizing (or caring) how transparent they really are.
They pour tremendous energy into TV and shallow social media, treating these things as if the drama and minutia of people they don't know and probably haven't met are really important, while the mystery and wonder of life happens right in front of them, unnoticed. They take things like tech for granted, never gaining any skill over time, never having the slightest curiosity about how something might work. They call tech support and wait on hold for 30-45 minutes to ask questions that are in the first pages of the FAQ, the help file, the README, the web site, etc. They ask the store clerk where something is when they're standing in front of it and they do it routinely - ask anyone who owns a store. They just generally hate lifting a finger to do anything on their own. Nothing is ever their fault including their poor lifestyle choices.
They like vague reasoning when it supports what they already do, and get upset anytime it doesn't. Yes, interaction with these people is generally to your own detriment. Avoiding them is best. You're not going to successfully change them. I would love to be a "people person" but not in such an unenlightened culture. Not in a culture that thinks being a self-centered douchebag (ironically, in the same manner as many others) is the same thing as being an individual.
I wasn't always a misanthrope, but contact with these people has made me into one. The best you can do is find a good man/woman to settle down with, and carefully select a few friends who don't fit the general social pattern. Carve out your own little niche of people who aren't like this, be grateful that you could, and enjoy what you have.
You're both wrong. I started writing software before I knew what multiplication meant. Computer science, with the sole exception of the statistics-heavy research that you do at grad school level, doesn't require even the most basic math skills. They're completely and totally orthogonal. The fact that the computer is doing lots of math under the hood doesn't mean the programmer needs to know or care. In fact, the fallacious belief that CS uses lots of math and thus must be hard is the primary reason that so few people take an interest in CS, even though far more people are capable of understanding CS than, for example, trig.
The reality is that writing software is nothing more than telling computers what to do, then figuring out why your instructions didn't have the desired effect. To write software, you have to be able to understand the syntax, and you have to be able to simultaneously look at small details (e.g. the code in a particular function) while putting them in the context of a larger whole (the program). You have to be able to understand how small changes in one place can have huge effects on the opposite side of the app by being able to visualize data flow from point A to point B. None of these things involve math; it's all spatial relationships and abstract thinking.
Incidentally, the student in your example is right. 99.999% of programmers won't ever need calculus. In seventeen years in the industry, I haven't used calculus even once. The highest math I've dealt with was a bit of matrix math and various transforms (e.g. DCT, FFT) between time domain and frequency domain. And even then, I can count the number of times that I did that on one hand. And not once did I ever have to actually implement the transform, because there are already implementations for such things that you can bring in as libraries. Most of the hard math is already done for you. This does, of course, mean that there must always be a few math nerds involved in writing computer software, because somebody has to create and maintain those libraries, but the vast majority of programmers just need to understand what it does at a very high level.
By contrast, every programmer needs to get good at architecting software properly. Of course, you can somewhat learn that as you go along, so long as you're exposed to good code and can use it as an example (or bad code, and can use it as a cautionary tale).
Now let me turn that around. Do you really want apps on your phone written by people who are used to writing software for the avionics systems on aircraft? Those folks churn out code at a rate that is orders of magnitude too slow. Different types of software require different types of programmers. There will always be a few people who need to do mission-critical, low-level coding. The rest of the software world can then import their framework and design apps to use it, and there's nothing wrong with that.
Check out my sci-fi/humor trilogy at PatriotsBooks.
Since when was syntax considered the hard part? Most people in introductory courses grasp it quickly, except for maybe a few tricky things like * in C being overloaded for pointers and multiplication. Otherwise, the logic has always been the hard part.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Unless you want to spend your life doing academic research, if you're learning CS, you're learning it with the intent to use it writing software. So in practical terms, yes, computer science and programming are basically the same thing the moment you step off that platform with your degree in hand.
With that said, computer science includes a number of related fields. Programming is just one aspect of CS as a whole. Many of the others fields use even less math, and a few of them use more. For example:
And so on.
Check out my sci-fi/humor trilogy at PatriotsBooks.
Understanding the difference between finding duplicate records by walking through a million record database and comparing each record against all other records, and doing a quicksort and just looking for duplicates as you step through the list in order, is real math. It ain't calculus, but if you don't understand the deep math behind efficient algorithms, you can't be a great programmer.