Skip to main content

Learning - E01 - How to keep learning forever and why self-improvement is important

Today I came across this blogpost from Markus on feststelltaste. It has inspired me to document my experience of learning whilst working full-time over the past four years (2019-2023) concurrently. Furthermore, I wish to express my aspiration for ongoing and continuous learning in the future.

I will confine myself to computer science in my examples as this is my area of expertise.

On the importance of Continuous Learning #

I believe that the need for lifelong learning can be summarized by these points:

  1. Knowledge is no state but a process - Best Practices, scientific opinions and even Tools change over time. Your previous conviction, established by your university, regarding the optimal variant may no longer be a practical solution in the present day. In the context of software development - There are valid reasons why mainframe-based COBOL and FORTRAN programs are no longer the norm.
  2. Knowledge is power - Developing a comprehensive understanding of the context is crucial in tackling problems and challenges with efficient and meaningful solutions. This requires both a deep understanding and a broad overview of the situation. At the same time, knowledge can be expanded both in depth and breadth at any time. On that topic, I feel that there is nothing more valuable than investing in your own education.

Fields of Knowledge building #

In my opinion, knowledge can be acquired through four areas, which I will cover below. As knowledge acquisition and learning are influenced by both contextual factors and individual circumstances, this document will provide a comprehensive overview of the process, starting from the early stages of one's career to working in the industry. The first two are the classical forms of (professional) knowledge gathering, whilst the latter ones are the more important since often overlooked in my opinion.

Formal Education #

In my view, pursuing a bachelor's degree (in computer science) is the simplest method of gaining a comprehensive foundational understanding. Keeping true to my principle of doing what I enjoy for a living, I have added a specific Master's degree in IT-Security. The specific subject area can be chosen based on personal interests and preferences. This education provides a solid base to built upon, which I recommend to everyone interested in pursuing a carrier in this field.
Additionally, a doctorate can be pursued to obtain an extensive comprehension of a specific field by tackling a complex scientific research query. However, it should be considered as a means to open doors for future career opportunities rather than a short-term educational pursuit.

Work based Experience and Qualification #

I was fortunate that my employer recognised the importance of ongoing education. This established an opportunity within the organisation to consistently develop, expand one's expertise and specialise.
If you have the chance to select an employer who appreciates and compensates for the importance of consistent education, you should opt for it. You will be paid for learning time that counts towards your working hours, and you will have access to easily attainable development opportunities.

Learning outside the Work context #

The importance of ongoing education beyond the workplace is undeniable. It may be necessary to avoid becoming an expert in a solitary niche for those with a limited field of activity. Additionally, continuing education outside of work enables individuals to explore areas that are either of personal interest or complementary to their professional activity. This allows them to broaden and deepen what they know.
This Field of Knowledge building is especially interesting, as it allows one to learn completely new things, as well as adding to existing knowledge and strengthening one's basic skills.

Private Projects and Passion based Learning #

Private "pet" projects offer the best opportunity to learn, as they are driven by genuine interest and eager - two of the most essential elements for successful knowledge acquisition in my view. These types of projects permit you to implement something in a technology/framework/language that was not approved by your supervisor or to devise a solution for a problem that has been bothering you for a while. Exploring and designing solutions for the purpose of learning provides a great opportunity, even if the result is not entirely practical.

On what and how I choose to learn #

In this chapter, I will explain how I expand my knowledge outside of work and through personal projects.

Continuous Learning in Everyday Life #

What is most significant in this respect, and comparable to my inspiration from Markus' blog post, is the incorporation of short steady bursts of learning into your daily routine. I integrate learning into my daily routine through two approaches: habits and regularly consuming content. As for habits, I've adjusted to reading the news via several RSS feeds (This blog provides an RSS-Feed too) during the time between my alarm going off and arriving at my desk. I consume feeds across various sectors, ranging from politics and software engineering to IT-Security, Technology, DIY, and hacking. You can quickly read the news while awaiting the brewing of your coffee, or read an article about the latest 0-day on the tram on your way to work.
This serves more as an example, but the general rule of thumb is that multitasking does not work. What indeed works is reading an interesting article whilst doing something else like walking on autopilot. But be aware not to fill every free, idle minute with learning or consuming content - it should come as no surprise that this is counterproductive.
Additionally, I listen to podcasts covering similar topics, as well as some related to my hobbies. This can be easily done while vacuuming, commuting by car or train, showering, cleaning, or exercising. I also frequently listen to podcasts before going to bed if I am not currently reading an interesting book on a topic. What matters in all of the above is that small increments add up to a bigger picture and accumulate to a significant input if habituated. Another simple way to acquire knowledge is by swapping sitcoms and similar programmes for talks, conferences, or other educational material. These can be just as enjoyable and entertaining while providing valuable takeaways.
I must confess, I manage to read too few books - another excellent method of gaining knowledge. In my opinion, it is the best way to learn about entrepreneurship, management, negotiation, time management and so on. I typically read during my holidays because it is a soothing alternative to digital screens. Another, more interactive form of continuous learning is attending workshops, meetups, and conferences, something I neglected since the end of COVID. By exchanging with other people, you can not only learn many new things but also network, meet friends, or even find your new entrepreneurial partner.

Personal "Pet"-Projects of Passion #

All of the aforementioned methods are more or less passive ways of acquiring knowledge. It is important to complement this with practice, as actively learning provides a much easier way to improve. What I learned most from in the past were the projects I started out of interest and enthusiasm, often spontaneously (You can find an excerpt here.) As previously mentioned, exploring a new field or technology can be an excellent way to gain knowledge.
In addition to tackling projects on your own, it can be worthwhile to learn from a partner, such as by participating in a Hackathon or pair programming.
Personally, I am able to greatly extend and build upon my knowledge by pursuing my passion for technology and experimenting with new hardware.
What truly counts in all the aforementioned scenarios is reserving a sufficient amount of your free and spare time in advance for contributing to your own projects, as well as exploring and hacking – otherwise, you will not progress and will gain no knowledge. Exemplarily you can block a timeframe for Saturday morning in advance in your calendar to invest in programming whilst drinking several coffees and listening to music. Nevertheless, time management is another extensive area that I have yet to master.

How to learn #

But sometimes, learning how to learn is more important than what to learn. It is extremely important to remain open to other people's input and shared information, always striving to improve your current knowledge. Be receptive to new opinions and never stop questioning everything you have learned so far. Just because you have years of experience in your field, doesn't mean the inexperienced can't know better. When in doubt, you can only learn from them.
There is no need for false pride in admitting when we lack information. It is crucial to recognise the limits of our knowledge and understand how to obtain the missing data by identifying the appropriate sources of assistance. This is far more valuable than pretending to know everything.

What to avoid doing #

Do not be an expert beginner - this blogpost covers the problem of stopping to learn in great detail.