What is the difference between the product role and the infrastructure role at Meta? A recruiter reached out to me, but I'm not entirely clear on which position would be more suitable for my background. I followed up with the recruiter, but I still haven't received a solid explanation of the differences. With 10 years of backend experience, I want to ensure I make the right choice.
Product engineering will usually have a higher velocity of shipping stuff compared to infra engineering. The density of senior+ folks is higher in infrastructure teams.
Alex's explanation is correct, but keep in mind that there is a difference between an internal tools team and an infrastructure team. The internal tools don't have as much sophistication since the only need to support a few thousand engineers. Infra teams must build services and APIs that handle billions of users at Meta.
At a very high-level:
I am not 100% familiar with how every org does the labeling though, so I'm sure these guidelines have a ton of exceptions. Someone recently told me that all of ads is labeled as infra now, which is super weird (I literally worked on ads product at Instagram).
If you're joining as an E5, I recommend joining an infra team as that should generally have better scope to grow to E6 (Staff). Again, there are exceptions to this, and it really depends on how you operate/think as an engineer. More thoughts here: "Between platform (serving developers) and product teams (serving end customers), what should be one's preference based on level?"
Here's some good advice on how to pass the Meta interview: "How does the Meta interview work?"
I had the same question when I applied. The recruiter shared a really good video with me that helped me decide which route to go. I'm sure they could share it with you as you are not the first person to run into this conundrum.
The key takeaway of the video for me was this:
If you build systems using common cloud solution products (AWS), you should consider product; however, if you build those components, then you should consider infra.
As others have pointed out, infra is going to be building the systems that the production engineers use. Since my background was building API's that clients consume, using tools like queues, pub/sys systems, caches, etc., I went the product route. I would struggle to build those components from the ground up.
I had a really frank conversation with my recruiter about my background and interest. They were really good about helping me find the right path and setting me up for success. I would encourage you to do the same.
Best of luck!