I recently talked to recruiter and he told me that there are two types of SWE role. Gen SWE and Infrastructure SWE. Can some one please tell me the difference between the two? And is infrastructure SWE has mostly maintenance work and no new work? My current role is about distributed systems and past role was about networking. So I am confused if infrastructure SWE has maintenance work and that seems matching my current profile is it worth trying there or should I look for Gen SWE? How Will the interview process differ? Any suggestions are welcome and thanks for reading the whole post. No sarcastic answer please! I got the following description from recruiter. Gen SWEs primarily focus on middleware/back end development. They may overlap with different domains but would not be defined by the other domains (e.g., Front End, Mobile, Infrastructure, Embedded, Engineering Productivity). Gen SWE can often be mistaken as a “catch-all” domain of software engineers. Infrastructure SWEs build the foundational infrastructure and/or work directly on that infrastructure to support Google's most mature products. This infrastructure is made up of large scale distributed low-latency systems, cloud storage, servers, virtual machines, networking, and the low level platforms that hold it all together. To be specific, there are three categories within Infrastructure: Networking, Storage, and Performance Optimization.
Jeff Dean and Sanjay would mostly qualify as Infra engineers. Look at the impact they had on the world. Both of them mostly solved infra problems. On the other had, making new contributions to this saturated area might be really hard. So I really don't know what would be more rewarding now.
True. That was my point. If it is already in sustenance mode then there is very less to do.
I'd still lean towards infra. Overall impact of infra is significantly higher than a product because infra enables better product development and product experience.
Infra/Platform engineering is way more rewarding. Imagine designing something like Big table. Generic SWEs don’t do a lot of heavy distributed systems work, and primarily focus on developing features and writing business logic. e.g. clearing a platform/infra interview in LinkedIn is way more difficult than backend swe role. LinkedIn platform/infra team has given us so many large scale distributed systems like Kafka, Hadoop etc