Ad Exec: Learn To Code Or You're Dead To Me 339
theodp writes "In a widely-read WSJ Op-Ed, English major Kirk McDonald, president of online ad optimization service PubMatic, informed college grads that he considers them unemployable unless they can claim familiarity with at least two programming languages. 'Teach yourself just enough of the grammar and the logic of computer languages to be able to see the big picture,' McDonald advises. 'Get acquainted with APIs. Dabble in a bit of Python. For most employers, that would be more than enough.' Over at Typical Programmer, Greg Jorgensen is not impressed. 'I have some complaints about this "everyone must code" movement,' Jorgensen writes, 'and Mr. McDonald's article gives me a starting point because he touched on so many of them.'"
O'rly? (Score:5, Insightful)
Guy who owns a technical company tells people they're no good to him if they can't be technical.
News at 11.
Moronic (Score:5, Insightful)
There are thousands of occupations with no need for programming skills. Ah, how about nursing, for instance. This is just an ad salesman trying to give off the impression of being relevant in this day and age. He's an ad salesman. An idiot.
This sounds like a terrible idea. (Score:5, Insightful)
I've been a programmer for 15 years now, and the absolute worst people to work with are the ones who know just enough about programming that they vastly overestimate their knowledge. I don't want to work with a bunch of people who are on top of Mt. Stupid [imgur.com], least of all some exec who thinks a tiny bit of coding knowledge will help you make estimates about how long a bit project will take.
Let programmers program. Be serious about it, or don't do it.
Actual coding, no. Knowing the basics, yes. (Score:5, Insightful)
Everyone should know at least the basics of what is part of our daily lives.
Everyone should know how to read and write, even if they're not professional authors (and, like me, are pretty bad at it in general)
Everyone should know basic math, even if they never use it, at least to be able to calculate tip at the restaurant and be able to read their tax report.
Everyone should know enough biology to be able to make a basic informed decision when discussing a problem with their doctor or dentist.
Everyone should know at least basic economics and finance, so that they can at least understand the graphs on their 401k.
And.....everyone should know at least the very very very elementary basics of programming, as it is now part of our everyday lives. No need to know python and APIs or how to compile a linux kernel. Know just enough to understand what a conditional and a loop statement is, why software can crash, and why a single programmer cannot write an entire ERP suite in 2 weeks by themselves.
A programming language versus a framework (Score:2, Insightful)
I'd consider myself an experienced web developer (PHP, CSS, HTML. JS, DOM API). I wanted to learn more languages, but I found it very inaccessible to learn different "languages" since it seems these are merged nowadays in frameworks with deep learning curves. It tried Visual studio 2010, Titanium frameworks and some others. Either giving me dependencies-error during installation or a complexity level that feels disastrous to cope with as a newbie.
I just feel that it seems most programmers/developers and their tools want to protect their creed of "language" with a steep learning curve to protect their profession & expertise, and make it as inaccessible for newbies as possible. VB6 compared to the latter Visual VB is an example of simplicity morphed into "enterprise level" development.
Why don't people start to differentiate in the actual "language" and the bloated "framework".
Re:Jorgenson is full of shit (Score:5, Insightful)
if they just sit down with a book and type examples
Actually, he's right. You can't just sit down with a book and type examples - you also have to extract patterns from the examples and form a mental model that allows you to generalize over those examples.
Re:This sounds like a terrible idea. (Score:3, Insightful)
This.
FTS: "Teach yourself just enough of the grammar and the logic of computer languages to be able to see the big picture." Yeahhhh, I'm gonna have to go ahead & disagree with you there, yeahhhhh. I think we can all remember when we first had a taste of a programming languauge or 2, and there is no way one can "see the big picture" after simply dabbling with a language -- it takes a lot of hours of sustained effort & dealing with many failures along the way before gaining an understanding. This asshat is just trying to sound like a tough guy.
Re:This guy is a fucking idiot (Score:5, Insightful)
Pretty much every programmer I've met knows more than one language.
I have used atleast several dozen, "know" about 5 or 6 and have forgotten a couple as well (and am an expert in none).
Learning a programming language is easy. Knowing how to solve a problem is hard.
He's Right (Score:3, Insightful)
The situation: You've got a thousand applicants. You've got one or two job openings.
If you don't have the slightest idea what makes the internet and the information age run, you probably don't deserve the job. But the converse is also true: programmers should learn something of art, literature, and history. Too many software people don't even know anything about science. A person that can't think broadly in a well-rounded way is useless.
Right conclusion, wrong arguments (Score:5, Insightful)
I think that everyone should learn to code. Not because it will make them a programmer. Not because it will enable them to estimate how long something will take, not least because experienced programmers are legendarily bad at doing that anyway. Everyone should learn to program because programming makes the modern world go round, and it's good for everyone to have at least an inkling of what that involves.
We teach a lot of kids chemistry, without any expectation that they will invent a new compound that will change the world. We teach a lot of kids physics, without any expectation that they'll make a significant contribution to subatomic particle research. We teach most kids to do creative writing and poetry, without expecting the vast majority of them to produce fiction or poetry of publishable quality. I don't see why we wouldn't teach programming alongside all those other topics that most students never master and never "need".
One argument for teaching a lot of academic subjects widely is that the skills you learn along the way have wider application than the topic itself. And it seems to me that this argument holds at least as well for programming as for, say, pure math. As programmers keep saying, programming is about analysis, structure, models... is there really no application whatsoever for those skills outside of hardcore programming? Does no-one ever wish that their managers had a better grasp of "system"? Yes, of course, you can acquire these skills in other places. But the thing about programming, pretty much from the outset, is that your pious beliefs about system will stop your code from performing correctly unless those beliefs are reasonably accurate. I sometimes tell people that I do executable philisophy - it's all about logic, but, unlike the philosopher, my logic has to work.
No, a bit of Python won't enable people to produce estimates for projects. But it may enable managers to understand why writing code once to do something that needs doing often is often a good plan (and, also, why it sometimes isn't). It may enable managers to understand why "Can we just change this one assumption" at the end of a project may involve restarting the entire project.
Yes, a little knowledge is a dangerous thing. But the little knowledge is out there already on the TV station of your choice. I don't even like Python that much, but I'd still much rather deal with erroneous assumptions based on a bit of Python experience than deal with erroneous assumptions based on watching Mission Impossible and NCIS.
Re:O'rly? (Score:5, Insightful)
Job creep. This is the kind of who wants people to be able to do much more than their normal job descriptions.
You want to be a graphic artist and create artwork for our ads? That's great! If you can't mark them up in HTML & Javascript, and code the PHP/PERL/Python backend, then GTFO!
You get what you pay for, asshat. If you hire "amateur" or non-programmers to do your programming then enjoy the fruits of your laborers.
Re:Moronic (Score:4, Insightful)
Due to the magic of capitalism, most people don't work for themselves (hence the term 'employment' at the root of this discussion), and therefore have a limited set of tasks in their jobs. For instance, a programmer doesn't need cooking skills, despite cooking being of enormous daily importance compared to churning out code. Likewise, most cafeteria personnel does not need to be able to code, as any coding job is done by someone else, preferably someone more skilled at the task. Everyone doing everything is inefficient, as is everyone doing one thing, whether that thing is cooking or coding or laundry or being a doctor or whatever.
Everyone coding in every job is simply not economically sensible. The idea is pure idiocy.
Re:Let me guess (Score:2, Insightful)
Ah, so you're still at the "I know everything" stage of programmer development.
Re:This sounds like a terrible idea. (Score:5, Insightful)
maybe if you rephrase it something like -
maybe you should consider picking up a programming language. it will broaden your
horizons - in the same way that learning a little bit of a french, or the clarinet, or how to
graft fruit trees would.
if i paint on the weekends, maybe i can better appreciate the work of the masters. that
doesn't mean i'm a good painter.
i agree that it has little or no bearing on how good you are at your real work (unless you're
a machinist, a spammer, a scientist, or some discipline that uses computers intimately)
Let me rephrase it: "A little knowledge is a dangerous thing."
While I think that a basic understanding can be valuable in knowing generally what can and cannot be expected from people in other professions, I can tell horror stories. Like the business analyst who found out that core memory does an erase-read cycle and demanded that the COBOL programmers immediately re-initialize all their variables everytime they read them. Or the tech company executive who insisted that customers buy caching disk controllers long after caching had become something built into the drive, not the controller.
Have some respect. Software development is no more an "All You Have To Do Is..." profession than neurosurgery is. A Boy Scout can bandage your finger or write basic HTML, but do you want him manhandling your liver? Too many people stand at the edge of the pond and think it's the same thing as the ocean.
Re:Moronic (Score:5, Insightful)
Yeah, and if you programmers were half as smart as you think you are, you'd notice that if all employees were to stop and model every little repeatable task on their computers, you'd have lots of employees stopping and modelling all the time. You'd have dozens of different models and no standard for how things should be done. One employee calls in sick, and there's no one to replace her because everyone does the job slightly differently and the whole place is in total chaos. How about leaving the programming to one person who's really good at it, or a small team, and just have the rest of the workforce report their problems to them.
I swear, if you programmers were a little less infatuated with your skill set, and a bit more attentive to how your products actually work, software wouldn't suck nearly as much.
Re:Moronic (Score:2, Insightful)
b) You know a little about programming and you ask from yourself: I wonder could the computer do this task for me.
And then you buy yourself a huge lawsuit because the person doing programming as a hobby has no idea about how to handle HIPAA regulations in coding, how to handle concurrency when talking to the database, or much about security and opens a nice security hole.
Now orders are messed up, people have died because they didn't get medication because their data was screwed up, and the hospital is facing huge lawsuits.
Kind of as dumb of an idea as allowing the programmers to give IV's and perscribe medications to the patients.
There is a reason people specialize in careers these days.
Re:O'rly? (Score:5, Insightful)
If you want only graphics artists who can program, prepare to have some really shitty artwork.
If you only hire graphic artists that don't have a clue about programming then they will waste a lot of time manually performing tasks that could be easily automated. I once had a GA spend two weeks resizing and changing the background color of several hundred images. I could have written a script to do that in a few minutes, and it could have run in a few seconds. Even if he couldn't write the code himself, if he had a few clues about programming, he would have at least have had the sense to ask for help rather than wasting two weeks.
That was just once incident, but I have seen many like it. In the modern world, nearly everyone should have a basic mental model of how computers work and what they are capable of. They don't need to be coders, but they should have a basic understanding of what coders do.
Re:Let me guess (Score:1, Insightful)
Please don't work on anything critical. Ever.
Re:O'rly? (Score:4, Insightful)
And if you think you can just write a custom program in 10 minutes that will do that for Photoshop files with dozens of layers and effects, you're the deluded one.
Re:"Most employers?" "More than enough?" WTF! (Score:5, Insightful)
Interesting. If you want to work for the successful companies I've worked for, you need to be intelligent.
People with non-technical degrees still qualify. I can teach someone intelligent to program a hell of a lot more easily than I can teach some muppet with a technical degree.
Fair's fair... (Score:5, Insightful)
But when you come by looking to sell ads for our hospital, you need to demonstrate knowledge of least a couple of basic surgical procedures. Someone who doesn't understand surgery shouldn't be making ads for us. You don't need to be able to fix an aortic dissection on your own, but you should at least know what instruments to use, and the overall procedure.
Re:O'rly? (Score:5, Insightful)
If you want only graphics artists who can program, prepare to have some really shitty artwork. Any artist worth shit is not going to be a programmer because they'll have spent that time honing their artistic skills instead of wasting it on learning how to code.
There is a middle ground, you know.
Nobody would expect an expert chemist to be an expert statistician. They are different jobs requiring different skill sets. But would you hire a chemist who had no understanding of statistics whatsoever?
We are already at the point where pretty much every professional job requires at least some number literacy, and some knowledge of project management, and any number of other things to a not-especially-onerous level of competence. Any artist "worth shit" knows how to create art, but they also know how to manage their time, and how to manage colleagues and clients (and possibly underlings), and how to manage a budget (even if it's only a modest budget). An artist without these ancillary skills, or a lack of willingness to acquire them, is useless.
We are getting to the point where for some professions, code literacy is another one of these required ancillary skills.
Re:O'rly? (Score:4, Insightful)