7 ms·
Sorry, Digital Ad Exec, I Probably Don’t Want To Work For You
- clark-kent 14y agoI agree saying everyone must learn to code is just like a designer saying "everyone must learn graphics design and photoshop".
- dasil003 14y agoIn this case it's more like an, um, ad exec saying everyone must learn graphic design.
- deleted 14y ago[deleted]
- jasonlotito 14y agoYeah! Or like saying every needs to learn algebra or geometry! Biology or chemistry! Or heck, history!
- pidg 14y agoExactly. I can't help feeling some people are conflating the few people saying "everyone must code" with the larger number of those saying "anyone CAN code" here. Everyone should know a bit about coding, just as everyone should know a bit about design and a bit about how to write well. There's nothing wrong with encouraging people to give it a go, and there's nothing wrong with learning the basics of coding regardless of what role you're in. Just be prepared to let the pros do their jobs and don't assume your small amount of knowledge is equal (or superior).
- jasallen 14y agohuh. I kinda feel like everyone should learn a little graphic design. I get that I'm at odds with the general feeling here, but, eh, I'm comfortable being contrarian.
- gregjor 14y agoI work mostly on web applications. Everyone is a web designer when they are paying the bill, despite knowing nothing about design, graphics, typography, usability, or web technologies. Knowing a little bit of Javascript would almost certainly make them even worse to work for.
- evan_ 14y ago"Are you using a for loop here? Why not, I learned that for loops are basically the best loop, I don't want to pay for your $.each nonsense. And I want to see you use some switch statements over here too."
- gregjor 14y agoDon't laugh. I worked on a multi-million dollar project that was derailed for a couple of weeks by an analyst who insisted that doing a bubble sort on unsorted results from an Oracle query would be faster than using a SQL ORDER BY. This was based on a half-remembered class that used bubble sort. Pointing out that bubble sort is usually given as an example of an expensive sort had no effect. Ultimately Oracle won, of course -- it's orders of magnitude faster. But many hours were wasted and tempers flared.
- JamesAcorn 14y agoJust curious.. why didn't anyone run a quick benchmark of both methods?
- gregjor 14y agoProject politics. We did run benchmarks and Oracle's ORDER BY clearly came out ahead, but the analyst espousing bubble sort was entrenched and dismissed all benchmarks as special cases.
- artas_bartas 14y agoOK, I am a business type guy and I have to say... I completely agree with this article. In my experience, developers become good at what they do not through learning languages, but rather through mastering three basic skills: a) modeling business specs into discrete technical steps (loops, workflows, calls, etc.); b) developing intuition for tackling bugs, e.g. knowing where to look for causes and how to fix them quickly, even if it often sounds like a completely illogical thing to do; c) developing and sticking to well-defined procedures, e.g. documenting code, making timely backups, going through security checklists and so on. So whenever I need to hire a new developer for my projects, I try to assess how well he fits those three criteria.
- hga 14y agoDo you realize how utterly rare you are? You've definitely homed in on three very important parts of being a good programmer as I define it. You're probably assuming some basic things like good communications (a won't happen without that) and using source code control when the project is big enough (I assume a part of c, but indeed backups come first and in small companies I tended to take that over) ... and I'm struggling to think of something you haven't covered that's relevant to your domain. And, yeah, it sounds completely illogical, but after a while if you're good you do develop "intuition" that guides you in quickly finding bugs.
- ericb 14y agoThat is a great starting point, and will probably get you better than average candidates if you can figure out how to tease out that information without knowing how to code yourself. Compared to the average non-coders approach, that will get you really far. I'm curious what you ask in interviews.
- artas_bartas 14y agoEric, I deal with my programming handicap in several ways. The easiest thing to do is to ask new candidates to walk me through how they would model a specific business problem we've worked on before. Since I like to listen in on developer talk, I am usually aware of technical challenges that different approaches entail and listen to whether the candidate spots them or offers a way to deal with them when prompted. I am also very curious to see how the candidate approaches the problem itself. In my experience, average developers feel they are done with the task when they explain how the program will work, while great developers are done when they explain how the program will work even when something it depends on doesn't work (e.g. how to you handle errors and outliers). Obviously, I ask my developer colleagues to evaluate candidate's sample code. Talking about testing is pretty fun too, just asking candidates what were the most nerve-wrecking debugging stories they had, reveals how much experience they have in this area. Then I would drill the candidate about testing routines and heuristics he employs; rule of the thumb is that the more specific candidate is, the more he knows about testing. Listening to heuristics also gives you an impression of how creative/crazy people are. Finally, walking through a specific project the candidate has worked on in the (recent) past helps to understand what workflows & routines he follows in his daily routines. Here though you have to remember to ask clarifying questions along the way.
- yaok 14y agoIn the future, only programmers have money. >I never learned to skateboard. I can’t dance. I can’t play a musical instrument. I struggle learning foreign languages. I know people who can do those things well. The reason people need to become programmers is because, while people love to skateboard and dance, that shit don't pay. Programming gets money. It's the only white collar job that doesn't artificially limit the number of people entering the field--in fact programmers seem to actively support importing foreign workers to compete with them for jobs. That's a new development in history. A group of professionals eager to give a helping hand to low-wage competition. Expect more dilution of the talent pool.
- michaelochurch 14y agoThe economics of programming are complicated and still unexplored. We're the leading front of the clash between labor finitism vs. labor progressivism. There's infinite demand for problem solving: making existing processes better. The limiting factor there is trust. How do you make people trust your judgement enough that they'll take your suggestions seriously? Where there is finite (and plummeting) demand is over subordinate labor: pre-defined work that someone has already decided to pay a fixed amount for. All of that stuff is getting off-loaded to machines or off-shored to low-wage countries. Labor finitism is the idea that there's a finite amount of paid subordinate work to go around and that we're doomed to compete for a waning quantity of it. Labor progressivism is the idea that, when one block of grunt work is automated, it frees up energy to move to something more interesting (and less subordinate, but more profitable). Fifty years ago, it didn't matter whether labor finitism or progressivism was a better model of the "true" underlying behavior of society, because we were at full employment and technology didn't change as fast as it does now. Now, it's a genuine and unresolved question: are we doing the right thing when we, in earnest, do the best job we can at making existing processes more effective? Are we building the skills and credibility that will help us graduate to better work, or are we programming ourselves out of jobs and shutting down the middle class? Right now, it's not clear which. I'd say that labor progressivism is winning, but just barely. For labor progressivism to be true, people need credibility and trust and risk allowance (savings) and those were traditionally won by taking subordinate jobs for ~10 years, but those are disappearing because labor finitism is correct over subordinate labor. The result of this is that the terms of subordinate labor are going to hell, and the people most likely to win in the new economy are those who can find a way to leapfrog that increasingly unprofitable slog.
- onemorepassword 14y agoIf there's one thing worse than clueless execs that don't understand what programmers do, it's clueless ego-maniacal execs that try to "educate" the rest of the world about what programmers do. Forget about the "probably". Most people on HN would want to avoid an employer like that like the plague. Most employers can be taught about how to get the best out of their developers, and most of the time all it takes is programmers to open their mouths instead of bitching on HN or proggit. But with an ego like mr. McDonald, who shows so little understanding about what it means to be a programmer but is totally convinced he knows it all, I wouldn't bother trying.
- up_and_up 14y ago> Suggesting that just anyone can learn programming in a summer spent with Python tutorials and getting “acquainted with APIs” trivializes the amount of real time and effort required to learn programming. I am a self taught programmer and began learning about 6 years ago. I have spent probably a 1000 late nights hacking and learning in addition to working fulltime as a developer. Most of the other developers/programmers/engineers that I know have done the same. It takes MANY hours of debugging projects/issues and problems to gain a core understanding of the art of software development IN ADDITION to ones chosen language and associated toolchain. Anyone who thinks they can learn this and be hirable/good without INVESTING serious time and energy is kidding themselves. 'Professional Programming' is a craft that takes time to cultivate and master.
- rollingthedeep 14y agoSpot on! I've been programming for over 15 years and I feel the same way..
- eksith 14y agoYeah, this "everyone must code" malarkey has gone too far. If anything, it should only be those who can find genuine interest in code. I mean I'd be a pretty terrible medical student. I will say that the ability to find patterns is crucial to learning natural languages as much as programming. As is the important of finding context. Likewise being "technical" as in being comfortable with technology and a willingness and patience to learn it are important as well. But I would take a car to the garage instead of trying to fix it myself (knowing about how the car works a little bit helps me avoid getting ripped of).
- blowski 14y ago> I teach my kids that they can learn anything they are interested in. I'm sure you have some caveats to that - like learning to read, and doing basic arithmetic. And that's the issue here. It's the 'curse of knowledge' again. For anybody that doesn't already know how, "learning to program" mostly means learning a bit more about how computers work. And universal computer literacy would be a great thing, much as universal literacy has been. I'm guessing that some people thought "if everybody can read and write, then we'll all become educated and be able to write great novels". Unsurprisingly, that didn't happen, but other huge benefits were accrued. People could go to the library and check whether that thing they were told was actually true. They had a cheap and simple means of permanently storing and retrieving information. Health, legal, and financial advice can be distributed much more widely. So I totally agree with you that "everybody should learn to program" sounds very similar to "everybody can write a novel". It's wrong. But "everybody should be computer literate" is a very worthwhile cause. What's included in basic computer literacy? Things that help people make better decisions every day of their lives. I know people that waste money, or put themselves into very difficult situations, through not understanding some of the following: * An understanding of what happens when you turn a computer on or off. What's the difference between Office and Windows, and between OSX and Windows? Between iOS and an iPhone? I know people that have upgraded their 1-year-old computer, because they wanted the latest version of Windows. * Basic security. Why is leaving a list of plain text passwords on your desktop (or even worse, on a Facebook note) a bad idea? Why should you avoid installing that funny game that comes with a cute emoticon toolbar? * Difference between a markup language, a programming language, and a database. How do these systems communicate with each other? You've probably heard of people hiring a £1,000 per day IT consultant to make something bold on their homepage. Similar point about email, internet, web, and browsers. You could probably throw in the difference between being able to install Wordpress, and code a CMS from scratch here too, so that people don't pay £2K for a vanilla install. It's fine to say "ask somebody who does know" but when you're totally clueless, it's difficult to know what questions to ask which person.
- pmcg 14y agoI agree that computer literacy is becoming as important for everyone as reading/writing and arithmetic skills. What I'm unsure about though is which specific skills and knowledge are most important. For instance, a huge number of people would benefit from more advanced skills with something like Excel, both in their home life and even more in any kind of job where you use a computer. But then there's a set of people who would benefit more from knowing how to do some other thing on the computer. Everyone's subset of knowledge of English reading/writing is only slightly different. But with computers two people can know a lot about computers but know hardly anything in common. So what should be taught? I've long thought that the most important thing is to be curious and willing to try things on the computer, because you'll end up figuring out whatever you want. But maybe there are people for whom computer skills would be very useful but they'll only learn them if it's taught. I know there are a lot of things I learned in college that I wouldn't have discovered on my own because I never would have known to read about them.
- mwexler 14y agoWow, so many comments missed the entire point of both articles. McDonald, in the WSJ, said that if you don't at least try to understand some of the tech behind the scenes, you are basically a tool and won't get hired by him and other modern CEOs for any of his business roles. He didn't say that you have to BECOME a programmer, or even try; he just said to walk a mile in developer shoes to recognize some of what it's like. TypicalProg says that there is more to programming than just hacking on python for a weekend... Both are true, and both are different points. So many comments on HN about "clueless bosses", yet here's a guy who says, in the WSJ for all to hear, that he wants to eliminate that. He doesn't say he wants to replace real devs with weekend-warriors. He says that if you want to work in the real world, you need to understand some of the tech behind the scenes. How is this different from bankers learning finance, or doctors learning about medicine? B/c, as it turns out, EVERY job touches tech, and his point is that if you don't suck it up and learn some tech, no matter what job you do, you won't do as well as you could in it. He's not expecting everyone to code, he's expecting everyone to have some appreciation of _what it takes to code_. I'm kind of astonished at the defensive comments, actually. I too require that anyone working for me learn about the tech behind the magic. Why? Because it creates RESPECT for the developers. Every negative comment about clueless bosses reflects a time when a developer has been subject to a lack of _respect_ and _appreciation_ for what it takes to make production-level digital experiences. McDonald appear to recognizes that flaw, and is trying to fix it. He admits he's not a dev, and so he tries to understand enough to do no evil. Isn't that the level of respect we would want from any boss, esp a CEO outside of the "tech" or "engineering" group in a company? I don't know him, but I agree with him. I'm surprised to see some of the vitriol. We should be encouraging more folks to try programming to learn that it's harder than it looks in some cases, easier in others, and overall, deserves some more respect as both a technical but also creative art. And that it's rapidly becoming a necessary knowledge for working in the modern age.
- Deestan 14y ago> McDonald appear to recognizes that flaw, and is trying to fix it. He admits he's not a dev, and so he tries to understand enough to do no evil. But as TP said, a bit of programming teaches you nothing useful about managing tech. If I'm going to deal with builders in my job, it doesn't help anyone that I spend a weekend building a bird feeder. They talk structural integrity and insulation levels to me, and my experience based managing "How do you assure the planks are aligned correctly? I have some extra nails in my shed - can I reduce costs by donating them to the project?" does nothing but annoy and insult. As a techie, my job is to make technical decisions, and translate technical considerations to the business people. I do not expect them to understand my field; I expect them to respect my expertise.
- arbuge 14y agoAlot of the people exhorting people to program are prospective employers like the one quoted at the beginning of the article who don't program themselves but need labor, or cheaper labor. Always look at the incentives behind the speaker.
- whiddershins 14y agoI've spent most of my life working in production (graphics, ads, publishing, music) environments which had no software developer on staff, nor should they. Every single one of those teams would have benefited from having someone who can do at least basic scripting for automating repetitive tasks. The thing is, if you want to build a custom file rename-er in python, you cannot google the answer. You don't need the skills and abilities of a professional developer, but you need far more than an afternoon. So yeah, that's just one example of why many, many, more people should learn to code. The computers are tools and there's no reason why 99.99% of the users should be only pointing and clicking while a chosen few are the sorcerers behind the scenes.
- greenyoda 14y agoHowever, if you're a graphic artist who is the only person in the office who knows how to program, you'll quickly get stuck with all the computer tasks, which is not necessarily the work you like to do.
- Falkon1313 14y agoI think that the 'everyone should learn programming' idea conflates a few things, most of which are good. - simple automation and tool usage How many billions of hours of productivity are lost because people are manually retyping or reformatting data that could be quickly and easily scripted (with only basic knowledge) or done using commands/tools already present on the system? Quite a lot. How much more effective could people be if they could run even simple queries against the data in their domain? These things aren't difficult, people just don't know that they can do them. - making things more efficient Related to the above, a basic understanding of how to handle data in a way that can be processed, and how to make things organized and open to processing, could go a long way. It doesn't take much programming to realize that text files are much easier to process than Word documents, or that a consistently-formatted spreadsheet is reusable while one with the data scattered around for visual effect is not. - learning to distinguish between things that are easy or difficult to do with programming Lots of good ideas get nixed because someone doesn't want to spend a lot of time and money, or bother the developers, when in reality it's something that could be done in about the time it took to describe it (or less). And we all have plenty of examples of people assuming that something difficult should be quick, easy, and cheap. While it takes a lifetime of experience to be good at estimating such things, and it varies greatly depending on domain and tools used, a little bit of knowledge of how computers work could go a long way in some cases. And for those who say that programming is not for everyone, think of basic math and accounting. Everyone may not be a professional accountant, but everyone has to deal with money. Would you want someone in charge who doesn't even understand that costs need to be lower than revenues to generate a profit? Or that doesn't know how to calculate 5% of $10,000? Some basic knowledge is useful regardless of what you do.
- keppy 14y ago> That isn’t writing at all, it’s typing. — Truman Capote I'd like to point out that this quote was originally directed at Jack Kerouac. This possibly helped establish the myth that On The Road was actually produced in three weeks[1]. [1]http://en.wikipedia.org/wiki/On_the_Road#Production_and_publication http://en.wikipedia.org/wiki/On_the_Road#Production_and_publ...
- gregjor 14y agoGore Vidal made a similar comment insulting, I am pretty sure, Norman Mailer. I can't remember it though.
- sopooneo 14y agoI think general computer literacy is important for everyone nowadays. One complication I see is that it is a long way from the general to the applicable with computers, and the applicable is somewhat arbitrary and changes quickly. As a contrast, a general primary school math education automatically sets a student up to understand compound interest, which will almost certainly be relevant to their lives. However, starting from logic gates, and getting to spreadsheet usage or the basics of HTTP is almost as far, and would require starting very early. It wouldn't be bad to do that, but would be a big change, and would probably have to take time from something else.
- protomyth 14y agoAt this point, I believe a director at a movie / theater director or an FX Supervisor would make a better manager for programmers than most management / business professionals.
- thruflo 14y agoThe title "Sorry, Digital Ad Exec, I Probably Don’t Want To Work For You" resonates with me more than the post. I expected an article ridiculing the expectations of agency execs with nonsense comms projects, i.e.: that addresses the spuriousness of the commissions, not the incompetence of their management.