Learning sustainably
2024-05-07 | 1 views
Learning is one of the cornerstones of becoming a good developer. A lot of developers go to university first to get a bachelor's degree or master's degree where a lot of knowledge is acquired. But in a lot of cases after the degree is attained and a couple of years of working experience is achieved the learning at home, fun side projects and overall love of code reduces or becomes null. I have found that the way to combat this is to make learning at home sustainable. This means that it should stay fun, it should not feel tedious.
To go a little bit into my personal journey to get to my findings, after attaining my bachelor's degree I started a traineeship at Quintor. This is an IT consultancy firm which taught me a lot of valuable lessons during and after this initial traineeship. During this traineeship and after I also was an avid enjoyer of watching Udemy courses. I have completed dozens of them but eventually it started to feel like a grind. Which is why I quit for a while. After reading into some other fun projects and some friends of mine starting their own business I poured myself into a personal project which took up almost all of my free time during more than a year (the time during corona). After I didn't feel like I was enjoying the process but that I just wanted it to be over. I did realise however that through this journey I had learnt a lot! Which was very valuable. After thinking a while about it and hearing views of theprimeagen I changed my way to look at learning new things at home. I think consistency is key! As in most things. But this also means that it should be sustainable. If you don't feel like working on the project, don't do it! If this feeling keeps on for a week, just try to work on it in small increments of time which keep it fun!
If this story above seems familiar to you I can guarantee you that finding a way to keep learning fun is very important. The lessons that are learnt at home are the most valuable and fun!
Benefits of learning what you like
Aside from spending more time studying than your colleagues, and I know it is not a race but in the end some extra promotions wouldn't hurt. The biggest benefit I have noticed is that you get a lot of experience outside of the stack that might be used at your place of work. It happens too many times that people only have experience in the tools they work with, and once they start looking for work they have a very narrow window to look in to.
Another big benefit is that different tools or programming languages force you to look at problems in a different way. This can also help with getting a new perspective on the problems that are currently facing the company you currently work for. An example of this is once I started learning C and how pointers and data types worked, I got a better understanding of what is happening under the hood of the language I used for my work (javascript). I got better at optimising my code and when I ran into quirks of the javascript language I was more able to deduce back to the way javascript is compiled to find a good solution.
Love of programming
Of course learning new skills to have more tools in the toolbox and improving your current abilities is great, but I initially got into programming because I liked computers. The first time I wrote a program was magical, and there were times where I was so stuck in all the work I had to do that I lost this magic a little bit. That is why I think doing fun personal project, which maybe don't even teach you new things but are just fun are also very very important. They keep programming fun! And don't we all want to love our work?
My personal advice
If you feel like you want to learn more but you get burned out when throwing yourself into it. Here is what I do.
I try to always have something I can work on, be it a personal project, some coding challenge (advent of code is great), some course or a side hustle. I do this because once I have some spare time where I get bored I can pick up where I left off and put some time into it. I also try to rotate between the aforementioned modes of learning to keep it fresh. After doing courses for a while it can get boring, and I also think that a course is great to get you introduced into a subject but not good for maintaining or deepening the knowledge. So doing a personal project with the new skills you have learnt is a great idea! Sometimes when I dont feel like all of the above I spent my time configuring my setup some more, what linux distro do I want to try, can I improve my TMUX setup, is there a nice desktop environment that looks cool!
Most importantly you have to find a way that keeps learning fun for you and makes you able to stick to it long term, rome wasn't build in a day and your programming legacy won't either. It takes small steps but a lot of small steps is further than you will ever get sprinting for a short while.