Learning to code is like learning to ride a bike. A mountain bike, that is.

Stacey Zander
3 min readOct 31, 2019

--

I recently dropped my life as I knew it and started a coding bootcamp with the Flatiron school. As I take a moment to reflect upon completing our first three-week module, I can’t help but notice how much learning to code is very much like learning to do one of my favorite things: mountain biking.

Let me explain. I’ve been mountain biking for upwards of 15 years, and I started coaching women in the sport 4 years ago. When I first took my coaching certification, I thought “well, these are great skills to throw in my back pocket and word vomit at future beginners.” I never thought I’d actually use any of those skills because they were, well, easy. Simple fundamental maneuvers that I didn’t think applied to my riding, because I was already a decent rider.What would I do with beginner tips other than dish them out to newcomers?

Well, I was wrong. The more I coached, the more those fundamental “beginner” skills became ingrained in my psyche. I found myself thinking about technique while riding. And I suddenly realized that I was doing everything WRONG. I wasn’t looking far enough ahead, I wasn’t braking properly, I wasn’t moving my bike fluidly underneath me — I wasn’t hardly doing anything I was teaching others to do! When I started to apply those skills to my own riding, I became significantly more confident, faster, and more technically capable.

I can’t help but be reminded of this as we move beyond the first few weeks of the coding bootcamp. We started at the bare-bones basics of Ruby and have worked up to building classes, complex relationship models, and even our own CLI apps. We hadn’t touched Rails until this week. Now that we are being introduced to the vast functionality of Rails, I can see why some new programmers are tempted to skip straight to Ruby on Rails before learning Ruby on its own. Look at all these quick and easy shortcuts! There’s so much code built right in! This is easy!

But it turns out learning to code is just like learning to mountain bike. If you don’t learn the basics at some point, you’re limiting your abilities. If you don’t know Ruby, you’re going to get stuck in Rails because you won’t understand all of the magic that lies beneath. Can you build a simple website learning Rails only? Sure, but you’ll only be able to do so much. Not to mention it will likely take you a lot longer to learn. And debugging will be a nightmare.

Does that mean everyone should learn Ruby then RoR (or any programming language/framework) in a linear fashion?

Of course not. That’s not how I learned how to mountain bike. All it took to become a decent rider was getting out with others and practicing. But it wasn’t until I learned what beginners are taught in a clinic that I was able to dive deeper into my own skills. I learned what I was missing out on, and I could pinpoint my mistakes as I was making them. I could finally understand what separates the good riders from the great ones.

It’s the same with learning to program. If you jump straight to the framework with all the fancy tricks and pre-written code, you can definitely build a quick and dirty website in no time flat. It’s satisfying. It’s fun! But quick and dirty is likely all your websites are going to be until you take the time to learn the language your framework is built upon. That’s where the hidden magic happens. That’s when you become a programmer.

--

--

Stacey Zander

Mountain biker. Also: software engineer, scientist, and other equally important things