Can you remember the first software you wrote yourself? Do you remember how good it was? You probably felt like many newbies: a bunch of spaghetti code that you spent a lot of time on, but without much functionality. And then? You learned, dug deeper, and acquired more and more knowledge. This knowledge is to software development what muscle strength is to professional sports, and comparable to muscle mass, knowledge must also be continuously built up and maintained.
Not all developers stick to continuous knowledge building in the course of their careers. Just when the technology has been fundamentally understood and everyday tasks can be implemented without problems, a level of satisfaction sets in that causes further training to fall behind. This is the crossroads at which professionals separate themselves from the mainstream. Just as a professional athlete needs not only muscular strength but also stamina, technique, and the right mindset, developers should be well-versed not only in the actual programming language but also in architecture, security, user experience, and the underlying technology. For example, it is not uncommon for some to spend years developing with cutting-edge web technologies but understand very little about the underlying tech, such as the TCP and HTTP protocols. Yet it is precisely this knowledge that is needed to implement an application that is particularly secure or also particularly performant, for example. With a greater knowledge base, your solutions get better. You can develop features in less time with higher code quality, improved usability, with optimal architecture and continuous stability. Sounds good? It is! This knowledge will pay off not only in improved career opportunities but also in a priceless currency: fun. The better your results, the more fun you’ll have doing them, and the better feedback you’ll get from your clients and your team. And let’s face it: that’s the best kind of validation, isn’t it? So what does it take to increase your knowledge base like this? Let’s take a look at four ways that can help you move forward from the mainstream.
Put an end to stock thinking
The fact that your job title says “software development” doesn’t dictate that you should only deal with software development. A perfect software product has to be good in many ways and the more you understand about it, the more you will be able to contribute. That’s why you can always be curious and look beyond your own nose into all other fields, regardless of whether they are directly or only remotely related to your area of expertise. This includes software architecture, IT security, work methodology as well as product management, marketing, and sales. This will not only open up new perspectives but will also often be met with gratitude from your colleagues. Because of your knowledge, it will be easier for you to communicate with them and put yourself in their shoes. While others are still talking about superficial circumstances, you’re already discussing the tricky details and honing creative ideas in a mutual exchange.
Provide a solid foundation
When it comes to building up a lot of new knowledge in a short time, books and video courses are an unbeatable medium. You benefit from the fact that someone has set out to impart a lot of new knowledge to you as clearly as possible and in high quality. The amount of available media is almost infinite and constantly growing. You can deepen your knowledge in a certain report up to the absolute expert level or penetrate with low entrance hurdles into continuously new topic areas. In our rapidly developing industry, regular further education should be implicit for all developers. Nevertheless, it is often put on the back burner for various reasons – you probably know this. To make it a priority, it’s a good idea to set personal goals, such as reading at least one book or taking a course every quarter. We’ll talk about this in more detail in a moment.
Always stay up to date
By their very nature, the aforementioned media cannot always be completely up-to-date, and not every topic is suitable to be covered in a book or video course. New releases in frameworks, browsers, and operating systems, and new methodologies and architectures, often change the conditions that you need to respond to in your work or how you use them to improve your products. Don’t wait for this important information to be served to you when it may already be too late, take action yourself. There are countless news feeds, trade magazines, YouTube channels, and podcasts that provide you with news and important impulses from the software industry in a low-threshold and often entertaining way. Don’t miss out!
Get the insights
There’s information you can’t find anywhere. How much effort does it take to upgrade to the latest version of a framework that’s important to you, and what are the biggest hurdles? Is this new project management tool really that good, or is it just an advertising promise? The best answers to questions like these come from the face-to-face exchanges you’ll find at physical and virtual industry gatherings like conferences, user groups, and hackathons. Through this personal dialog, you benefit from practical experience and can discuss issues that are topical for you. By the way, it can also be a lot of fun to pass on some of your knowledge to the community.
How about an annual knowledge plan?
Maybe you’re thinking: That sounds all well and good, and I’ve often planned to do it, but in the hustle and bustle of everyday life, it’s a bit difficult to fit it all in. True, we all feel that way. In order to give such important issues the priority they need for your professional success, it might help you to set yourself a few concrete goals. This makes it a little more sporting because once you start, you won’t want to give up on your goal anytime soon. For example, you could set specific goals for a whole year in each of the categories mentioned above. Make sure your goals are measurable so you can see if you’ve achieved them. A goal should not be “read regularly”, but rather a specific value such as “read one book per quarter”. In the following figure, you will find a suggestion for an annual knowledge plan, which you can of course adapt to your needs.
Conclusion
An open attitude towards unknown topics, media such as books and video courses, continuous consumption of news with the help of various online media, as well as regular practical exchange with other professionals, are the ideal means to expand your knowledge base and develop better software products. However, knowledge alone is initially only theory and cannot always be implemented one-to-one in practice. Therefore, experience is another important factor that will make you a top developer, and that’s exactly what we’ll take a closer look at in the next article.