September 01, 2018
Most of us will never become proficient coders; most of us will never become coders as a job or even as a side hustle; most of us have specialisations and gifting that are way outside the field of coding (past the outfield, past the tail gates, way past the buses); and most of us don’t think the way coding requires (clear, unapologetic, sometimes brutal, often hard-to-detect-the-problem logic). But for all that, you should learn coding in 2018 and here is why.
Just to be clear, I said “learn coding” not “learn to code”; and for most of us this difference is important. What I’m saying is learn enough about computer programming to be dangerous (not deft). Because in 2018, to know enough to be dangerous is enough! And if you know enough to be dangerous it opens a world of opportunities and possibilities today that were not possible before. Read on.
Learn to code because software is eating the world. If software is [eating the world](Why Software Is Eating the World – Andreessen Horowitz) then be the hunter not the hunted. What Marc Andreessen wrote in 2011 still largely holds true - that software companies are poised to take over large swaths of the economy - are probably has a long way to go in the next 10 or 20 years. By learning coding you will be able to learn the basic building blocks of this revolution that is literally changing the world.
Learn to code because the cost of software development has collapsed. Today a single programmer in the Philippines can develop in a few months the equivalent stack that Facebook was built on 5 years ago by hundreds of coders and millions of dollars. What this means is that the barriers to entry to building a technology business have also collapsed (anyone can do it and everyone is giving it a try). Your barriers to entry have collapsed (along with everyone else) and being able to understand the basics of coding becomes important for taking advantage of this opportunity. If you have some knowledge of coding you will be able to engage with other coders in useful ways - like choosing between a good coder and a mediocre coder (see below).
Learn to code because the tools for learning coding have never been more accessible or more helpful. There are many many good resources to take advantage of at your own pace and in ways that benefit you. Yes you need to know where to start, but once you know what you are looking forward there is help everywhere you look.
Learn to code because the basic building blocks of coding the web haven’t really changed in the past 5 years so time spent understanding them will likely bear fruit over some time. Yes there is a new javascript framework every day or two; yes the setup for building a modern website with package managers can be soul destroying - but the basics are the basics: HTML, CSS, Javascript. That’s it and that’s able to be understood by most people pretty quickly and pretty easily.
Learn to code because access to proficient coders around the globe has never been easier. Back in the day if you had a problem or needed help you either need to go to the library and find the Visual Basic VBA textbook yourself and try and work it our or go back to watching Magnum P.I. Not so today - there are hundreds of websites that will connect you with a coder (all looking for full or part-time work) who can do the heavy lifting of the actual coding (provided you know enough to be dangerous).
And with enough knowledge to be dangerous you can choose the right coders to help you or team up with for side projects or main projects. But here is the rub: to make that sort of global outsourcing possible you need to now enough about coding to both direct a coder but more importantly have a sense of the competency of any given coder. You don’t need to be a world class violin player to tell the difference between a good orchestra and a great orchestra (critics generally aren’t players). But you do need to know the signs of a great coder to assess whether you can work together. Many of the decisions that need to be made relate to high level decisions (which package to use for which application; which set of applications to pull together to generate the software you are trying to achieve in the right timeframe and at the right cost).
Learn to code because coding is a creative enterprise. It is an interesting intersection of beauty (graphics, design, logic) and functionality (a blog that displays your knowledge, a shopping cart that offers your product). In a world where tangible results can be hard for knowledge workers to come by, coding can be a creative outlet that delivers day by day with real results.
It’s August, so make a start. Now.
Hi. I'm Nigel Gordon and here are my musings on business, investing, startups and growth. Follow me on Twitter