There's a secret in the tech industry. Even though the internet has become more complex and noisy, learning to code is a lot easier than you think. Here's why you should (or shouldn't) learn to code.
I learned to code in 2000. I was 16 and I was building websites using a tool called Microsoft Publisher, which is similar to InDesign or Quark. It’s aimed primarily at designing booklets and posters but it had a website maker too.
At the time, it had a set number of templates which you could customize to a limited extent. You could change a few images and fonts and that was it. But I wanted to do more than make a few minor changes. I wanted to mess up the site and make it look completely different.
Over a few months and years of struggling with the basics, I slowly became better at coding. I was definitely not an expert but I could make something that looked decent.
I learned to code essentially for free. But it took months and years of getting stuck with problems and no one to help.
The Internet is a completely different place to when I learned to code. There’s a ton of resources that can help you learn for free. But the Internet itself has also become a lot more complex.
Coding has become professional and the tools used to make websites and apps have increased in complexity. This is a massive problem for beginner coders. Professionals rarely consider whether beginners can use the tools they create.
While plenty of coders do care about beginners, a vast number are more snobbish. They see beginners as a threat. More coders means more supply and less demand, right? They use the No True Scotsman argument to dismiss new entrants. “No true coder would ever do X, Y or Z”.
The truth is a lot cloudier. It does take a long time to get really, really good at programming. As with any skill or technique, it’s the last five or 10 percent of finessing that’s often the hardest to do.
However, 90 percent of what most coders do every day can be learned quickly. When you break down a lot of code, it’s doing the same four things: listing items, adding, editing and deleting.
Take my Twitter feed, essentially just a list of posts. When I tweet, I’m adding a new post to my list. I can’t even edit tweets. Making a new micro-blogging site would be easy enough and there are many startups trying to be the next Twitter. Does that mean junior coders would find it easy to work at Twitter? No, because of the scale and complexity of getting billions of tweets to millions of users. Should that put you off trying to build the next Twitter? Of course not.
So how do you get good at coding? Practice. Lots and lots of it. Keep making things. Keep adding features to your projects. Keep breaking things. Keep going wrong and fixing your mistakes.
But why should you even learn to code in the first place? Maybe you’re drawn in by the promises of a better job, a better life.
Articles about learning to code often describe the possible financial rewards: how this knowledge will earn you a better salary, a promotion, or even a new job.
There is some truth in these claims. We’ve taught people who’ve gone on to get pay rises, improved careers, and higher freelance rates.
A likely skills shortage in the next decade means a lot of jobs won’t be filled. Work in the computer and information technology sectors is projected to grow 12 percent over the next decade in the United States. This is much higher than the average for all occupations where many industries are experiencing stagnation.
At the same time, more and more jobs are set to be automated. Driverless cars, for instance, will likely become mainstream over the next two decades, threatening to put 3 million Americans out of work.
So there’s a problem. Artificial Intelligence could lead to mass unemployment at the same time as tech jobs can’t be filled due to the lack of a skilled workforce.
For children, of course, it’s different. There are nine year olds in Estonia learning to program as part of their school curriculum. A group called Code Club holds after-school clubs around the world. The school system in Ontario, Canada is introducing coding (and personal finance) in its curriculum starting in grade 1.
We’re losing our edge and the kids are coming up from behind.
Sounds scary, right? Millions of jobs worldwide taken by the robots, millions of jobs unfulfilled, and nine year olds who can code better than you.
Learn to code and you’ll be on the right side of this shift, the articles say. Learn to code so you won’t be left behind. We’ve seen people who’ve paid five-figure sums to go on boot camp-style courses because they’re worried about their future.
Then, to throw a wrench into the whole thing, there’s the rise of the no-code movement. It’s a term given to the concept of creating web apps through graphical user interfaces instead of code using tools such as Webflow. Some people claim that no-code is killing the need for programmers.
The rise of the no-code movement and the tools to support it have been building momentum in the last few years. Don’t get me wrong: no-code (or low-code) is amazing; it gives people the opportunity to test ideas and businesses, even scalable ones that can grow, with fewer upfront costs. People don’t need to learn to code or hire a developer to build things anymore.
So overall, it’s a great thing. It’s democratizing the act of building.
But that doesn’t mean code is going anywhere. Think about it: no-code tools were built with code.
With so many reasons not to learn to code, what’s left?
Our approach is different. We’re here to say don’t become a coder. Don’t learn to code to be a coder.
I know what you’re thinking. Why is a school that teaches code telling me not to code?
We’re not. We’re saying you should learn to code to improve and add to what you do now, to communicate better, to build your ideas, to broaden your creative skillset.
A lot of our students don’t want to stick with a template or theme. They want to make their own thing and not just tweak someone else’s work. No-code is great and we welcome it as a way of building and shipping things quickly. But there’s a craft to coding that lends itself to how creative people want to create.
Coding isn’t just for building businesses and ideas; it can also just be a way to play and make your current work better, more interesting, more unique, more relevant, or very simply, more you.
If you’re a designer, for instance, learning to code will give you a better understanding of how to design for the web. Keep being a designer but a designer who knows how to use media queries in CSS to change a layout for mobile screens.
The best web designers we know can all code but they wouldn’t call themselves professional coders. Many of the SuperHi team can code, but most aren’t professional developers.
Use code to be creative. Remember, coding is really a design tool. Whether you’re designing the next Facebook or your new portfolio, all you’re doing is writing instructions to a computer: Make that box red. Make this column wider. Show the header after the user scrolls. We’re telling a fast but dumb machine how to make a site or an app do what we want.
Learning to code won’t immediately turn you into the next Mark Zuckerberg or Bill Gates. What it will do is help you use your creativity and your motivation to turn your ideas into something real. It helps you speak the language of making things in the new world we live in, one where almost everything is driven by code, from a website on the internet to your Netflix recommendations.
Don’t learn to code to become rich, famous, or more attractive.
Learn to code to build, grow, make, and do without boundaries. Learn to code to add your voice, stamp, style or vision to the growing and diverse web.
This article is a chapter in our free pdf guide: First Steps to Learning to Code. Download it now and get a bonus resource featuring 9 beginner code project ideas that will help you learn from scratch.