Taro Logo

Improvements based on performance review - MLE

Profile picture
Mid-Level Software Engineer at TikTok12 days ago

Feedback

I got feedback on the last two quarters since I joined the company on three things:

Impact - E; Teamwork - M+; Technical Skills - M

Except for that, something that I was lacking was leadership & ownership.

Current Level: Mid-level.

Question Focus

  • I wanted here to discuss my struggles in improving my technical skills & leadership. And what mindsets & behaviors I need adopt.

  • My focus is more about getting a good rating & having a good bonus. And less about promotion at the moment.

Discussion

  1. At the moment, I rely a lot of my lead to make decisions about things I work on & focus on. This is due to following aspects:
    1. I feel part of it is me not having confidence in myself to know what's right. Since my lead has much more experience in this area & I'm very new to it.
    2. The uneasiness of not knowing what's the right approach. It's easy to have another person look at it than dive deep into something you don't look of.
    3. Sometimes documentation is not in English at my company & that is a burden into looking at things deeply.
      1. It breaks my confidence at times & slows me compared to other people who know that language.
  2. New tools & languages
    1. C++: I haven't spent much time learning it since I focussed on moving fast & creating impact so far. So that hampered me in setting aside time to learn this language that's used a lot in backend code.
      1. And at times I ask people in help for navigating code than I should do myself.
    2. I'm also haven't worked much in the backend part before being a MLE but now we all have at my current company but I don't feel any new concepts here I need to know.
    3. Design patterns
      1. I see these patterns in the code-base. Like how they use configs & classes. I see some other people in my team figuring it out very seamlessly. But I don't know which pattern they are using.
      2. And I don't know how time I should spend on this. Since reading a whole book on design patterns would be a lot of time. But knowing them would be useful.
  3. Algorithms & ML
    1. A big part of my job or my main-job is improving the algorithms & ML models to make more revenue.
    2. A lot of times, I see my teammates reading similar approaches in the company & adopting them to our use-case. Sometimes doing so I find it hard. Since the docs of these approaches are not in english at times.
      1. So I have ask around some folks to translate things. This severely slows me down.
      2. The better way could be to read outside papers/approaches but that takes more time. And may not know if they fit so good to our use-case.

Would love feedback on

  • how I can work better on these things
  • what mindsets I can adopt here to make more progress.
42
1
2 Likes

Discussion

(1 comment)
  • Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    10 days ago

    It's great that you've done so much reflection already and provided so much context! In the future, though, you may get faster (or more) responses with less text. You want to make it easy for people to provide their perspectives, and more directed questions help with that. (feel free to ask multiple distinct questions!)

    One reflection is that the documentation being in Chinese is slowing you down. I don't have a great answer to handle this: non-Chinese speakers will continue to be at an inherent disadvantage in the company if there's not a centralized effort to stick with one language. This is a structural issue and if you think that's a big enough hindrance, there's not much you can do other than leave.

    Of the 3 axes, the largest opportunity for improvement is with Technical Skills, where you're meeting expectations now (M).

    • Do not focus on design patterns, at least not in the classical sense of reading a book. When you implementing a new feature or experiment, spend 30 min - 1 hour grepping the codebase for patters you can follow. If you don't find any, just go with what works, and then ask for feedback.
      • This will be way faster than trying to learn design patterns in isolation using a book or just trying to "understand the codebase".

    uneasiness of not knowing what's the right approach

    There are 2 potential issues here IMO:

    1. Lack of knowledge of the right approach
    2. Ambiguity around what your manager or others know. You don't want to take on an approach that is easily invalidated by your team.

    #1 will come with time and shipping more features, but #2 is something you can make quick progress on. Spend time going through the code your peers have put out. What is the common feedback or concerns?

    This will help you calibrate on their knowledge/skill and also let you learn a lot when it comes to other patterns.

    0 Likes