Answers: <p>I think there are two ways to go about this. You can either go deep in Systems Engineering or the reliability aspects of Software Engineering.</p>
  
  <p>I'm a Systems Engineer myself. I think I got the job because I knew quite a bit about Linux internals (read Linux Kernel Development by Robert Love and no you don't need to be a kernel developer) AND Non-Abstract Large System Design (aka NALSD, read <a href="https://landing.google.com/sre/workbook/chapters/non-abstract-design/" rel="nofollow noreferrer">https://landing.google.com/sre/workbook/chapters/non-abstract-design/</a>). I had experience running ISPs (DNS, Email, etc) and automating myself out of many SysAdmin tasks as well. It's also helped that I had a track record of contributing to open source projects.</p>
  
  <p>On the Software Engineering side, NALSD comes up again. I'd also study SREcon talks about software projects developed by SREs while at the job, e.g libraries to make it harder for human mistakes to surface as production incidents, writing software for all kinds of automation and tooling, etc.</p>
  
  <p>I'd recommend reading all SRE related books as well then trying to practice some of it in your lab at home or at work even. <a href="http://www.google.com/sre" rel="nofollow noreferrer">http://www.google.com/sre</a> has 2 for free online. There are probably 3-5 more out there as we speak.</p>
  
Answers: CC BY-SA 4.0
Answers: 2019-03-25T22:14:50.120Z
Answers: 2019-03-25T22:14:50.120Z
Answers: Gustavo Franco
Body: <p>I want to work at Google some day.</p>
  
  <ul>
  <li>What are the tools an SRE should really know before applying at Google?</li>
  <li>What are the things to expect on an SRE interview?</li>
  <li>System Design knowledge is required?</li>
  <li>Do I really need to know the algorithms and implementations?</li>
  </ul>
  
Comments: CC BY-SA 4.0
Comments: 2019-03-25T23:24:39.620Z
Comments: I'm voting to close this question as off-topic because this is about interviews at a specific company, rather than DevOps methodology or even a DevOps career.  Any answers are going to be highly anecdotal and there won't be a "correct" answer.
Comments: Xiong Chiamiov
Comments: CC BY-SA 4.0
Comments: 2019-03-26T07:56:25.740Z
Comments: I met one at my kids sports club the other day. We had both worked at the same small agile bank (back when banks could take risks) he had been there 13 years before moving. It was the sort of bank where three devs would build something in twelve weeks and debug it in live that was connecting to other banks that had had 30 people build their side in nine months. The key things you learnt was to own things and make them work through brutal simplicity. That is something you learn by fixing your mistakes. So I would recommend startups where you are allowed to make mistakes and learn to fix them.
Comments: simbo1905
Tags: <sre>
Title: SRE Role at Google
UserDisplayName: littlepython
ThreadText: # SRE Role at Google
  
  (Asked by: username_0 on 2019-03-25)
  
  I want to work at Google some day.
  
  * What are the tools an SRE should really know before applying at Google?
  * What are the things to expect on an SRE interview?
  * System Design knowledge is required?
  * Do I really need to know the algorithms and implementations?
  
  **Tags:** sre
  
  > **Comments:**
  > **username_1**: I'm voting to close this question as off-topic because this is about interviews at a specific company, rather than DevOps methodology or even a DevOps career.  Any answers are going to be highly anecdotal and there won't be a "correct" answer.  
  > **username_2**: I met one at my kids sports club the other day. We had both worked at the same small agile bank (back when banks could take risks) he had been there 13 years before moving. It was the sort of bank where three devs would build something in twelve weeks and debug it in live that was connecting to other banks that had had 30 people build their side in nine months. The key things you learnt was to own things and make them work through brutal simplicity. That is something you learn by fixing your mistakes. So I would recommend startups where you are allowed to make mistakes and learn to fix them.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2019-03-25. Score: 4
  
  I think there are two ways to go about this. You can either go deep in Systems Engineering or the reliability aspects of Software Engineering.
  
  I'm a Systems Engineer myself. I think I got the job because I knew quite a bit about Linux internals (read Linux Kernel Development by Robert Love and no you don't need to be a kernel developer) AND Non-Abstract Large System Design (aka NALSD, read <https://landing.google.com/sre/workbook/chapters/non-abstract-design/>). I had experience running ISPs (DNS, Email, etc) and automating myself out of many SysAdmin tasks as well. It's also helped that I had a track record of contributing to open source projects.
  
  On the Software Engineering side, NALSD comes up again. I'd also study SREcon talks about software projects developed by SREs while at the job, e.g libraries to make it harder for human mistakes to surface as production incidents, writing software for all kinds of automation and tooling, etc.
  
  I'd recommend reading all SRE related books as well then trying to practice some of it in your lab at home or at work even. <http://www.google.com/sre> has 2 for free online. There are probably 3-5 more out there as we speak.
  
  
  ---
  
  