Site reliability engineer: What I do and how much I make
About this video
Ruth Grace Wong, a 24-year-old Site Reliability Engineer at Pinterest earning about $120,000, explains how her team keeps Pinterest reliable for 400 engineers and 150 million users. She describes proactive and reactive work, the skills the job needs, and how she tackles deep, confusing problems.
You'll be able to
- explain what a site reliability engineer is responsible for.
- tell the difference between proactive and reactive work.
- describe skills and strategies that help when solving very complex problems.
Key words
- Site reliability engineer
- An engineer whose job is to keep a website or app working well and reliably for everyone who uses it.
- Reactive work
- Work that responds to a request or problem after it comes up, like helping someone who asks for help.
- Proactive work
- Work done ahead of time to improve a system so problems are less likely to happen.
- Automate
- To write code so a computer does a task by itself instead of a person doing it by hand.
- Persevere
- To keep going and not give up when something is hard.
Transcript
My name is Ruth Grace Wong, I'm 24-years-old, I'm a Site Reliability Engineer at Pinterest on the Core Site Reliability Engineering Team, and my salary is approximately $120,000. Pinterest makes a website and mobile apps, and they allow people to collect things that they find on the internet, ideas that they wanna put into their own lives, and save them all in one place as inspiration.
Core site reliability is responsible for the overall reliability of Pinterest. We're always trying to be proactive to help improve the experience for engineers. We've got about 400 engineers at Pinterest and our goal is to help them make their services more reliable, and we also have 150 million users of Pinterest, and so we want Pinterest to work well for them.
For site reliability engineering, we have two categories of responsibilities. There's proactive and there's reactive. So, reactive work would be looking at operations requests if somebody needs help with someone, and then proactive would be improving the system so that they're more reliable and easier for people to use.
I think there are two main skills that are good to have. The first one is learning to be okay with not feeling like you aren't the expert and you might not ever be the expert, but kind of diving in and doing your best anyways. And also, knowing how to code is also really good because then you can automate what you're doing and improve the system.
Problems are so complex that it's important to also persevere. Sometimes I'll get stuck on something and I'll try to work on something else and then come back to it. It's also really important to ask the people around you for help because often there's that one senior engineer who knows all these details and they're not written down.
I guess the most frustrating thing, or difficult thing about this job is that sometimes the problem that you're trying to fix is just so deep, so complicated, you try all these, they don't work, and it turns out it something that doesn't even make sense. Sean, who works on Kafka here at Pinterest, he once had this problem where certain machines would run fine and then other machines would not, and he figured out that it was because the way they were named, certain numbers on the end of the machine name were not working because it was being converted to Octal.
And that's just an example of a problem that's so crazy that you would never be able to figure out unless you met somebody that had figured it out before.
Video © Khan Academy, used under CC BY-NC-SA. Watch on Khan Academy. Puzzicle is not affiliated with Khan Academy.