When I first started programming a few years ago, I was amazed by how passionate developers seemed about their work. There were long fiery discussions about the benefits of one technology over the other and the possible applications of a freshly announced tool. Members of the community would one another. People would openly share their knowledge so everyone could grow. I sincerely doubt that any other industry is that open to sharing experience even between companies. help Discussing this with my team leader back in the day, he told me something that would forever shape the way I look at the industry we work in. Software development is more of a lifestyle than a regular job. Software engineering is than a job. It’s a never ending journey. A journey about and . But most of all it’s a journey of constant . more solutions improvement learning I guess most of us got into programming, because we wanted to build challenging products, play with the latest technologies and have fun doing it. In order to remain on the bleeding edge of the industry, however, we spend a lot of time learning and practicing new concepts. Acquiring New Knowledge The thing that fascinated me most in software development is the depth of its knowledge pool. As a person who enjoys , I fell in love with this craft because every day could bring something new to me. learning There was always something to scratch the itch. I had the opportunity to tackle different problems and solve complex puzzles on a daily basis. Anything else I’ve ever taken up has got me bored at one point or another, but programming never ceases to provide a more difficult . Thus keeping your interest and forcing you to do your best. challenge Learning, however, is not just an but a as well. The industry that we work in is incredibly dynamic and in order to stay relevant and competitive, acquiring new skills and improving our mindset should be one of our biggest professional priorities. opportunity need I work as a JavaScript developer and saying that the ecosystem has a high churn rate would be an understatement. But nowadays there is so much to learn. So many new tools and technologies are being released that keeping up becomes a second full time job. We tend to flock to new and appealing ideas, quickly proclaiming older techniques as obsolete. The Trap of Learning Learning is addictive. It triggers your feelings of accomplishment and makes you feel smarter. The dopamine rush you get when you finally reach the moment in a complicated topic can’t be bested by many other feelings. Aha! Knowing this, it’s easy to fall into the trap of . Not that it is bad, but it is counter productive when we are doing it just for the sake of it. constant learning Following the , we realise that of the time we only use of our skillset. So I have the rather unconventional thinking that instead of learning a bunch of new things that we would never put in use, we should focus on improving ourselves in the that we actually use on a daily basis. Pareto principle 80% 20% 20% Escaping the Trap The most important thing to realise when it comes to learning is that we will have the ability to learn nor do we need to. never everything If you are excited about something new and you have the desire to sink some time exploring it then perfect. But doing it for the sake of employability and keeping on the bleeding edge is not the best way to spend your time. It’s important to understand that changing technologies is more of a decision rather than a purely one. A company won’t switch it’s tech stack to the new hot thing unless there is a solid reason for that. business technical So don’t worry if you’re not on the bleeding edge of technology you will not fall behind that easily. Try to avoid articles that go into the extremes and claim that a certain tool is a week after a possible competitor has been released. Your tech stack will not become obsolete overnight. dead Practice and Repeat The act of learning something new is great to make us feel that we’re making improvement. But you won’t necessarily need all the knowledge you can find. Falling into the trap of learning usually leads to us acquiring a lot of theoretical knowledge out of our scope that we would never put in practical use. The solution for me was to be very selective about what I study and not beat myself if I haven’t learned anything new during the day. Learning alone would not give us the intuition of when to use particular tools or paradigms. The only way to gain real experience is through practice and repetition. The Fundamentals Practicing fundamental concepts is a perfect way to keep your mind sharp. There are really challenging problems to ponder and no matter how much time you’ve spent on a topic there is always something to learn. Computer Science If you are into reading, there is an abundance of . If you have the need to crunch some code, you can always find a challenging algorithm to write. Putting constraints like time and space complexity raises the bar even further. interesting papers My decision to go on a journey of learning more about was incredibly rewarding. Exploring currying, composition and functors expanded my mindset a lot more than learning new libraries. functional programming Teaching Passing your knowledge to someone else is a proven way to see how much we have to learn on a particular topic. still In my opinion, is an excellent way to think of problems in a different way. When you learn something you understand by putting it through your own prism. You create a subconscious explanation of it for yourself and build up the intuition for solving the problem at hand. teaching When we are we build analogies to make hard topics easier to understand. When we are , however we need to put ourselves in the audience’s shoes and make good enough explanations and examples. learning teaching The goal is to have them understand the topic without relying on the fact that they have the same thought process as us. You don’t have to teach a course in person to reap the benefits of this. Even writing a will help you expand what you know about a particular problem. short blogpost TL;DR Learning new things is one of the biggest motivators behind programmers. Acquiring skills and knowledge is an essential part of our careers. In order to spend our time properly we need to be careful about what we invest time in. You will never learn everything nor do you need to. When in doubt focus on improving your fundamentals. Passing knowledge through teaching is an excellent way to solidify what we already know. Newsletter I run a small newsletter in which I share thoughts, musings and wisdom about software development. No tutorials or ads. Just things that I’ve found worthy of pondering sent to you every few weeks. If this sounds appealing to you you can subscribe . HERE Clap and Share If you liked what you read hold the clap button for a bit so this article can reach more people. Share this with a friend or colleague who might find it helpful. Any feedback is welcome!