# School of SRE

<img src="img/sos.png" width=200 >

In early 2019, we started visiting campuses across India to recruit the best and brightest minds to ensure LinkedIn, and all the services that make up its complex technology stack are always available for everyone. This critical function at LinkedIn falls under the purview of the Site Engineering team and Site Reliability Engineers (SREs) who are Software Engineers specializing in reliability. SREs apply the principles of computer science and engineering to the design, development, and operation of computer systems: generally, large-scale, distributed ones.

As we continued on this journey we started getting a lot of questions from these campuses on what exactly the site reliability engineering role entails? And, how could someone learn the skills and the disciplines involved to become a successful site reliability engineer? Fast forward a few months, and a few of these campus students had joined LinkedIn either as interns or as full-time engineers to become a part of the Site Engineering team; we also had a few lateral hires who joined our organization who were not from a traditional SRE background. That's when a few of us got together and started to think about how we can onboard new graduate engineers to the Site Engineering team.

There is a vast amount of resources scattered throughout the web on what the roles and responsibilities of SREs are, how to monitor site health, production incidents, define SLO/SLI, etc. But there are very few resources out there guiding someone on the basic skill sets one has to acquire as a beginner. Because of the lack of these resources, we felt that individuals have a tough time getting into open positions in the industry. We created the School Of SRE as a starting point for anyone wanting to build their career as an SRE.

In this course, we are focusing on building strong foundational skills. The course is structured in a way to provide more real life examples and how learning each of these topics can play an important role in day to day SRE life. Currently we are covering the following topics under the School Of SRE:

-   Fundamentals Series
    -   [Linux Basics](https://linkedin.github.io/school-of-sre/linux_basics/intro/)
    -   [Git](https://linkedin.github.io/school-of-sre/git/git-basics/)
    -   [Linux Networking](https://linkedin.github.io/school-of-sre/linux_networking/intro/)
-   [Python and Web](https://linkedin.github.io/school-of-sre/python_web/intro/)
-   Data
    - [Relational databases(MySQL)](https://linkedin.github.io/school-of-sre/databases_sql/intro/)
    -   [NoSQL concepts](https://linkedin.github.io/school-of-sre/databases_nosql/intro/)
    -   [Big Data](https://linkedin.github.io/school-of-sre/big_data/intro/)
-   [Systems Design](https://linkedin.github.io/school-of-sre/systems_design/intro/)
-   [Metrics and Monitoring](https://linkedin.github.io/school-of-sre/metrics_and_monitoring/introduction/)
-   [Security](https://linkedin.github.io/school-of-sre/security/intro/)

We believe continuous learning will help in acquiring deeper knowledge and competencies in order to expand your skill sets, every module has added references that could be a guide for further learning. Our hope is that by going through these modules we should be able to build the essential skills required for a Site Reliability Engineer.

At LinkedIn, we are using this curriculum for onboarding our non-traditional hires and new college grads into the SRE role. We had multiple rounds of successful onboarding experiences with new employees and the course helped them be productive in a very short period of time. This motivated us to open source the content for helping other organizations in onboarding new engineers into the role and provide guidance for aspiring individuals to get into the role. We realize that the initial content we created is just a starting point and we hope that the community can help in the journey of refining and expanding the content. Check out [the contributing guide](./CONTRIBUTING.md) to get started.
