Multiple Layers of Infrastructure at Meta
Prior to joining Meta I knew of software engineering as frontend and backend, and devops and tooling. I did not understand what infrastructure meant, even though I had worked on a UI/Infrastructure team when I was at Built Robotics 2 jobs prior. I remember grabbing dinner with a friend a month before joining Meta, and I told him that I had accepted the Meta offer because I thought Meta was the best place for me to learn how to scale systems up to billions of users. "You should join an infrastructure team," he told me.
This caught me by surprise because I had never considered an infrastructure team before. I had just assumed I would be joining a backend software engineering team. It turns out that because I had worked at startups and smaller companies in my career, I had never worked at a company with the luxury to have dedicated infrastructure teams. There were always higher priority things to work on like product or growth, or just getting a working proof of concept. When I heard about "infrastructure" at WePay, the previous company I worked for, infrastructure work often sounded like DevOps and DevTools making processes and tooling for developers to deploy code easier. This sounded like very boring work to me.
At large companies like Meta, infrastructure is a lot cooler to me because it is the place where engineers think about how to scale systems up to billions of users and transactions. At larger tech companies there are also multiple layers of infrastructure. The two main levels are core infrastructure and product backend/infrastructure. But there are also deeper layers within core infrastructure. For instance, one of my interviewers was working on the video compression system that was used across Meta products, and another was working on GraphQL which would fall under core infrastructure. There is also more "lower level" infrastructure like Meta's initiatives to build fiber routes.
During Bootcamp, in order to understand what infrastructure means, I tried to find books on O'Reilly or Amazon on "software engineering infrastructure" which surprisingly turned up very few results. Similarly, I Googled for "software engineering multiple layers of infrastructure" and could not find any literature on this topic. I've been wondering to myself why there is such a lack of literature. At Meta there are so many infrastructure teams and I would assume there would be more literate, such as a book titled "Software Engineering Infrastructure for Dummies" or "How to Transition to Infrastructure as a Software Engineer." Perhaps a lot of the best infrastructure folks are tied up at the large tech companies and perhaps they are not allowed to talk about the work they do in public. I would really like to get more literature out on this topic because software engineers at startups - like the position I was in - will need to understand infrastructure concepts as they grow their companies and products.
As for me, I'm finishing up the Bootcamp process and will plan to join an infrastructure team on the product backend side, as opposed to core infrastructure.