The ‘learn to code’ fallacy

A persistent theme that recurs every now and then in the online tech world is that ‘everyone should learn to code’. There are a slew of blog posts claiming that to be a great SEO you need to know how to code, and a recent Venturebeat article once again proclaimed programming the most vital skill for successful entrepreneurship.

This is, of course, utter bollocks.

Don’t get me wrong, I have a great deal of respect for coders. I work with some highly talented web developers and not a day goes by where I don’t marvel at their skills.

But their skills are not essential for being a great SEO, and they’re not essential for being a great entrepreneur.

First of all, I think a lot of this ‘learn to code’ hype stems from the perception that many of today’s most admired entrepreneurs started out as basement coders. From Mark Zuckerberg to Larry & Sergey, today’s biggest tech companies are the creations of coders. Therefore, the reasoning goes, you need to be a great coder to be a successful entrepreneur.

And that is, of course, blatantly wrong. Such seemingly logical reasoning is premised on a thorough misunderstanding of what makes a successful tech company.

The primary reason these companies are successful – in addition to exorbitant amounts of luck – is not because they were built by coders, but that they solved a problem.

Google solved the online search problem more elegantly than anyone had up to then, and that made them the most popular search engine in the world.

Facebook solved the mess that was social media and turned it in to a smooth, nearly friction-less experience. And that made them the biggest social network on the planet.

The fact that Page, Brin and Zuckerberg are coders is secondary to their most important trait, the aspect of their personalities that is directly responsible for their success: they’re problem-solvers.

Problem-solvers come in all shapes and sizes. Some of them are coders, but many aren’t. It’s true that problem-solvers tend to be drawn to writing code, as that allows them to create technical solutions to problems, but the ability to code is a symptom – not the cause – of their problem-solving ability. And not all coders are great problem-solvers.

I would argue that the ability to analyse a problem – and I define ‘problem’ loosely here, encompassing everything from shoddy user interfaces to unintuitive online interactions – and devise an elegant solution is the real hallmark of successful entrepreneurship.

For every Zuckerberg you can easily find several highly successful entrepreneurs who couldn’t code a simple ‘hello world’ script if their life depended on it.

But I can pretty much guarantee you that all great tech entrepreneurs have one thing in common: they’re very good at analysing and solving problems.

The next time someone claims that the ability to write code is the key to success in our modern world, call them out on their bullshit. Because that idea is based on a deep misunderstanding of what makes technology successful.

Be sure to also read this post from Richard Shove on the matter.

Hype, Technical


  1. To be successful at SEO, you’ll have to be able to solder your own computer to program on first. And be a miner and dig out your own minerals to solder with. And you’ll have to be a grandnephew of Tesla of course.

    Without that you’ll be a useless sucker at SEO.

  2. The coder statement is totally wrong, great SEO exists without any coding knowledge of course. It’s more about the scientific approach to problem solving that every coder have more or less acquired. But you can be successful SEO with a different approach, although some problem must definitely be solve with pure logic, and analytics are numbers you need to analyze. Not the kind of work for non-scientists people.

    On the other side, being a coder and a SEO, as I am, is obviously helpful for many tasks and communication with the tech team.

  3. To go along with the theme of the post & problem solving, I think the problem you have here is that you’re trying to convince people there’s no need to learn to code in order to be a successful entrepreneur.

    The solution you’ve chosen is to pick 3 entrepreneurs who have been extremely successful, and also began that road to success by coding software.

    The problem you’ve given yourself there is that you then have to prove that their ability to code was incidental, rather than essential. The solution you’ve chosen is to present your own opinion with zero evidence.

    I agree that ‘learn to code’ is a false mantra, but I think you can do a better job of solving the problem of convincing people.

  4. I disagree Barry. You, yourself, would be a better SEO if you learned how to code and knew more about the basics of the workings of the web. I’m not saying you’re a bad SEO, I just know you could be better. Is being a a coder a requirement for being an SEO? No. Is understanding code and understanding a lot of technical aspects of web development a requirement for being a *good* SEO? Hell yes.

    Without my technical skills, I would honestly never have been able to help the big companies I have worked and work for as well as I did.

    I know that with my WordPress SEO plugin I’ve made it easy for just about everyone using WordPress to call themselves an SEO, but the only ones I really find *good* SEO’s are the ones that would be able to at least write the technical specifications for that plugin.

  5. Interesting piece Barry, I would both agree and disagree with you.

    Do you need to be able to code to be a good SEO, of course not…Only a small proportion of SEO related tasks are actually what I would consider to be “technical coding issues” The vast majority fit more into the being a persistent, competent communicator.

    Do you need to be a coder to be a great entrepreneur in the tech industry, again of course not, however in this situation, as you rightly point out, need to have identified a problem, then thought of a way to solve it. Where you go from there is the crossroads.

    If you’re a basement coder, by all means, code it yourself and ship your new tool/system. However, if you’re not, you need to have budget (whether your own or through investment) to hire a coder to do the work. If you don’t have budget however, your venture stops right there and that’s the rub.

    When you’re working as an SEO however, coding is a useful, though not essential skill

  6. Hey Barry,

    Great post – I wrote a post on this subject a while ago (URL above) but couldn’t get my point across as succinctly as you. Coding is a useful skill for tool development, technical implementation etc but when did these tasks become vital for an SEO?

    I think there is an argument that SEO in 2012 is potentially more about creativity and marketing than it ever has before making coding kind of unnecessary.

  7. In order to be a great SEO you only need to be a great SEO.
    Whether or not you have a clue at programming is not that important, as well as being aware of coding is not an SEO benefit per se.

    On the other hand, being totally consumed in the IT/coder mindset can badly harm your approach to customers, especially in terms of usability.

    Balance with your strengths and weaknesses, knowing what you are really best at is the key to any success.

  8. For non coders (in SEO) its always been about where to put their energies. I remember a coder saying I was too old too learn to code ‘properly’ and you need to start really young.

    They may have had a point and I chose to understand programming capabilities rather than how to actually code.

    The main thing is to know what you want to do with coding and as Joost de Valk says be able to write the spec (and then get it built/implemented) to solve the issue rather than be able to write the code yourself.

  9. @Dan Barker: sorry, I figured that since the vast majority of well known entrepreneurs aren’t actually coders – and I was making the point that coder-CEOs are more exceptions than rules – I wouldn’t have to name them. But, since you asked, here are a few that you might be familiar with: Richard Branson, Alan Sugar, Steve Jobs, James Dyson, and Reid Hoffman. That’s just a wee sample. Feel free to amend.

    @Yoast: you confuse two things there: a basic technical understanding of how the web works – which I have a very firm grasp of, I assure you – and the ability to code. They’re two different (if not unrelated) things. The former is, in my opinion, more dependent on a curious attitude and a desire to understand how things work. Most engineers can explain to you just fine how the web works. Few of them would be able to code in PHP.

    Oh, and I sincerely doubt learning to code would make me a better SEO. If I get any better at this, they’d have to rename SEO to ‘Barry Adamsing’. (“Don’t forget we need to Barry Adams that website, and we’d best hire a professional Barry Adamser for that.” ;))

  10. Hey Barry,

    I think this is a little too black and white. As others have pointed out, no, you do not have to be a coder to be a good SEO, but you sure as hell have to know some code. Also I’d have to agree with the others that if you are well-versed in code as an SEO, the sky is the limit, and that’s how you get to “great.” I can’t tell you how many troublesome technical issues I’ve been able to solve with even intermediate coding skills.

    In entrepreneurship, of course not all successful entrepreneurs know how to code and it certainly isn’t a requirement. But, learning to code certainly puts you in an advantageous position, especially on the technology front. If you’re a chain restaurant owner, you probably don’t have to worry about it. But if you’re developing the next big app, website or digital service, you should certainly be able to roll up your sleeves and dig in.

    I guess my point is that no, learning to code isn’t always the golden ticket, but you can’t deny that it is a tremendous advantage.

  11. Hi Barry,

    Surely to provide a fair and reasoned conclusion you have to be an expert in SEO theory and in practice too.

    I’ve been an SEO for 6 or 7 years now, and my experience with coding gives me a much much better understanding of SEO. i.e. I can rip open the source code of any site and explain what’s wrong and whether it’s missing rel=”prev”, canonicals, accidental cloaked content and general bad coding practice. Not only that but it helps me to structure content that I write a lot better.

    Theory is great as a manager for sure. It allows you to delegate technical tasks and keeps you from getting too hands on. But I do believe that the best delegators are the ones that have been there and done it.

  12. @David & Nick: I think what you both – and others as well – get mixed up is HTML source code (which is just markup, really) and actual programming skills. They’re not the same. I agree a solid understanding of HTML markup is required to be a good SEO, as that is what search engines parse so you need to know how it all fits together.

    But being able to understand and write HTML is nothing like being able to program code. HTML does not use algorithms. HTML does not solve problems. Any serious programmer would be offended by the idea that HTML mark-up is on a par with proper code.

  13. @Barry;

    OK, I’ll admit I’ve missed the point of the post then!

    In terms of actually programming as opposed to simple coding, I would probably agree with you to some extent. Although I stand by my point that the best delegators are the ones that have got their hands dirty to know exactly what they need to delegate.

    I can’t imagine that someone with zero understanding of programming would know how to get someone to fix a page loading issue (without just saying, “there’s a problem; please look into it”) or some JavaScript conflict or anything similar.

    I don’t really know where the definition of programming begins and ends; but without understanding code at all you’ll even get fooled into thinking that iframed content is readable.

    There are just so many benefits on the way to picking up code (whatever code it is). I’m great with HTML and CSS; and very average with php and JavaScript but I’ve got to grips with so much along the way. However, I don’t believe that I or anyone else in my position woud benefit from learning any more.

  14. Aw, Barry… just as I was about to plunge into a heated debate… you run it by clarifying!

    I’ll agree with your premise that programming skills are by no means a necessity if you hope to be an effective SEO. It was the inclusion of source coding in that which was causing me an issue. A working knowledge of markup is extremely important, IMO.

    I started implementing various SEO techniques before I acquired any appreciable markup ability, and my effectiveness was very limited, as a result. Once I realized the shortcoming and remedied it, the difference was tremendous. But like you, I seriously doubt that being able to craft a script on my own would be of any benefit to my clients, in terms of SEO.

    Fortunately, having the wind let out of my sails isn’t an entirely new experience for me (I’ve been married a good bit longer than you).

  15. @Doc: yeah I should have clarified that too (maybe I should send my posts to an editor before I publish them to make sure I’m not making too many assumptions).

    I thought it would be fairly common knowledge that if it can’t do “if, then, else” statements, it’s not proper code. HTML is markup, and I wholeheartedly agree that having a solid grasp of HTML makes you a better SEO.

    But HTML is to code what a cardboard soapbox car is to a Formula One race car.

  16. While Coding is not essential to SEO, I would argue that being able to code makes you appear more valuable, the same way a background in marketing, or an MBA gives the appearance of value.

    I can’t code to save my life, but nowadays I am finding more and more companies wanting an SEO to be able to proficiently code in things like Java, PHP, CSS, and even Ruby (Yeah,

    However, I must agree with Joost, in terms that if he did not know how to code a plugin, he may have never reached where he and his company are today.

    Could he have hired someone to do it? Of Course! But hiring out seems to put a kind of limit on your vision and creative process (as well as a dent in your wallet for the initial cost and continual updates)

    At the same time, Joost was solving a problem. SEO and WordPress. So Barry, you definitely have a point. Problem Solving is the key to any successful entrepreneurial endeavor!

    Overall I agree with you Barry, but at the end of the day, companies and hiring managers see more value in a person that can Code and perform SEM. They also get paid more.

    So while not necessarily an advantage in SEO itself…it appears to be an advantage overall.

  17. Good article Barry! I see the discussion turned somewhat into a discussion about semantics. I agree with you on the fact that you don’t need to be a hardcore developers in order to be a good SEO. However, as you say, you should have a strong technical understanding of how the web works. This will make someone a (way) better SEO. You may be a better SEO Consultant if you know how much time functionality X should take someone on a WP, Magento or Drupal platform. Do you need to be a developer for this? Or just experienced? Yes…that’s the word *experienced* :) Also, from my experience the relation you have with a webdevelopment company will get easier if you speak the same language they do. You will get more respect and they will actually (sometimes ;)) listen to you. This also comes with experience.

  18. From @Sean:

    “I think there is an argument that SEO in 2012 is potentially more about creativity and marketing than it ever has before making coding kind of unnecessary.”

    I don’t agree with that at all. I think it just boils down to how far you’re willing to go. Where do you draw the line as a SEO?

    If optimizing title tags and publishing blog posts is all you’re willing to do for your client than you’re right, you don’t need to know how to program. But if you want to stretch your limits a little bit and build widgets, web apps, mobile apps, etc. as part of your “marketing” efforts, programming is a must.

    Learning some javascript and php might be the difference between you and your competition that puts you on top.

    But you’re probably better off outsourcing for big projects like web apps and widgets, huh? I think this is an interesting debate.

  19. So yeah, as I wrote in the comments of one of the posts you linked to, I’m in the “not essential but useful” camp also.

    I think your comments after the article Barry have clarified some interesting points. A decent technical understanding of the web is a requirement to be a good SEO in my opinion, but that doesn’t automatically mean you have to be able to code and I accept that.

    I think though the lines on this can become a little blurred; of all the SEO’s I know of who I would class as having good technical knowledge of the web (including some of the really top, top guys), I would say the vast majority can code. I’d say an SEO such as yourself who has good technical knowledge but can’t code is the exception rather than the rule, but that’s just my experience.

    And I’m not saying that’s a bad thing at all, but it does go some way to explaining why people might make the connection between being good at SEO and being able to code.

    But you haven’t answered the real question Barry…. coding might not be essential for SEO, but is it essential for inbound marketing? ;)

  20. I agree with Joost above. While you are right that you don’t have to be a coder to be an SEO, I noticed that my SEO results really took off after I learned to code. So at least in my case, learning to code made a huge impact.

    Furthermore, learning to code teaches (what some others have mentioned above) how to specifically frame questions so that the answers are actionable. Coding teaches this very well.

  21. Some interesting discussions going on here and several amusing comments :-)

    Overall though, I agree that it is not an essential skill – but it is certainly something that can only benefit. By knowing how to code (and yes, as has been clarified – coding isn’t HTML, its a server-side program where you can build cool logic into) it can help a great deal.

    In my experience, I have found that people who don’t know much about code often make wild suggestions about how to change things for ‘SEO purposes’ which ultimately would never be cost effective or beneficial in the long run, but could be argued to be good for SEO best practices. By having an understanding (or better still, knowing how to personally do the work) then it helps by making solid suggestions which are within reason and can be squeezed into the limitations of the system (I am still waiting to find a system which has 0 limitations!).

    But then again, I would say that as a coder ;-)

  22. “In my experience, I have found that people who don’t know much about code often make wild suggestions about how to change things for ‘SEO purposes’ which ultimately would never be cost effective or beneficial in the long run, but could be argued to be good for SEO best practices. ”

    As an SEO who’s probably been responsible for some of those ‘wild suggestions’, I’d argue that its not our place to know what a sites limitations are. Speaking as an agency monkey here, every client’s CMS has different quirks, especially when you get to high end clients who tend to have bespoke CMS’s – even for a coder, getting in and understanding its functionality is a significant task which will substantially increase the cost with no real gain for the client – They already have people who know how it works.

    So, the only real solution is to just suggest everything, no matter how small, let the client know how critical it is to the success of their campaign, and let them make the decision of what is cost effective to implement. Maybe some of the functions aren’t practical for a dev to implement, but then we’re not only communicating to the Dev’s – highlighting unfixable issues may finally give a cost benefit to an MD to justifying replacing some rickity old classic ASP CMS, for example. We highlight issue, Devs give timescale, management makes the call. Easy.

    I think the ‘need to code’ fallacy actually comes from a political issue – Namely the conflict that often arrises in many projects between SEO’s and Dev’s.

    I’ve worked with Devs who come from a position that I can’t possibly know what I’m talking about because I can’t code. It’s partly an ego thing – from their position, they’ve spent months engineering an entire CMS and then some Uni dropout who knows three lines of HTML shows up and starts winging about H1 tags or something. I’d get defensive too, but its incredibly frustrating for me when I’m actually right and a client seems to be both expecting me to produce results and is fighting to prevent me achieving things. Being able to code means that you can ‘talk shop’ with them, making them much more receptive to your ideas.

    Getting an SEO to code is like getting a dev to create a creative campaign. A few will be able to do it – most won’t.

    I’ve learnt to butter up the Dev team very early in the process nowadays – I try to get them on a call from the outset without marketing or management sticking their nose in – Most of the time they are generally curious as to how SEO works once they realise that you do actually know they don’t, and then you get that great moment where a lightbulb goes off and suddenly your inbox is filled with a million billion ideas they have for ‘gaming’ Google (No, your not the first person to think of sticking a bunch of content in the HTML and sticking it -10,000 pixels to the left, yes Google can see through it. No, they’ll know that you’ve put blue text on a blue background. No, that’s cloaking. Etc etc.) and you move forward with a good relationship.

    There are, of course, times when I have an idea for a tool that’d help my workflow. Then, I really wish I could code.

  23. Barry, my take is that it’s a fantastic skill set to have under your belt, it’s fun too and is great for cutting through dev bs, especially when they moan and say how tough a suggestion might be.

    Just yesterday I was asked a question which I just couldn’t have answered without a coding background.

    Sure, I could have got back to them and engaged the services of someone who knew, but it was useful being able to see it from both angles and offer up a solution and get back to them with a full understanding of what was required.

    Great debate and lots of interesting insights from all comers!

  24. @Rob I agree that coding is a very handy skill to have in SEO, but there are other skills that are equally useful to the overall goal of delivering value for clients.

    I took a university course in management studies last year, and that has helped me enormously to grow as a people manager, motivator, and project manager. The skills I learnt have helped me run a more effective digital department. When it comes to entrepreneurship, I think those types of management skills are probably more valuable than coding skills.

    My point was not to bash coding as useless – sorry if I gave that impression – but to clarify that coding is non-essential when it comes to building successful tech companies. Coding is a tool, and like any tool it has its uses, but it’s not the definitive tool for business growth.

  25. >coding is non-essential when it comes to building successful tech companies. Coding is a tool, and like any tool it has its uses, but it’s not the definitive tool for business growth.

    Thanks Barry, I think most would agree that the space in which we work covers a multitude of disciplines and that every one has their core strengths and that the best outcomes are usually delivered by a group of people with expertise across a wide range of disciplines.

    Articles that seek to elevate some over others don’t really help as naturally some will get defensive and question the points being made. It’s a great debate to have for sure as it opens up the whole piece and helps us all look that little bit deeper into what it is we do. What’s abundantly clear is that for those of us who do this stuff the requirement is huge – the expectations are raised as what is expected of SEO generally increases. SEO’s for want of a better label are almost expected to have an appreciation for many overlapping areas. Analytics, Social media it’s many stands and uses, Code; from HTML to an understanding of the limitations and benefits of higher level server side scripting, hardware, software, conversions,General Marketing, Display, PPC and it’s relationship to SEO, Google history, search engine history, online law, patents, entrepreneurship in fact virtually every potential thing that could impact upon a domain. The better SEO’s will have spent 1000’s of hours reading discussing debating, observing and putting in to practice all those parts that add up to the whole.

    I guess you could say that SEO maybe needs a wider definition as for most intents and purposes the craft has overlaps with everything.

    Anyhow! It’s all good :)

  26. Hey Barry,

    I agree more with the clarifications you made in the comments regarding HTML vs. programming. However, I still disagree to some extent. It’s hard to hire and manage employees to do something if you don’t have at least some knowledge of the fundamentals.

    Understanding those fundamentals allows you to see opportunities you wouldn’t otherwise see. And, if you don’t know a bit about what you’re hiring someone to do, if you can’t pay top dollar for a well known coder for example…what you’re going to get may be based on luck as much as anything else.

  27. Hey Barry,

    Sorry I’m late to the party here.

    I think we may be in violent agreement (nearly).

    You linked to one of my posts / presentations on the “yes, you should learn to code” side of the fence. My argument, however, isn’t that you could build Facebookstagram if only you could code. It’s actually about the problem-solving side of things.

    My belief is that most natural problem-solvers will teach themselves to be better problem-solvers if they learn (the rudiments of) coding.

    I think that is different to your position, but I don’t think it’s as opposed as we could make it out to be?

    Either way, I’ve enjoyed reading your thoughts on the subject.

  28. @Will, yes seems we’re nearly in full agreement. Serves me right for not reading a post thoroughly before linking to it – skimming your post caused a jump to a premature and incorrect conclusion. Sorry about that. :)

  29. I have some pretty good page 1 SEO related results if I do say so myself and I know some coders local to me who also either sell SEO (or “give away SEO free” they advertise as, would you believe) as web designers but they know next to bugger all about good SEO yet are far better coders than I.

    Now said people could out code me in many areas as I only know what I feel I need to know for SEO and if something comes along I need to learn I do so but as for writing complicated code, nah writing words is where an SEO’s skill mostly lays when it comes to hands on SEO so that IMHO is where an SEO’s time is best spent.

    And contrary to what’s popular I don’t post on blogs for backlinks etc as find posting on others blogs stuffs up ones own search results (just search my name as written in my post name to see a post on Yoasts site for example).

    However I thought I would pipe in and say I agree coding is something only a certain amount of knowledge of is a requirement if said SEO knows what they are doing with “Words”!

    No doubt this posting will annoy me equally as the one on Yoasts site by popping up for my name but hey ho…

    Anyway coders and web designers would in most cases be better served working with a good SEO in many cases and vice versa

Comments are closed.