If you’re a web developer like me, you probably follow a lot of design and development feeds daily, to find out what’s going on in the community and if there’s any new useful technologies or resources to use in your projects.

As you know, a lot is going on and there’s so little time to keep track or use them for that matter. I keep bookmarking and categorizing as much as I can, putting stuff in “to-read” lists everywhere only to find out I don’t really have the time or energy to read and learn them all. Some of the stuff I bookmark will come in handy when I need a code library or something like that; I search for “date” in my bookmarks folder and I find 3-4 Javascript date libraries.

But there are more advanced technologies you might want to use, and they are not easy to learn and utilize since you are unfamiliar with them partially or completely. For example a Javascript MVC Library like Backbone.js or CSS Preprocessor like SASS. You really want to start using them, because you need them for one reason or another, or just because everyone in the industry seems to be using them.

I use two different ways to learn a new tecnology or tool and I’m going to explain them. Reading articles and not doing anything with what you’ve read is not going to help you on anything.

So here it goes:

#1: Throw yourself in the deep end of the pool:

This is the most direct and risky approach to learning something new, like when a dad throws a kid in the pool: first he/she drowns and then kicks and startes to swim.

Pick a technology, like I once picked SASS, and then start using it in a real project with a real deadline. This seems stressful but if done correctly it will make your life far more easier. You’ll learn how to use it in a real context and you will be using it again.

The key to this approach is searching and reading the official documentation (if there’s one). You have to be a quick study and search a lot, Stackoverflow is always there to rescue. But remember, you have to avoid getting angry or nervous if something doesn’t work out. Don’t get too mad at yourself for not being able to use the tool or technology right away, It’s not your fault.

#2: Define a weekend project for yourself:

I really wanted to learn AngularJS since the day it was introduced, but I never had the time. I always envied other developers using it and I just kept bookmarking new AngularJS resources and articles. But then I thought maybe I should define a weekend project and do it with AngularJS, so I can learn it.

I love TV Shows a lot, I’ll be watching about 10 shows this season and I can’t wait for them to start, so my idea was creating a TV Show Airtime guide based on the idea of this great article by Tuts+.

Serialgraphy.com’s homepage

I defined the project and started reading AngularJS docs. But since it’s official documentation sucks, I ended up searching my ass off. I wanted to know how to implement the pagination and list filtering at the same time, and I finally did it. Then after learning and making it work, I made it pretty and uploaded it to Github.


Now I know how to use AngularJS and I will definitely use it in a real project. This is the more subtle and fun way of learning new things. This only works if you have some spare time or you are sure that you’re gonna be free this weekend. I love weekend projects, because they are a great opportunity to learn, and you can also share your work and help others do the same.

As a web developer (and a person), you have to keep reading and learning to keep up with the world, because it spins too fast; stop learning for a month and you’re years behind. I know it’s not fair sometimes but it is how it is. As I said before,don’t push yourself too hard, but don’t stop learning either.

Have fun learning new things.