To be honest, it’s a really subjective issue. Everyone has their own way to learn and advance. So I will just outline what I do to get better at what I do. The examples in this post will relate to CSS and CSS Preprocessors, but can be applied to virtually any coding language and even other unrelated fields.
1. Wax on, Wax off!
It’s the first rule of the Unwritten Book of Getting Better at What You Do: Practice Makes Perfect. Once you acquire a new skill, you should aspire to use it whenever you can, so you can learn to use it better and faster. This is true in every aspect, from sports and martial arts to coding and development.
While some things in CSS are rather simple to master, like background-color or borders, some CSS selectors and properties can get really complex to learn and use, like Flexbox and Grid.
Just like Mr. Miyagi taught Daniel Karate through what seemed like housework, you can learn to apply your new skills into your work, by applying them in simple ways first. Use Codepen (or any other coding playground) to create small page projects and small snippets where you can experiment with new things you learn, simple or complex and learn to apply them faster.
2. Stay up-to-date
2a. Follow, Read, Repeat.
First thing’s first, if you don’t have one already, get yourself a twitter account. A whole lot of information is being tweeted all the time, and a lot of it can help you learn new specs, methods or just improve your knowledge.
This site has been on my favorites list ever since I started in this field. Always a great resource to find something to read, learn or someone to follow.
- You can find a list of cool people to follow to get you started here.
- You can find a list of great sites to read and keep yourself up to date, here.
Sure, it’s not always simple, but if you have a chance to go to conferences, DO IT. They are a great way to learn new things, improve on previous knowledge and meet new people to follow and learn from. Some conferences are expensive, and the expensive ticket prices do not usually include travel and accommodations but they might be worth the price. Before you jump at just any conference you find, try to see if the talks they have scheduled are at least partially relevant to you. A small list of conferences (and definitely not a definitive one) can be found here.
You can find a lot of conferences, sorted by location and dates here. This might make it easier for you to find conferences that are closer to where you live and work. A lot of workplaces might agree to send you to conferences as they help improve your knowledge and productivity.
3. Research, Development and Experimentation
Once you know how to use something, try to get better at it. For example, Learn shorthand and when to or not to use them. Take time to experiment with layout systems. Start working with CSS preprocessors like SASS or LESS. Find ways to make your coding faster, more efficient. Understand the DRY concept, and find ways to combine it with your chosen preprocessor.
When you read about a new spec or a new way to use something that is new to you – dive right in and start to use it as soon as possible (usually new CSS features are supported in experiments/labs/flags quite quickly, although bugs might affect your results.
Go on StackOverflow and answer questions. Don’t just throw “Use Flexbox” into the mix. Write why they should use it, and why. What makes X the best answer. Writing these things will get them into your head.
4. Rinse, repeat…
All coding languages are constantly evolving, and best practices change all the time. Keep reading, keep coding, keep finding ways to challenge your skills, and you will stay on top of any language you want, once mastered.