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?
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!
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
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.
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:
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:
I hope this helps you 😃