cycle kids

What Riding A Bike Has To Do With Learning Programming

You’re probably making learning how to code more difficult for yourself than it has to be.

There are countless resources available to learn programming. There are online courses, paid and free of charge, there are college programs, after schools, meet ups or books.

Somebody’s desire to learn how to code will definitely not fall short because of the lack of resources available. The only requirement these days is the ability to read and to have access to a computer.

Someone might even go as far as to say the requirement of reading alone is sufficient in order to learn a programming language. After all you can read a well written book and learn coding that way. But who would ever want to do that?

Funny enough many people do. Actually a lot of people still do exactly that.

There is this new phenomenon of the learning by reading and passively taking courses, that arises out of the multitude on options available to us these days. The fact that most people see programming as kind of science that is difficult to understand- is not helping either.

So we watch, we read we are very interested, we make alot of notes, we do some examples. And we think that’s the way of actually learning this stuff.

Without knowing, by starting this way, we are making it harder for ourselves than we have to – and in terms of learning programming, you don’t want to make it any harder than it is. That can lead to a lot of frustration, including the urge to give up and try something else instead.

The dilemma and one of the main reasons why many people think it’s too hard to learn programming is that they can’t wrap their head around how they are supposed to do the programming part before you actually know how to program. (which leads to hours of watching lectures or reading books but being too scared to “try it out.”)

This wrong way that many people are using to try to learn programming is comparable to trying to learn how to ride a bike by watching a multitude of different biking events and training videos.

Even if they know everything there is to know about bicycles, the moment they get on the bike they will fall on their noses-  or they will steer – eyes wide open – into the next lamp post.

Only by constantly trying over and over again, and and falling from the bike, will they eventually get the hang of it and drive off.

If someone would ask a cyclist how much of their actual learning experience was based on books they read or videos they watched, their answer will most likely be “It helped a tiny bit, but it was not important  – since the actual experience was so different.”

In other words all these resources out there will help you but they can only play the part of a guide towards the final goal of being able to program.

It can be the essential guide along the way but it will be worthless if you are not actually start walking. Meaning- Learn by doing. Start a programming mini-project. Build something you really care about- even though you’re a total 100% complete newbie to programming.

“You have to learn by doing”. Everybody has heard this sentence many times- for some maybe too many times. But have you really thought about it? If you do, you will come to the same conclusion that I have.

There is no way to learn anything new unless you are applying it. This especially applies to programming of course, just as it might apply to learning to ride a bike, or a new martial art.

If you look at learning a certain programming skill as your final goal – saying “I want to learn HTML and CSS and I bought all the books for it, so I will finally be able to code” You already have a problem.

It’s like saying “I want to learn everything about my bike until I understand how it is made and how the physics behind it work, then I will be able to ride it.”

You can be a scientist in the science of bike ride mechanics and it still won’t help you one bit to do the actual thing.

Not even experienced programmers know every thing there is about the programming language they use every day. They know just as much as they need to in order to build the things they envision or are hired to do.

In terms of programming you need to know first what the programming is good for, what the programming language specifically does, and the why behind your desire to learn it. The project of your imagination.

The “why” is way more important than the “how.” Why do you want to ride the bike? So you can exercise, get from A to B fast, ride together with friends. How often do you think of your physical bike while doing these things? You often completely forget about the “how to ride the bike” part and focus on the why instead.

Same way you have to “ride” the programming language of your choice in order to get to your destination. It has to become something that is secondary to the actual goal – your goal.

Nobody’s goal is to be able to balance on a bike while the wheels are rotating forward. That’s not a goal. The goal is to ride it and go places –meaning to be able to forget about it already and just move on.

Until you know what you want to do, what you want to create, what your final vision is – learning how to code will be almost impossible. The motivation and vision wont be there. You need a direction that helps you steer through thousands of functions and features.

Nobody learns everything about an activity or art. They just learn as much as they have to in order to create their vision. If they reach an obstacle- a point where there vision exceeds their skill they keep learning. So the clearer the vision, and the urge to make this happen, the easier it will be to learn coding.

And as you are doing it you get better. You can only get better at drawing while drawing. You can only get better cycling while cycling. It’s all trial and error. You need to make mistakes and the motivation to keep doing it comes from your vision.

Developing that vision is essential. If you know what you want to create you will keep your eyes on the prize and you will only need to learn as much as you really need in order to get your idea out there.

If you learn something, you need to follow up right away and code something using what you’ve learned- as much as possible with your vision in mind.

The earlier you start seriously trying the things out that you learn, the sooner you make small steps in the direction of your final goal, and the more likely you will actually arrive there.

Somebody once said it takes 10,000 hours of action in order to become an expert in something.

So ask yourself how many actual hours are you away from becoming an expert in programming?

The following two tabs change content below.

Martin Labud

All around nice guy from Germany who is learning how to code, and raising two cats while traveling the globe. He is Co-founder of Tipabl, a social giving platform. Previously he worked as an Animator and Game Designer.

12 thoughts on “What Riding A Bike Has To Do With Learning Programming

  1. Elleyess

    I am such a huge proponent of learning code… I think the process and discovery of solving the matrix that is programming can be applied in so many walks of life. Thank you for sharing!

    1. Martin Labud Post author

      Well said! The process of discovery and solving the matrix! I really like that. It’s true- you can apply this way of thinking to just about anything. Not to mention the necessity to depend on a community and not try to do everything yourself. That’s also something important you can apply to other things- from programming. Google, open source, github are my best friends. 🙂

  2. erica lawrence: naturopath - body ecologist.

    Hola Martin, what I love about your posts are the metaphors. I digg’em!
    I know this was about finally showing up and committing to experiencing coding in order to actually learn, but I chose to use this post as a business metaphor.
    All of the examples you used were exactly how it works in business, you have to walk before you can run. I’m slowly learning this and actually starting to ‘do’!
    After months of trying to master every aspect of business (building of website included), I’ve taken a leap of faith and stepped out and committed to a program launch date! Because no matter how many webinars, programs and trainings I partake in, nothing teaches like experience. It’s scary as hell, but we all have to start somewhere!

    1. Martin Labud Post author

      Erica, thanks! Maybe it’s my German way… although I don’t know if this is a German thing. I guess I always thought in metaphors! It always made things easier for me. I am glad you enjoyed that! Yes, doing, (and teaching) are the best forms of learning!

  3. Mary Beth Leisen

    I am guilty of this a lot. I have books and books on certain subjects – but don’t spend that much time actually doing it. I was that way about meditation for a long time. I’d read all sorts of books on different Buddhist techniques, secular mindfulness, and other takes on the topic – yet I never put my butt on the cushion to actually meditate.

    I love it that you use the biking example because the contrast between reading about it and actually cycling couldn’t be bigger. When it comes to things like coding (for a 100% newbie such as myself), I have a belief that I’ll quickly get stuck and frustrated and that if I read up on it, I’ll at least get farther than if I don’t. But then I never start. Good point, Martin – I’d better get on the bike and give it a try… THANKS!

    1. Martin Labud Post author

      Mary Beth, your comparison is great. The contrast between researching about meditation and actually doing it is also a great one, and a drastic one too! I know there is a time and place for understanding the core concepts, appreciating the details, refining your skills… but (metaphor alert) it’s like art appreciation- you can take a course to appreciate art, but in the end if you want to appreciate the great masters, then you should make your first painting. Yes, most of my points I am referring to 100% newbies.

  4. Connie

    I have been coding for years and learned on the job. Never picked up a book. I started developing websites in 1995 when coding was easier than it is now. It’s great that you put the why before the how. Make sure you know your intention before you go about doing something that doesn’t really help in the long run. However, I must admit those tangents did help at times with ideas for other projects. I believe your steps are very logical for the first time coder. I say good luck to all those first time coders. The rewards are always greater than the challenges.

    1. Martin Labud Post author

      Hey Connie, wow- what a long history you have with developing websites! Impressive~ and without books. That’s what I am talking about. 🙂 Yes, you’re absolutely right about the intention part. It’s something that not everyone identifies when learning a new skill. You’re right though, that there is a time and place for studying and refining your skills to build your repertoire. But for first time coders- I say just jump into a project right away!

  5. Hannah Danto-Dorafsha

    Hmm, could I actually learn to code? You’ve definitely made me think about it! I have been frustrated because I wish I knew it, but I’ve never actually thought about it as a possibility for something that could actually happen until now. According to you, I can do it, I just have to actually do it instead of research the hell out of it (which is definitely my default mode!).

    1. Martin Labud Post author

      Yes! You can actually learn, Hannah. There are resources online that teach coding – and I mean through “doing,” through project-based methods like I mention in the article. One of these courses for me was One Month Rails (which was originally on Skillshare but now it has its own url.) Courses where they teach you- just what you need to know to get your first web-app up and running, celebrate the tiny victory of that- to keep you continuing. To launch a web-app using Ruby on Rails only takes about 30 days! Yes, don’t become research paralyzed. Actually, that’s the story of my life. I love researching. But once I found a good resource and stuck to it, I actually got something done!


Leave a Reply

Your email address will not be published. Required fields are marked *