I feel lucky to be a software developer. Things are changing rapidly around us these days. New languages, frameworks, libraries, methodologies, patterns are showing up every day. So quickly that it's frightening, you have to keep learning all the time! I see this as an opportunity. An opportunity to learn how to learn and get better at it. Here some tricks I've been following:

First, failing is learning. So be aware of that. We learn from mistakes. The pain of a failure will make you not to repeat that mistake again, it's the quickest way to learn. So fail fast. The faster you fail, the faster you will learn.

This reminds me a quote from Batman begins:

Bruce: I wanted to save Gotham. I failed.

Alfred: Why do we fall sir? So that we can learn to pick ourselves up.

But failing is not enough, you have to learn from reflection. Each time you fail observer the failure. Why did it happen? How can I avoid it next time? Don't get attached to the feeling of failure - this is difficult.

This is not just for failures. Every day, every week, every year look into yourself. What have you achieved? What did you do wrong, what did you do right? Why? Think, observe yourself and learn from it. This is in-line with the great Eastern cultures like Buddhism where contemplation is a big thing.

You have to also explore. In order to learn new things you have to try new things. Obvious, right?  We all are used to doing the same things over and over again every day. We are lazy. We are afraid to fail when trying something new. But that's silly. You should try to do new things, if not how would you discover them?

To make the best of this your have to get out of the comfort zone. Do things that you wouldn't do normally because you would be afraid to fail. Failing is learning, so it's okay if you fail. Explore as much as you can without the fear of failing. Do crazy things if you have to.

Embrace Kaizen philosophy and continuously improve. Always seek for perfection. Fail, reflect, learn and improve. Rinse and repeat. Every time getting a bit better. Be ambitious.

And the most importantly, make it fun. Learning should be fun, find that motivation.

As I said, being a software developer forces me to learn fast and get better at it. The thing is that this is a skill that you can apply not just to software, but to your life in general!