Learning Curve Driven Development

With bootcamps and screencast-style training pretty much the norm for developers looking to learn new things, it seems like the whole industry is more focused on the learning curve than ever before. If you can’t change careers after a 3 month long bootcamp, learn something in less than an hour via screencast, or build+deploy your MVP to production in a weekend, then it’s way too complicated.

It’s a common excuse against all kinds of things from new languages, to transpilers like Babel and HAML, to all sorts of frameworks and libraries.

I think this is the wrong attitude. Even given the most complicated thing you could want to pick up, the time it takes to learn it well enough to get started is completely dwarfed by the time you spend actually using that thing.

When learning something you need to check the documentation now and then, you have to watch (multiple) screencasts, read books, ask questions, etc. Then, besides being able to use the thing on new and old projects, you turn around and start making screencasts, writing books, and answering questions.

If we all only did things that have zero learning curve, soon enough we would have nobody to learn from. Flashback to 12,000 years ago, a group of nomadic hunter-gatherers are complaining that “this hyped up ‘agriculture’ thing sounds like a lot of work.”

The Struggle is a Feature

I’ve been struggling through learning new things for the entire 15+ years I’ve been writing software, and I’m convinced that harder things are often more valuable and more rewarding.

If you’re exited at all about software and writing code, pick up something completely foreign to you and give it a real shot. You don’t necessarily have to build a business around it. You don’t have to submit it to be critiqued by anyone. Just build something with it and I guarantee you’ll find that even things with a learning curve are worth the effort.

There’s obviously value in making things understandable (and well documented). If everything took 4 years of university to get started with… well that’d be stifling. There’s definitely a bit of a fine line between ‘takes effort to learn’ and ‘is daunting and should be easier’.

Aim for things that are understandable with effort.