How to study as a software engineer?

Some approaches to deal with your daily basis demands


After long years of inefficient learning at programming area, I start my studies about how to study (yes, that’s it) and I reach some interesting concepts about ‘demands’. It’s probably looks like obvious, but I only take this serious a couple of years ago, so, I hope you see the value I saw on this content.

Disclaimer: I will not talk about specific study techniques such as Pomodoro or Flash Cards, but a Macro vision of this and the effect of some strategies to your career development.


As a software engineers, the behavior of study is a common thing in our routines, but, you already asked yourself if this studies are efectives? With this question in mind, I want to show you two concepts:

On demand study

This approach is based at Premise: “If you have an issue at your 9-6 job, let’s study this after work to fix the problem”. It’s nothing wrong with this protocol, but it will help you for a short time only and I explain why: The tech market demands change too quickly, with same stuff updated or new concepts and frameworks.

Ex: If you are stuck into a ticket to update a JWT code, you will study JWT and, maybe, authentication at all.

So, If you study only when a problem appears, you will learn a lot of concepts and real life problems, but you never be PREPARED before the new problems of your company (and problems you haven't solved yet). Got it?

This rhythm probably not make you lost your job, but expose you to a dumb risk. I’l draw for you.

The graphic shows a ‘gap’ between your company demand and the market demand. Keep your eyes on it!

Active study

Now, we gonna talk about to accompany the market trends of your language, tech stack or the concepts of your domain (front, back, mobile, devOps, security, etc..). I know, it’s impossible to study every new stuff in the tech bubble (mainly if you are a JavaScript engineer with 845 new frameworks each week), but if you keep looking the trends and advancing in your own study plan (language, tool or concept), you can accumulate a ‘knowledge delta’ (the orange indicator in the image below)

If you grow your delta, you can convert this into a lot of benefits, such as:

  • More knowledge to share with your team (you gain more visibility)
  • More security at your job (because you are a more valuable engineer now and you got less probability to get fired)
  • More job proposals (if you share what you are studying at Linkedin or other network)
  • More repertoire to handle with new issues in your job and side projects
  • And if you have a business:
    • More options to handle with your actual problems
    • More services you can provide (or features to your product)
    • A innovation, who knows

Gold tip

Publish your code at Github and talk about it on LinkedIn. Thank me later 😉

Conclusion

Lifelong learning is a buzzword to a routine to us, software engineers, that’s it. So keep your eyes open to new stuff and follow your study plans and roadmaps. If you are studying javaScript, I suggest to use mine (https://github.com/henriquesss/js-advanced-studies).

Bye 👋

Created with a lot of ☕ by Lucas Henriques