You might be either a young developer or an expert in your field, the nice (but sometimes frustrating) thing about development is that you'll always find a way to become better and learn new stuff. In this article, I listed several practices that can give you superpowers and boost your development skills.
Feel free to pick some ideas from this article, choose the ones that you like the most. If you also know some tips, do not hesitate to reach by email so I can add your contribution too.
1. Learn English
Okay... you're reading this article in English, so your skills are certainly sufficient enough to understand English resources.
Libraries, frameworks, tools almost always have an English version of their documentation, and many developers use English to communicate or write comments in their projects, even if it's not their mother-tong.
That's why you need to learn the basics of English written communication. Don't be scared: no one will ever ask you to read Macbeth. Technical resources are often specific and get straight down to the point. The more you get used to reading technical texts, the faster you'll be able to spot the key information and understand the whole meaning of the sentence.
2. Read the documentation of the libraries you use
Popular libraries have an important community in charge of maintaining them, and they also maintain documentation websites. There, you'll find reasons to use/don't use that tool, instructions for setup, use-case, examples...
It can also be relevant to re-read the documentation from time to time even if it's something you use regularly: your experience might help you to understand concepts that you didn't get when you started to play with it.
3. Go to conferences, meetups...
... or watch them online, it's greener than plan (... I think 🤔): you'll travel from Sao Paulo to Helsinki and benefit from the experience of rockstar developers right from your desk, your couch, or even in public transports... It will always be more useful than the last season of Game of Thrones! #TeamArya
4. Create stuff
Go out of the step-by-step tutorials. When you test a library in real projects, you'll come up with obstacles where you'll need to find the solution by yourself. And it's because you'll dig into the maze of a library that you'll be able to understand how it is really working.
5. Finish your personal projects
You might have thousands of ideas in your head, and you'll certainly get really excited to jump into a new project. If like mine, your Github account looks like the graveyard of unfinished side-projets, I assure you you're not alone!
However, by forcing yourself to finish them, you'll get the satisfaction of really reaching a new goal, and you would have to solve the 10 to 20% of the most complicated part of the project (cf: Pareto's law). Those projects can become valuable accomplishments to add to your portfolio and help you to show pieces of code that you are proud of.
6. Vary your learning sources
Depending on the media, the instructor, the method... the benefits of the training can change. Do not hesitate to use various sources of knowledge so you can get a better view of the area you're learning.
7. Share your code, and ask for reviews
Confronting your code with other developers will help you to get different points of view on the readability or reusability of the code you just created. Moreover, if you code with the idea that it will get reviewed by someone else, you'll be less tented to take some dirty and disgraceful shortcuts.
8. Share your experience
If you test a new tool/language/library... you should write an article about it. It will force you to formalized what you learned and take a step back from your experience.
9. Try specialties that aren't yourself
If you're a backend developer, take some time to discover the new CSS specifications (flexbox, grid-CSS, etc), if you're a frontend developer you can create a RabbitMQ worker, search for resources about SEO, or discover agile methods.
Going out of your comfort zone will help you to understand the different point of view of your colleagues and anticipate their needs in the future.
10. Allow yourself some moments of rest
You're not a machine-learning algorithm. Your brain needs some time off to digest what you just learned.
- If you don't code on side-projects every day, it doesn't matter
- If you don't write one blog post every week, it doesn't matter
- If you haven't given the last popular framework a try yet, it doesn't matter
- If you prefer going out to the cinema instead of to a tech meetup, it doesn't matter
As the Daft Punk said, you're human after all!