Member-only story
You can’t know everything (and where I get my knowledge from)
I often get asked by aspiring software developers where to get more knowledge and what to focus on. Even after 26 years, this remains a very difficult question. A big part of our profession is to keep up with everything that happens in our (not so) little world. The good thing is that you can make a distinction between knowledge that is relatively timeless and knowledge that changes with every back-end and front-end library or framework. The first category includes practices like design patterns, integration patterns, architecture styles, unit testing and Test Driven Development. But also principles like unit testing, Test Driven Development, SOLID, DRY, KISS, YAGNI and how to work with an agile mindset. It never hurts to invest in those since you’ll benefit from those for the rest of your career.
The other category is more focused on whatever is hot. Choosing where to put your time and energy is a lot harder. My general advise is to keep tabs on what is happening in that area so you roughly know the pros and cons of the relevant tool, framework or technology, and only dive into the details when you need to. I don’t believe somebody can be really proficient in multiple platforms and programming languages. In fact, even if you choose just one, there’s still a lot going on. Just look at the .NET space. You can build Windows application with…