The Best Way to Learn a New Framework: Find a Topic You’re Passionate About and Run With It

Dave Berning
4 min readJun 21, 2017

--

Learning a new programming language, a new framework, and/or a new skill is a daunting task. As a web developer trying to keep up with the field, it can be stressful. Technologies seem to come and go every six months to a year; there’s always the next up-and-coming framework around the corner.

Addition: 2016 — VueJS so hot right now.

If you’re coming from a strictly HTML/CSS background like me, taking the next step into the JavaScript world can be extremely intimidating. I mean, I’ve lived in this “jQuery comfort zone” for many years. A few years ago, as a young and naive developer, I thought all I ever needed was jQuery; boy was I wrong. I noticed all these neat frameworks and what they can do but never thought that I was skillful enough to use them. I would take a brief gander at some examples and was immediately intimidated by them and continued doing what I did best.

It wasn’t until I started my latest job that I had to get serious about PWA’s and JavaScript frameworks. I started this new position creating and maintaining AngularJS applications for a popular custom home builder. I enjoy working there but there was a problem: I had no idea what I was doing. In order to get caught up to speed I had no choice but to invest some time outside of work and learn AngularJS (the framework they used).

My Beef With The “Hello World!” Tutorial

I’ve spent lots of hours watching tutorial videos on Lynda.com and other sites. They’re great resources but all their courses have one thing in common — Hello World!

Don’t get me wrong, the “Hello World!” example is great when learning a new programming language but everything starts off with that. In my opinion, if you’ve been developing for a few years, those “Hello World” tutorials do you no good. And by that I mean, it can become rehearsed and dull; it shouldn’t be dull, it should be exciting!

In my opinion, if you’ve been developing for a few years, those “Hello World” tutorials do you no good. And by that I mean, it can become rehearsed and dull; it shouldn’t be dull, it should be exciting!

Find Your Own “Hello World”

Let’s find your own “Hello World” app. I tend to use my “Periodic Table of Elements” app as my tutorial app for each framework I’m learning. This also helps me retain information by comparing one framework to another. So let’s get started.

Step 1: Pick a Topic

Instead of learning AngularJS the “traditional way”, I decided to create something about a topic that interests me. This is the most important part of this approach. Without an interesting topic to work with, you might as well ignore this entire article. My friend Ryan is currently learning HTML and CSS. All of his learning exercises are related to Jeep’s which keeps him motivated.

My wife, our rocket scientist friend (really), and I all recently traveled to Washington D.C. for the March for Science. I love science and everything about it. So naturally that was my topic. Anyway, my point is that I’m passionate about science so for me, it was a no-brainer.

Step 2: Come Up With An App Idea

You have your topic and now it’s time to come up with an app idea. Try coming up with a brief list of ideas even if it’s been done before. Remember, this application doesn’t need to be the next big thing it just needs to be interesting enough for you to learn. Here are some of the ideas that I came up with for my science theme.

  • Periodic Table of Elements Application (final choice)
  • Animated Planets and Moons of the Solar System
  • “You Weight on a Planet” Calculator App
  • Planet Weather App

Step 3: Get to Work

You have your topic, you’ve fleshed out an idea, now it’s time to get to work! You can follow the “Hello World” tutorials if you want but by taking this new approach, you’re more likely to solve real world problems. Problems like needing to extract data from a JSON file or a service and process that information in a factory. This also helps your developing and troubleshooting skills.

Conclusion

By taking this approach I saved hours of time learning AngularJS. Not only was I able to learn a new framework fairly quickly, it was fun and I ended up with a pretty unique piece that I can add to my portfolio.

Do you have a topic that you’re interested in? If so, what is your app idea and which framework or language are you trying to learn? Respond below and help jump start an idea for another developer.

Originally published at daveberning.io on June 20, 2017.

--

--

Dave Berning

Software Engineer from Cincinnati. I work on JavaScript apps with Vue.js. Writer for Digital Ocean, Front End Weekly, and organizer of the #CodePenCIN meetup.