0

How can I improve?

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

I am a new grad SWE at meta. It has been around 6 months with the team and I am still struggling to be confident. How do I ship code faster? How do I trace through react components or hack files efficiently? I have received feedback around learning to independently scope out timelines and to be more effective at communicating about work. How do I make sure I become a trusted team member? And does the feedback indicate negative performance? How do I turn it around?

93
4

Discussion

(4 comments)
  • 0
    Profile picture
    Engineer @ Robinhood
    2 months ago

    As a junior engineer working their first time job in the big company, it's natural to get overwhelmed by all the different technical and non-technical aspects of growth since there's so many things to do. But in the end, your work and behaviors are tied to the code. If you aren't good at writing code, you won't be good at everything else dependent on being able to write code.

    So the solution is simple: just write more code. As you write more code and put up for diffs, you'll more frequently interact with the systems that manage your code (code reviews, CI, deployment, QA, etc.). The systems will naturally push against your code being landed, and this will often be a tiring process. So you'll slowly learn and understand how these systems work and adjust your code to make sure it gets through the system faster.

    As a first step, try writing diffs with as little reasonable code as possible. Challenge yourself on getting personal bests on the turnaround time between putting these small diffs ups and getting them landed. Try to make sure that you have focus time (to put some arbitrary number on it, let's say 20 hours/week) focused on just on doing this.

    Hope this helps!

    • 0
      Profile picture
      Entry-Level Software Engineer [OP]
      Taro Community
      2 months ago

      How do I know if I am good enough? Meta has more mid level and senior engineers in a team than entry level. I feel like I’m a noob

    • 0
      Profile picture
      Engineer @ Robinhood
      2 months ago

      At the minimum, expect your manager to give you guidance. Their goal is to support you: if you make it clear that you want to progress to mid-level (bonus points if you make it a recurring topic), they will set the expectations for you and help you more accurately track your progress. Meta's a fairly perf-heavy company, so the processes are mature for a decent baseline of support to be given.

      Additionally: if you're able to find a mentor to help your growth that helps too. If you find a mentor that "clicks" (you understand their frame of mind and it's for you to pull action items from their mind), that can help provide further clarity on your growth and the expectations for your performance.

  • 0
    Profile picture
    Senior Software Engineer
    2 months ago

    I have not worked at Meta, but IMPE, once you have identified what the company, or project, or team is expecting from you, try a way to measure if you are meeting those expectations.

    You mentioned:

    I have received feedback around learning to independently scope out timelines and to be more effective at communicating about work.

    If possible, request for examples or ways that you could measure "to be more effective at communicating about work".

    Probably this are some examples:

    1. When you ask for help, how do you ask?
      1. I love to help my teammates, specially when they ask in a way that is easier to me to help them: Sharing your question as concise as possible, with examples of what you have tried ("I tried A and B"), what are your thoughts ("I think this could be because of..."), or sharing your hypothesis.
      2. Don't wait too long time to communicate that you are blocked, the "too long time" will depends on your project. For example, don't wait 3 days to ask something that should be done on 5 days, if you are blocked.
      3. If you don't feel secure asking questions, this is a warning signal of the dynamics of the team. Make sure to share your concerns with your manager in a proactive way ("Hey, sometimes I don't feel good to be asking too much because the team is busy, so I'm trying to ask the minimum necessary, but what do you think about this?".
    2. Take notes of everything and share them with your team.
      1. Taking notes is also a study method. Maybe the notes information will be obsolete in 6 months, but by writing them, you have kept on your brain.
      2. Before asking something already discussed, check your notes.
    3. Before sending a PR:
      1. Make yourself a code review and try to identify possible scenarios that you didn't considered.
      2. Test your changes before submitting your PR.
    4. Analyze what is your attitude:
      1. Think that you are being paid for learning
      2. Try to learn as much as possible
      3. Make sure you are building relationships with your team and manager

    I am still struggling to be confident

    Personally, I am struggling with confidence even after 9 years of experience 😂

    We suffer more often in imagination than in reality. Seneca

    I'm not saying this is your case, but sometimes I have found myself thinking on imaginary scenarios more than the real ones.

    It is normal to received feedback. What I would put attention is if you are receiving the same feedback frequently, that could means that you are not addressing it properly.

    How do I ship code faster? How do I trace through react components or hack files efficiently?

    Is shipping code faster the way you could address your feedback?

    Estimations comes from experience, is perfectly normal to improve them over the time. Initially, you need to become familiar with the project, so you can provide a more accurate estimation.

    My suggestion: Don't push yourself too hard in order to accomplish an estimation. Rather than, do an internal retrospective about what you have learned on a first iteration. Normally, an estimation is considering working hours, so if you push yourself working more, the estimation was not correct.

    Try to improve the estimations more.

    You will ship code faster organically while you are learning and getting more experience.

    Even tho, here are some tips to write code faster:

    1. Make baby steps changes so you can identify faster if you are breaking something. This needs automated tests so you can have faster feedback.
    2. Learn how to debug and follow the code. You mentioned React, so you could use the React devtools extension.
    3. Inspect the HTML code in the browser and look for ids or classes names, copy them and search them in the repository, this is a good way to find the corresponding components.
    4. Take easier tasks first: try to solve changes like updating a copy or stuff like that, if possible.

    I hope this helps you 😃