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.'
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.
Hate the way race and gender keep getting snuck into articles like this, just stop it already, it's not important.
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.
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.
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."
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.