In Software Development By Leigh Halliday January 09, 2015 Leigh Halliday

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

Dive deep

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.

Focus

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.

Specialize

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

There are certain skills that will help you throughout your whole career, and you should focus on excelling at these. Learning and understanding SQL will help you your whole career, even if you're using an extraction layer to interact with the database. Learning Javascript well will help you use either Angular or Ember more effectively, and will help you make an educated decision among various options.

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

It's important to stay up to date in the field that you work in. One of the important reasons for this is to be able to make informed and up to date technical decisions. Without staying up to date you might think script.aculo.us is the hot trend in Javascript right now. The best ways to stay up to date are to follow developers on Twitter, listen to podcasts, and to read respected blogs. If you have the opportunity to attend conferences, they are also a great way to meet fellow developers and see where technology is headed.

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.