Learning Tips for the Software Developer
The life of a developer
Working as a software developer is the decision to become a lifelong learner. What you learn today has a good chance of being obsolete a few years from now. What is more important is to build a strong foundation of skills and to become proficient at learning new technologies and techniques, rather than putting all your eggs in the basket of a specific technology. Below are some tips on how to learn through the course of your career.
Tips for successful learning
To learn a technology well you need to dive in deep. You can do as many small tutorials as you want, but until you try to build something non-trivial. For example, if you want to learn Ruby on Rails, build a full-featured website. Don't skimp on authentication, tests, DB migrations, etc... It's better if you can build something that has a real purpose; an idea you've had for a website or something you will want to invest time into other than for just the purpose of learning.
There are so many new languages, frameworks, technologies, and it's only growing. So many that you can't learn them all. Don't worry about that. Pick something and focus on it. Free yourself from the burden of feeling the need to be an expert on everything.
It's great to have broad knowledge, but I think what is more important is to go deep on something. If you're area is the web, get really good at that. Learn backend techniques, frontend techniques and database technologies. Learning how to program a robot or low level systems programming may be fun, but if your career is in the area of the web, it most likely won't help you out as much. If programming robots is your thing though, why not try to get into that rather than working in an area you're not as interested in.
Build a strong foundation
Follow leaders in the community
One of the things that has helped me the most is to find leaders in the area that I work in, and see what they are doing and talking about. If Shopify or Thoughtbot is talking about something, it's probably something I want to listen to. If Aaron Patterson or DHH is discussing something Rails related, then I should probably pay attention.
Stay up to date
Learn what interests you
By learning what you are interested in there is a much greater chance of sticking with it and of you actually enjoying what you're learning. It won't seem like a chore if it's something you enjoy.