Ad Exec: Learn To Code Or You're Dead To Me
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.'"
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, 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.
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.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
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.
Virtually serving coffee
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.
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.
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.