All engineering hires go through bootcamp, period. The only engineering hires that don't go through team selection are domain experts hired for a specific team/role ahead of time.
> The only engineering hires that don't go through team selection are domain experts hired for a specific team/role ahead of time.
Is this a significant fraction of hires? Because I find it really odd to waste the time of a say an embedded software engineer trying to teach them React when they're pretty set on working on something else anyways…
Generally speaking, the bootcamp process has a wide variety of different "classes" to take, covering a broad range of the Facebook stack, and no one engineer is ever expected to learn everything. So in this case, an embedded engineer would likely attend primarily backend focused classes, and would then choose from backend or embedded systems teams to work with, while someone interested in mobile or web frontend technologies would each have completely different experiences from everyone else. And ultimately, your experience coming into Facebook has far less to do with which classes or technologies you learn in bootcamp than what you're personally interested in. If you're interested in mobile, but only have experience in backend applications, that's fine – that's exactly what bootcamp is there for! We want to help you learn the technology or context that you're interested in so that you can find a role or team that you'll be happy to work on.
Someone joining to work on embedded systems would probably be "pre-allocated" during the hiring/offer process ... so they go through bootcamp, but skip team selection and go straight to their team. There's also a separate hiring pipeline for AI/ML roles since those require specialized domain knowledge vs. a "generalist" software engineer.