What are the differences between a system engineer vs software engineer? In terms of work, responsibilities, growth and salary. What is the related designation name for system engineer at these companies : Microsoft Google Amazon Facebook Oracle Salesforce
Your question is very generic so it’s difficult to give you a good answer but in general: Software engineer - can be a programmer who does APIs, web, apps, etc. basic understanding of scale, systems best design, operations, etc. Systems engineer - someone who understands the OS to a high level and is specialized in availability, redundancy, thinking about operations (RPO, RTO, etc.) and does limited programming (i.e. automation) Recently, with automation becoming the most common way to build infrastructure, the line between the two blurred especially in companies like Google where SWE do SRE work, and all systems engineers write code. Opportunities, growth, salary are a tad better for SWE but some systems engineers/ SREs end up getting paid more due to on-call compensation. Microsoft - Service Engineer / SRE Google - SRE Amazon - Systems (Development) Engineer Facebook - Production Engineer
Thank you. Appreciate your answer.
As an Ex SRE and Ex Sysdev I can tell you we have to code as well. Software engineers build services for users to use and Sysdevs/SREs write code to scale infrastructure that’s highly available, scalable and cheaper to run. They also write code to improve its performance, a system engineer basically needs to wear many hats like NE and etc. think of SEs as the engineers that build the foundation and frame of a house that software engineers build on. Or simpler, we build the house and the SDEs are the plumbers, electricians and designers of the houses interiors.