Liz Fong-Jones is a Site Reliability Engineering Manager at Google. Liz’s background is phenomenal; she’s gone from being a college dropout to learning to code in Basic, Java, C++, and Python. The experience gained by working on different coding projects from different perspectives provided to be valuable. Here is a Question and Answer from Liz and I on being an SRE and how your Linux System Administration skills can translate to that role.
Learning Linux Skills
But before we get into the Q&A we have to ask: How does one obtain Linux skills to the point that they are comfortable in an interview?
There are may sources online for learning linux skills. Some good sources are:
These are just to name a few. However, we need to break this down even further. What are the System Administration skills you need? From my perspective, after being in the industry 17 years and viewing the shift, here are my thoughts:
- Knowing basic networking
- TCP/IP and UDP
- Firewall Rules
- Firewalls (Cisco, Palo Alto)
- Security +
- Package updates (CVEs)
- System Monitoring (Zabbix, Promethous, Nagios)
- Automation and Scripting
- Python, Ruby, Go, bash
- Ansible, Puppet, Chef, Salt
- Katello (Management)
- Satellite Server
- Understanding of the following
- Continuous Delivery
- System Recovery
- Converge Networks
Now looking at an SRE position can be seen from two different perspectives, according to Liz Fong-Jones. We talked about how the system administrator will not have strong coding and algorithm strengths compared to someone with a computer science degree. One will be strong at administration while the other may be good at coding and algorithms. They are both a good fit for working as an SRE.
Now let’s get into the Q&A with Liz!
Q&A With Liz Fong-Jones
Women In Linux(WIL): Do you require a computer science degree?
Liz: No we do not. You can have strong programming skill set but you would not have strong system administration skill sets. That does not neglect that you cannot learn but it would be nice to have both. Having automation, troubleshooting, and web scaling, and gathering requirements are skills that always are a must. There is no use of python anywhere in Google everything is done in GO. So learn GO!
WIL: Having basic troubleshooting skills is a must as system administrator. How does this translate to the SRE role?
Liz: Here we can sum this up as the scientific method: knowing how to break the problem down to its basics. So this is where understanding networking, webservers, how to review log files, CPU utilization, memory management, and symptoms of web problems, and databases come into play. Knowing the basics of troubleshooting and how to search will take you far.
WIL: In system administration we test loads on systems so how would you do that as an SRE?
Liz: The SRE would need to a design a system and test the load; Understanding how to scale out versus vertical scale.
Now from the SRE book from O’reilly, the definition of scale is a service volume of users and the mixture of workloads the service can handle. In other words, testing for errors before they happen; Understanding the environment by gathering requirements. The thought process is being proactive and not reactive. Always being in an active/active state so if something fails the operations or applications are not taken down.
WIL: If you are between the ages of 15 to 18 what skill sets should you acquire?
Liz: Get your degree in computer science or computer engineering. You should really focus on algorithms. There not any internships for those not in college. You can go to a coding bootcamp and get hired. Google has what they call an Engineering Residency. This is located in New York, Mountain View, and Seattle. The classes last 2 to 3 months. Here is the link for more information.
WIL: What is the next level for SRE? In other words, what does the career progression look like?
Liz: Typically writing code to solve a problem, work on different teams, learn something from other teams. Just because you are a manager does not mean you get paid more money. You have will get a different view of what it is like to be on a team.
For more information, here’s a great Youtube Clip:
I have also included some great books to read:
- The Algorithm Design Manual by Steve S. Skiena
- Site Reliability Engineering from the O’Rielly Collection
- The Go Programming Language by Alan Donovan and Brian Keringhan