22

What are some healthy habits to gain & retain knowledge?

Profile picture
Mid-Level Software Engineer at Taro Community2 months ago

Often times, I find myself finishing stories assigned to me. However, I research only what is required for that task. This approach hasn’t helped me call myself an expert in it. And eventually I even forget what I had learnt. How do you approach a situation like this? It feels like I am doing tasks but not getting anywhere.

586
3

Discussion

(3 comments)
  • 20
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    2 months ago

    I love this question! I am very glad you are self-aware that your current model has limitations. When it comes to this topic, I have 2 big pieces of advice.

    Be Curious

    The main operating principle here is to explore anything where you don't feel like you have a core understanding of it. The classic example is fixing a bug where you have some hacky fix that technically addresses the issue, but you still don't know what the root cause is. In these scenarios, you should dig deeper to find the root cause, understand it, and then put out a proper fix.

    The failure mode here is that you keep exploring as long as you feel like you don't have a 100% understanding. A true 100% understanding is usually impossible to get and its pursuit can easily lead to you rabbit-holing and wasting a bunch of time. More thoughts on that here: "How to avoid going down the rabbit holes when learning new things?"

    Write, Write, Write

    This will help you retain the knowledge in particular. As an engineer, you should always be writing as a natural byproduct of what you're doing (i.e. it shouldn't feel like an extra thing):

    1. Write clean PRs with descriptive titles, context sections, and test plans
    2. Write down new context and progress updates into your tasks as you work on them. Turn your Jira/Asana/Linear tasks into journals effectively. This is especially important when debugging
    3. Write system design docs for larger projects
    4. Write meeting notes before, during, and after your meetings
    5. Write down answers to questions into wikis if you feel like you're running into them again and again

    Here's a good thread breaking this all down in more detail: "Tips for someone with poor working memory?"

    Here are some courses that talk about this too:

    • 0
      Profile picture
      Software Engineering Intern at Series A
      2 months ago

      totally agree with the curiosity part. but the curiosity part often comes from being genuinely curious/passionate about the topic. it's hard to fake curiosity (you could still dig in, but it would feel more like a grind and less of a rewarding experience)

      in such cases do you recommend reconsidering what we wanna do in our career? like change domains, change career, etc. but obviously that's easier said than done...

      any advice?

    • 4
      Profile picture
      Tech Lead @ Robinhood, Meta, Course Hero
      2 months ago

      Great question! A course about broader career direction (which includes finding passion) is on my roadmap. If you aren't genuinely curious/passionate about something, it's usually due to 1 of 3 culprits:

      1. You are in a slump - Nothing will be interesting to you because your brain simply isn't in a good state right now. The best cure for this is taking a long break.
      2. You don't resonate with the space - In this case, you need to explore and switch.
      3. You don't care about the people - Most people are aware of #2 but not nearly enough realize that this is a huge factor. If your manager/tech lead give you a task, but you simply don't like them a lot as people, you will be intrinsically far less motivated to accomplish the task and do a good job about it. This also means that you will be far less willing to go the extra mile and explore your curiosity, like with finding that bug root cause as I mentioned before.

      I have seen a lot of people think that they are facing #2 when they are actually facing #3. When you are staring down a lack of enthusiasm, ask yourself if #3 is the real reason. You don't want to throw away a field you would really thrive in if you were to put in the effort. This is why I always tell people that having a good manager is the most important. Having a good manager solves so, so, so many problems.