Site Reliability Engineers
Requirements
Education and Training Requirements
High School
In high school, take as many computer science classes as possible. Recommended courses include computer programming, computer security, computer networking, and software development. Develop your math skills by taking algebra, calculus, linear algebra, discrete mathematics, applied mathematics, and statistics classes. Site reliability engineers write a lot of reports and frequently attend meetings to discuss ongoing issues, so you should take English and speech courses to help build your oral and written communication skills. Philosophy and social studies classes will help you to develop your analytical and critical-thinking abilities. If you plan to become a consultant, you should take business, marketing, and accounting classes.
Postsecondary Education
You will need a minimum of a bachelor’s degree to work as a site reliability engineer. Many SREs have degrees in software or systems engineering, but others majored in
computer science, computer networking, or another computer-related field. Training in information technology is also offered in the armed forces. Visit TodaysMilitary.com for more information. Additionally, online learning platforms such as edX and Coursera offer classes in site reliability engineering. For example, edX offers Introduction to DevOps and Site Reliability Engineering, and Coursera offers Site Reliability Engineering: Measuring and Managing Reliability.
Certification
Many colleges and universities offer certificate programs in software engineering, systems engineering, computer security, and related fields. Contact schools in your area to learn more about available programs.
Other Education or Training
Throughout their careers, site reliability engineers must continue to learn in order to stay up to date with the latest technologies, programming languages, and other developments in information technology. Continuing education opportunities are provided by for-profit and nonprofit schools (such as Udacity, Coursera, edX, and Global Knowledge Training LLC), IT companies (check out Microsoft’s Introduction to Site Reliability Engineering course at https://docs.microsoft.com/en-us/learn/modules/intro-to-site-reliability-engineering), and IT associations. For example, the IEEE Computer Society offers about 1,800 online courses on topics such as software engineering, cloud computing, and cybersecurity. The International Web Association provides a variety of classes including Intro to Programming Concepts, Introduction to C#, and Introduction to JavaScript. The Association for Computing Machinery, Association for Women in Computing, DevOps Institute, and associations at the state and local levels also offer professional development opportunities. Contact these organizations for more information.
Certification, Licensing, and Special Requirements
Certification and Licensing
The IEEE Computer Society offers the certified software development associate credential (for graduating software engineers and entry-level software professionals), the certified software development professional credential (for experienced software designers and engineers), and the professional software engineering master certification (for very experienced and skilled software professionals) to individuals who meet experience and education requirements and pass an examination. The DevOps Institute offers several certification in the related field of DevOps. Google, Microsoft, Oracle, Hewlett-Packard, IBM, Novell, and other tech companies provide certification in software development.
Experience, Skills, and Personality Traits
Previous experience via an internship or cooperative educational program in site reliability engineering is required to work in the field. For higher-level jobs, several years of experience are needed in lower-level site reliability positions.
Site reliability engineers are often generalists, who have basic knowledge about everything from coding and systems administration, to computer security and networking. Some employers may require their engineers to specialize in one or more of these areas.
Technical skill requirements for site reliability engineers vary by employer. But, in general, SREs should have programming experience in at least one of the following languages: C, C++, Java, Python, Go, Perl, or Ruby. They also need to have experience in architecting, developing, and troubleshooting large-scale systems, as well as familiarity with algorithms and data structures. They need to understand how software works and how different types of software and hardware interact. Additionally, a wide range of soft skills are needed for career success. For example SREs must have strong communication skills because they need to ask questions of other technical teams to ascertain the problem, write incident response reports and runbooks, and be able to explain the problem and solution to management (who sometimes do not have a technical background). Other important traits include good troubleshooting and problem-solving skills; a strong sense of responsibility and ownership; creativity, the ability to both follow instructions, but also think independently, when needed; curiosity; a detail oriented personality; good time management skills; and the ability to work effectively while under pressure.