How to quickly learn to code like a professional

September 29, 2019

Coding is hard

This is a mantra lots of experienced developers will say and this is a very honest thing to say but it's also a bit misleading. Coding can be hard, but coding is just the act of typing on a keyboard — that part is easy! The hard part is solving problems. This should say: solving problems is hard.

So I'd like to start this article by saying: set your expectations.

Don't assume coding is going to be easy and you can learn a little bit and get a high-paying-work-from-home-with-benefits job right away. I see a lot of developers learning to code, but they get stuck on things (like understanding functions or object oriented programming). And that's OK. This is a problem worth solving, and once you understand the solution (ie. how OOP works) you'll be much better off. But it's that initial learning curve that can be hard.

Coding takes time

Coding is a skill. Think of it like a trade. If you wanted to be an electrician.. well.. it's not going to happen over night. There's a lot to learn, and lots of different scenarios to learn. You'll make lots of mistakes (and that's OK). If you stick with it for long enough, it becomes second nature and it's no longer a difficult trade. Coding is the same way — practice, practice, practice.

Here's what nobody ever tells you: practice takes time.

Unlike a trade, like electrical work, you don't have a goal line. After 4 or 5 years in a general skilled trade, you become a journeyman ticket and, well, that's it. Coding doesn't have that, and that's what makes coding so hard. After 4 or 5 years you might not be a super awesome/amazing/prodigy of a programmer — once again, that's OK. But coding has something skilled trades don't have: unlimited access to real world problems, and the ability to solve them quickly.

How to learn faster

Becoming a good programmer (coder) shouldn't take 4 or 5 years. Imagine having to study for 4 years before you could get a job.. that's INSANE! You should be able to learn and find work at the same time.

I'm going to talk about ways to learn to code faster. But first...

The slow way

Coding the slow way goes like this:

  1. Learn the bare minimum to get a job (maybe go to school, or learn online),
  2. Learn the requirements of the job you just got,
  3. Stop learning because you're good at that one role.

Unfortunately I've seen this happen far too often. I see "senior" developers who were, at one point, very good coders.. but they stopped learning, and the world moved on without them. Now, they aren't considered "senior developers" because the world got more advanced and they fell behind. The less here: never stop learning!

The fast ways

I'll give you the bullet points (for those who like to skim blog posts). To learn fast, you must iterate over real world problems.

  1. Find real world problems.
    There are probably millions of real world problems. Just ask anybody you walk by on the street what kind of problems they have with technology.
  2. Solve real world problems.
    Making a calculator or a todo-list app is fun and great for learning, but it's unlikely you'll become a professional digital calculator developer. Every problem is slightly different, too.
  3. Expose yourself to other problems.
    Let's say you're a Python and JavaScript developer like me — well I can only solve problems during the hours that I'm awake and able to work. Go talk to other developers about problems they have. You can literally attend any coding meetup and just talk to someone about a coding problem they've been working on. Even if it goes over your head, exposure to these conversations prep your brain to learn new things.
  4. Meet new people.
    If you can solve 3 real world problems per day... imagine what 20 people like you could do; 60 real world problems per day. Learn from other people. Let them share their knowledge and guidance with you.
  5. Find mentors.
    You don't know what you don't know. Too many developers get stuck here. They think they've mastered it all, but lo and behold they're just unaware of what they don't know. A mentor can help push you in the right direction and provide personalized guidance. But don't just ask people to be your mentor. You're more likely to find a mentor by making friends with developers who can code circles around you, and talking to them about ways to solve problems.
  6. Find a support group.
    So many developers think they can do it on their own. And you can.. at least for a little while. But eventually you'll hit a wall and you need opinions and ideas from other people. In the world of coding, there's always more than one way to solve a problem. There are good way, better ways, and not-so-good ways. With a support group you can ask for guidance from several people at once. I have 3 other close friends who are all really good at different things. We talk on Slack almost every day and share resources, ideas and talk about nerdy things. I'm constantly exposed to new real world problems by 3 other people who I consider to be mentors of mine.
  7. Push yourself.
    Get good at something. Then go a step further and learn the inner workings of things. Then go back and relearn the basics. For example: if I asked you right now, "How does a computer store data inside of a variable?", could you answer that with confidence? Variables are a simple subject, but the inner workings are not.
  8. Teach it.
    Once you're confident you know something, write a blog post about it (you can even contact me about submitting a blog post here!). Teaching is the final (and best) way to solidify knowledge in your brain.
To learn fast, you must iterate over real world problems.

- Kalob Taulien (am I allowed to quote myself?)

Image Description

For me the biggest components to learning quickly are having a constant stream of knowledge come to me. I don't seek them out, they just come to me. I subscribe to technology newsletters and notifications on GitHub repositories. And anytime there's a new interesting problem, I simply read about it.

Personally, I don't find solving every problem I come across to be useful. There's just far too many real world problems and I'd never get anywhere if I decided to solve them all. So I pick the most relevant problems. Say I'm working on my own personal search engine made with Python and JavaScript: I might want to read about web scraping (page crawling). So I'll find forums, Slack channels and GitHub repositories to subscribe to and when people run into a new problem that relates to my project, I try to learn with them. Now I'm not learning alone, and I'm learning to solve a relevant problem. I highly recommend you do the same.

Don't limit yourself

Before anything, don't ever limit yourself. Sure, you'll feel down at times — that's just life in general, but don't ever let that stop you from learning new things. Always be curious, join communities of developers, and always ask tonnes of questions!

Learning to code is not limited to a traditional educational system. You don't need to wait 4 years to become a good coder. You can choose to expose yourself to more real world problems, and you can decide to start solving these problems. Do this over and over, and you'll accidentally become an amazing developer.

I can promise you that if you start solving lots of real world problems as fast as possible, you'll learn so many new things you'll have no choice but to learn quickly.

And one day you'll wake up and realize you've been working really hard, and you've come a long way, and you're much better than you initially think you are.

Code on, young Padawan

Just keep at it. The faster you iterate over real world problems, the faster your brain will absorb the required knowledge.

Are you brand new to coding?

I have several high quality courses to help you get started. And also a huge Learning to Code Facebook Group you can join (it's free!).

Join the support group on Facebook

Open the Facebook Group


Kalob Taulien

Kalob Taulien

Web developer and dev teacher

Kalob has a huge passion for teaching web development and has taught over 250,000 students world wide.

Subscribe

Stay in the know

Get special offers on the latest web development courses, and updates from our blog posts.


Image Description
Image Description