Given the current economic volatility and uncertainty as well as the hard-to-measure business value of cost centre teams (like infrastructure or platform), would it be sensible to join such a team?
I also want to push back against the idea that infra and platform teams are cost center teams. It really varies based on the company. In fact, it can even be the reverse where infra teams have clearer business impact compared to product teams - This was the case for me back at Instagram Ads, and it will happen a lot in Big Tech:
This phenomenon happens because product changes are generally low-hanging fruit: When there is no product or a very primitive product, it's easy to rearrange pixels to improve the user experience. The technical complexity is also lower, so you can accomplish this with more junior engineers. I talk about this more here: "How do you choose an opportunity for technical depth?"
After the low-hanging product improvements get picked (and they'll get picked fast for the reasons I mentioned before), you have a ton of code and features that is not very optimized as everyone was just bum-rushing feature development. This makes the space really ripe for infra and performance optimizations.
This leads to a pattern where product development is the money maker initially, but infra becomes way more important later on when the organization is more mature. This is why infra teams are generally regarded as having better scope, especially at Staff+ levels and Big Tech companies.
It's overall less safe to be on a cost center team in this economy, but I wouldn't hyper-optimize against that:
We talk more about this in our video here: Who Gets Cut In A Mass Tech Company Layoff?
In general, you want to make sure that for whatever team you're on, you have clear ways to measure success and prove your value to the company.
You should be doing this anyways, regardless of how good or bad the economy is and how many layoffs are happening:
Every engineer eventually needs to level up from "I shipped XYZ" to "I achieved ABC impact" - This usually starts happening at senior levels and is really solidified at staff levels. At the end of the day, you don't get paid as a software engineer to write code or even ship projects - You get paid to solve problems and add value to the company.
So if you don't know why your team exists, figure it out:
Here's some good discussions digging into the mechanics of data analysis and user understanding more in-depth: