Cultivating Constant Learning

Written on 12/2019

Back in 2012, when I was just starting my career, I heard a piece of advice from a startup founder:

If you feel like you have stopped learning at your job. Maybe it is time to move.

This phrase resonates inside my head since then as a reminder of how important constant learning is.

Pursuing that, this year while working at adidas, I participated in a program to develop leadership skills, called MDE. As part of its final module, I had to write about what I learned throughout the year, not only through the trainings but also based on the experiences I had.

I took this opportunity to also start this blog. I plan to make it a place where I can write about technology, software engineering and learnings. I hope you enjoy it!

Mindset

During the first module of the MDE, mindset, I learned the benefits and the science behind a life of constant learning, and today I see this as one of the most important skills a person could have, and that's in every area of life, not just software engineering.

We know how hard it is achieve constant learning when you become overwhelmed. There's so many things that seem more important: meetings, finishing up a project, life... So, I prepared a few tips that could be used daily to get out of this zone and take a step forward. It worked with me and I hope it can also help others:

Resources

Books are typically a no-brainer when you talk about learning, but I must confess: I get bored very easily when reading one. If you find yourself in a similar situation, let me share a few tips:

1. Short reads

Look for materials that are short and you can read in 5-10 minutes. I subscribe to some newsletters that provide me with short reads and keep me up to date with the news while also offering a good source of information from experienced professionals.

  • Node Weekly
    • If you work with NodeJS, that's probably the best source of information to keep you up-to-date with the latest on node world.
  • JavaScript Weekly
    • Also a great resource more generic that covers not only NodeJS but also JavaScript in general. You can typically find here news about web development, ECMAScript, and much more.
  • Software Lead Weekly
    • Probably one of the best newsletter about Culture, People and Leadership in Software Engineering.
  • Android Weekly
    • That was the first newsletter of its kind that I started subscribing. Same as the above, but for Android development. I still follow it today, even though, at the moment, I am no longer actively developing Android apps.
  • Product Hunt
    • I am not sure you can consider product hunt just a newsletter, but it is definitely a great source of information about new products and disrupting technologies out there.

2. Tools

Just like in software, the right tooling can help you become even more efficient when learning. The list below outlines a few I use the most:

  • OneNote
    • I first used OneNote at adidas together with the Office365 suite. I found fascinating the flexibility to take notes, drawing, moving things around, pasting images and much more. I find it the best note-taking app and I constantly use it to brainstorm and take notes while reading or watching videos.
  • Pocket
    • I'm sure you will find a ton of resources during your research, and most likely you will not have enough time to read them right when you find it. Pocket is an app that allows you to save content for later. It has a mobile app and browser extensions for you to save content anywhere and simply read it later.
  • Anki Notes
    • That's a new gem I found on the internet, and that might be new for you too. Studies shows that repetition is one of the best ways to memorize something. Anki notes is a simple memory app that takes content and shows them to you based on a fancy algorithm to help you memorize them. It works great when you want to remember good quotes from materials you read in the past.
  • Readwise
    • Similar to the one above, Readwise syncs all your highlights from different services (including Pocket), and sends you an email every a few days so you can memorize these learnings and keep reminding then throughout your week. "What good is your reading if you can't memorize it?"

Practice

What is learning worth if you don't put it to use? As part of MDE we also had the opportunity to learn new things and put them to practice, and in order to share my experience, first, I need to tell you two big challenges I have:

I currently work on a very complex area of adidas ecom website, the Checkout backend. This little part of the whole website gets complicated when you start thinking about product types, delivery methods and payment methods that can be completely different for every single country. Take that off and you still have a ton of other backend systems that needs to work together. If you think that's not enough, just like any other big company, adidas has their own legacy systems that we need to maintain the compatibility.

With that in mind, there's still the second obstacle as a team lead: How to make people self-motivated?

Initially, I never thought these two challenges could be connected.

What actually motivates people ?

Through MDE, I noticed there's a lot about the topic, so let me just outline what I found to be the three main pillars of motivation:

  • Can you do it?
    • Understanding of the problem (knowledge) and time, these are essential for people to be motivated to take any work. If they don't know what is required of them, they will think twice before taking any decisions.
  • Will it work?
    • This comes from the belief that what they do, or the plan that they have outlined to solve a problem will actually work. If someone has a plan but they have no belief it will accomplish what is needed, well... They will also think again...
  • Is it worth?
    • Worthiness relates a lot to the importance you give to solving a real problem. If you can do it, you know it is going to work, but this doesn't bring any value to you, then why should you do it? People need to see the benefits their solution brings to them and it must be worthy.

After reading all the above I felt like I understood much better the problem and I came up with a first solution to that: Knowledge Sharing Sessions. These are typically 1 hour weekly meetings where someone explains a given area of knowledge that he/she knows best.

Knowledge and understanding of our tech landscape is complex. I work at this same team for two years now and for me it is still complex. Imagine for someone who has just joined the team? Believe me, I am not just talking about different technologies.

Outcome

The results of these sessions were quite surprising. At the beginning, it started only with our team of 5-7 people, and while sharing to others, the session quickly grew to around 20+ people, some of them I don't even know, which is super cool :-)

The feedback was very positive, and it was soon replicated to other teams.

Where do I go from here?

This text used mostly learnings from the MDE program itself, but I am hoping that in the future I can also share experiences from sources that I mentioned before or that I will encounter through my career.

If you have any feedback (good or bad) on this post or you have other hints/tips that could have help me. I'd love to hear from you!