I joined Meta in late May 2024 as an IC5 and have been there just over four months. At my last company, I was an IC4 and on track for a promotion when I got laid off, so I’m anxious about job security given my past experiences.
I recently received feedback from my manager indicating two main areas for improvement: (1) I need to push more diffs, as my recent ones have been large and encompassed entire features, and (2) I need to be more independent. While I can adjust to (1) fairly easily, (2) concerns me more. My manager noted that I often start projects well but then get blocked and require help, in the form of pair programming or otherwise.
I've worked on three main projects since joining. For the first, I had many cross-functional issues that delayed progress but eventually delivered it. The second project, a new thrift service, I completed independently after clarifying specifics with my TL. The third involved creating a dashboard where I struggled with a specific filter due to Meta's query tool; I finished everything except adding that filter, which my TL finished as I left on scheduled PTO. I did ask for pair programming help a couple times when I first started, but haven't needed it much since.
My questions are:
Thank you for your guidance!
This is pretty common feedback for the following 2 buckets:
(It seems like you fall in a mix of the 2 buckets)
When it comes to independence as a feedback, it generally means your manager doesn't feel like you did enough in terms of overall velocity of output or ownership.
Overall velocity is relatively easy to fix: just grind out more code in your day to day. If you grind out more code, you'll understand the processes, culture, and expectations around code review. The faster you understand the system, the easier it is to get through it. It's just a simple thing that many developers overlooks (because it's too simple), but it works.
Ownership is much harder to fix: reading your post over, I'm feeling a mix of behavior gaps and perception issues. I'd boil it down to a single theme of: your manager thinks that someone else is owning the work for the more sensitive parts of the projects and they think there's no excuse on why you're not owning that work. During these meetings you're having for these XFN issues or with your TL:
(More often than not) Are you the one owning setting up the meeting, coordinate the discussions, establishing action items, taking notes, sharing notes, posting updates, and chasing down people?
Are people going to your TL first and then eventually you get looped in once the discussion has narrowed down?
The TL gets mentioned a lot in your post, so it's a fair assumption on my part is that your TL likely doing too much lifting and that's what your manager sees. That's a similar vibe that I'm getting since for this post, since one theme in your post is a bit thin: what did you (just and only you) actually do about the problems that came up? Mid level engineers call out problems and roll the tide of someome else fixing it. Senior engineers call out the problem, call out the solution, and do whatever they can to achieve the solution.
For now, I'd try to talk to your manager and narrow down the gaps they observe & see if they feel your TL is carrying you for most of your interactions with them. That should be a pretty good starting point to trend towards a "Meets". If you feel a deeper dive is needed or want to dive into getting "Exceeds" (I talked about this in the recent Bay Area meetup, so this is still fresh on my mind), feel free to message me on Slack or put an hour on my calendar.