When you start, learning how to code can look like climbing a big mountain. You won’t become a developer over night. I like to spend my time as effectively as possible. Over the years, by trial and error, I discovered processes that helped me in my learning journey. I would like to share some of them with you.
1. Create a Schedule
Okay… so how to climb this mountain?
The answer is easy (and not satisfying): step by step.
We live in a world of instant gratification. While this makes sense from the biological point of view, the modern world requires us to be more sophisticated. The ability to delay gratification is a highly valued skill nowadays. If you want to read more about it, I recommend this article. Forget about the top of the mountain – our brains don’t work that way. Just make a small step forward. Every day.
Let’s say you can spend 30 minutes on learning per day. This will give us 15 hours of focused work every month. All you need is a process and the right direction.
2. Write Down Your Progress
Along the way, you will learn a lot of new concepts. It can be hard to keep track of everything you have learned so far. It’s good to have a method to organize your knowledge. You have a couple of options here:
- mind maps
- journaling
- Notion
- Google Docs
- Confluence
I’m an advocate for journaling, but I use it for much more than IT-related stuff. I feel like writing by hand is better for my memory than typing on the keyboard. If you are wondering about the benefits of handwriting, check this infographic. It doesn’t really matter which method you choose – pick whatever feels good for you.
3. Create A New Project
When you work for too long with the same codebase, some parts of the development process will get repetitive. This is especially true for developers that are working for a long time on a single project.
You can create a side project for different purposes:
- study the topic you are interested in
- explore a new business opportunity
- simply take a break from your main project
Another kind of project is PoC. As a part of my job, I had to do several of these, and I always enjoyed working on them. PoC stands for Proof of Concept. For example, let’s say you want to upgrade your project and replace an old library, but you are not sure if the new library will fulfill the requirements for your project. You can create a PoC, where you will try to use this new library. This project will act as proof that the replacement is a viable option.
Creating a project from scratch refreshes your knowledge and allows you to start with a clean slate. Switching the project, even for a moment, can be a great refresher.
4. Doing is Better Than Reading
Probably the most important point in this article. As the saying goes, “practice makes perfect”. Don’t stop on reading about the topic you want to learn. Programming is a craft, and to truly understand any subject, you have to implement the knowledge.
I’m usually going through 3 phases when I’m learning something:
- reading – you need to start with some theory
- following another developer step by step – codelabs and YouTube videos are great examples
- implementing the concept for my own needs
Simply speaking, if you want to learn how to code, you have to code. Is that obvious? Maybe, but many coding adepts are falling into the trap of reading, but not doing (including me, but I’m actively fighting it).
5. Work On Your Portfolio
This is a side effect of points 3 and 4. Showing your activity on, for example, GitHub, looks really good in job interviews. There is no better proof that you understand the topic.
Again, you won’t create a portfolio over a day – but when you make a habit of creating projects related to the topics you are currently learning, your portfolio will slowly grow.
6. Be Patient (and have fun!)
Let’s talk about the general learning curve.
Your goal is to pass the desert of despair. This is where most people fail. To get through, you have to realize that achieving your goal will take time and energy. You need to stay focused and constantly push yourself.
I guarantee that you will encounter many obstacles along the way. Be patient. Move slowly, but regularly. You will have your ups and downs, but in the end, it is really up to you to get to the mountaintop.
At last, remember to have fun. Enjoy the road!