Netflix Values Flashcards

1
Q

Made wise decisions despite ambiguity

A

BQ Cost issue
Superset project
LSP -> Sharding vs Batching (time pressure, fixed scale calculations, got buy-ins)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Used data to inform intuition

A

BQ Benchmarking => Queried redshift, BQ, Snowflake to identify the right choice
BQ Cost => Used previous queries to make an estimate
LSP Redis => How would a high fsync with multi az replica redis function compared to Google native NoSQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Looked beyond symptoms to identify issue

A

Redshift issue -> Query load, batching etc wasn’t the issue. Storage and compute on the same node was the issue.
Kickstarter -> Game teams were reluctant to learn backend systems and my team was spending time on it. Updates were painful to roll out. Solution was to centralize the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Made decisions based on long-term impact instead of short term

A

LSP -> Decided to go batching even though it adds more dev time since sharding would be buggy and hard to maintain, causing issues to our players.
Migration to SuperSet (marketing issue -> Take on extra responsibility to figure out tableau and support them to get their buy-ins for long time goal)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Give an example where you put the company before your or the team’s priority

A

Superset Migration
WD losing engineers to Chef -> We had to re-prioritize our project several times, figure out ways to automate things, and drop performance improvement projects to support the company’s vision.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Give an example where you took someone else’s idea when yours wasn’t the optimal

A

Cron Design -> I was building it using AWS event bridge and cloud formation. The design was a standard cron system by configuring the event bridge directly. During a tech discussion with colleagues, one pointed out we could use the task queue. I hesitated initially, and we started discussing the pros and cons of the same.
We then got the original author of the task queue also involved to get his thoughts. He shed more light on how we can leverage the task queue but also added that several items in my design can be an opportunity to enhance the task queue. We then ended up deciding to add more capability to the task queue and internally use it to build cron jobs. This example demonstrated how I accepted feedback graciously and went further to support that initiative, eventually building a solution that superseded both proposals.

suboptimal: WD code onboarding -> I wanted to fork off and delete files and history for vendor. Abhi mentioned this would cause issue for debugging for our partner. He then investigated and found out alternatives to git filter branch that can work for us. I was excited to know of this and we decided to go that route.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

You helped someone outside of your team to succeed.

A

Docker system -> After I moved to operations team in dragons, I realized the challenges they were facing with local dev. I used my past experience to build out docker image + VS Code and roll it out to my team. I then shared this to another game team. Their manager got interested, and I joined one of their eng sync meeting to give a demo and talk about it. After that, I worked with their engineers to set it up for them, roll it out, and suggest other areas they can use to enhance their productivity. They built out similar systems for their other services and strongly impacted their productivity and story points.

Kickstarter -> Kinda team oriented but outward looking.
BQ Training

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Give an example where you disagreed and committed

A

LR -> I disagreed that JS is a good choice, but my manager suggested JS can be useful for hot deployments. Based on my experience in the previous game team, I wasn’t still convinced. However, we decided to try out his approach and give that flexibility to the team.

CI project staffing -> Post Chef, the company decided not to invest in tech that didn’t yet have a customer. I disagreed on the fact that building those tech takes time and severely hurts our time to market when needed. However, our leadership insisted that we focus all our efforts on finding the product market fit since w/o that time to market won’t matter. I disagreed but committed strongly. Discussed with my team and motivated them by explaining how our focus now should be to help the company ASAP and simultaneously keeping up our expertise to jumpstart those projects at the first sign of product market fit. We kept a weekly sync where people would discuss the tech stack, solve potential tech debts they anticipate can reduce their velocity when working full time again on those projects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

An example where you made tough decisions without a long delay

A

LSP shard vs. batching -> Identified the problem; time was short, discussed with PM and EM explaining the pros and cons to get quick buy-in and start on the project. I led those discussions thoughtfully, making sure everyone who needed to be there was there. I presented all the challenges in that meeting to avoid repeated discussions.

BQ cost -> Understood the challenge, did data crunching, and made sure to loop in DS lead and Finance and move forward.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

When you made an informed decision but were open to failures

A

BQ Cost project -> Did data crunching but was aware it could go off. Built incremental system to mitigate a failure situation.

LSP -> Redid the calculation to estimate 20+ QPS. I knew this might not be enough in some instances, but I decided to roll with it and figure it out once we do it. For 99% of cases, this will do fine, and for the rest, 1%, we will solve once we identify why this is happening.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

When did you show vulnerability to find the truth or a solution

A

SS migration issue -> I apologized for not being aware that my stakeholder was changed; I took on extra responsibility to help them build trust and reduce some headaches for them. This way I was able to show them my side to be an ally and gain their trust. They then committed to working with the team closely and gradually transition to our system over the next 6 months.

Cron job -> Engineer pointed out -> I asked questions to know more and mentioned that it’s a good idea and I would like to explore more -> Invited the author to discussion and eventually built a better design overall.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Have you ever given feedback to others

A

Feedback to DU -> Sol’s issue
Stakeholders management to Soul

Juan -> Communication: Why not to say “When I was in the team, things were so better xyz” but instead try to understand the current situation, use their experience to figure out how to improve the situation and share it to the team.
Yu Guan -> Strong opinions weakly held. He strongly believed his approach was the best. It had its merits but his opinions held him back from understanding that best tech isn’t always the best product for a customer.

Tech:
Long running task: API server is good but it doesn’t fulfill the use cases such as how do we stop faulty task.
BQ pipeline: Engineer’s proposal was to work on the same zone and incrementally deploy it. I suggested this will cause a lot of overhead and risks. Instead why don’t we do in a different zone and keep deploying changes to a parallel system and monitor. When we are ready, we simply flip our users to use the new system while we reverse monitor before full deployment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Share a few situations where you received feedback and how you reacted.

A

Approaching in meeting -> My method of asking questions was too direct and jr engineers were intimidated due to it. I worked with my manager to identify a recent situation for me to understand better. Read a few books like How to make friends; identified a role model (our COO) who is very direct but sounds approachable and modeled his behavior. I am glad I got the feedback before it caused a bigger issue.

Tasking system for Cron feedback.

Leading India initiative - Stakeholders were CFO, VP HR and others. I was worried to not step over them and was relying excessively on them. HR vp one day said this in front of others that as a lead of the initiative, it’s my job to guide them and assign the right tasks and not rely on them to figure it out. Since then, I started learning more about what their expertise were and in subsequent meetings, I did a better job gathering updates from them and concluding what we all need to do next.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Example where you took ownership

A

Kickstarter -> Client engineer not interested in maintaining backend; rollouts were difficult for our team; an opportunity to improve and take ownership

Docker system
Event tools

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Did you ever question the status quo and how?

A

Kickstarter

Superset -> Everyone using different system; knowledge was lost when people switched team/company; no way to see coherent data; personally also annoying since I couldn’t see how company is doing. I brought this up by meeting with our CEO on office hour and proposed him a unified system. I then reached out to my manager and DS lead with the idea to start pushing for it. 7-8 months later we are using Apache superset across the company and function.

Event Tools

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Share an example where you made a bad decision in retrospect

A

BQ de-prioritizing backup system - I should have dug deeper into google’s reliability guarantee before feeling comfortable with it.

SS rebase issue - We decided to do it first and then figure out open source timeline later. Turns out the main contributor implemented breaking commits worth 500+ commit and major libraries dumped. Took us quite a lot of time to rebase those issue and many of our work can’t now be shared with open source community unless we port them to new system. In retrospect, sharing the plans with them may have given us insights on how to prepare better. We might have delayed the project and started with the new version in such case.

17
Q

How would you handle working on project that doesn’t align with your values?

A

Can you clarify what it means by not aligning with my values?
What kind of content are we talking about here?
If it’s a difference in opinion or protected under freedom of speech, thoughts, etc, I will be fine working with it

18
Q

Give an example where you delegated task effectively and relied on them completely

A

BQ Server cost -> I analyzed that our data storage cost kept increasingly. We decided that this isn’t required and decided to build out a system to delete older data. I assigned this to one engineer, explained them the goals and requirements and asked them to come up with the execution proposals. They eventually worked with x-function to identify the right time frame of data to delete (3 months), most cost-effective way to delete it (using dataflow). We reviewed the proposal as a team and she then went forward and implemented this. We saved ~500k/yearly by this system overall.

Narrative payment portal hand-off by Zhendong

19
Q

Did you ever admit mistakes openly?

A

A/B Test issue - I modified data logging but due to some breaking changes, I couldn’t deploy. One month later, I came back and deployed the change. All tests were passing but we soon realized that we were dropping data. The reason was we modified our default value from None to empty dict that triggered a sleeping bug on downstream pipeline. I worked with client engineer and downstream team to identify and fix the issue. However, this incident even though happened due to the bug in another team; causally was my responsibility. I shared an incident report and action items to fix this with the team. The biggest failure here was that I lost touch with the system long enough to effectively run all cases on test server before deployment. I should have taken bit more time to deploy instead of having to rush in between projects.

20
Q

Tell a situation where you inspired others

A

Docker system -> I built game server and team migrated other systems

BQ training -> Started training; created slack group; gradually folks started jumping in to help each other-> Right now we are simply moderator and jump in if issue is technical else folks help each other

21
Q

Give an example where you simplified something

A

Kickstarter project

Even tools -> previously Modify JSON; complicated review systems; lots of bugs and failures; identified the problem and brainstormed solution with content team; realized they comfortable with csv format and proposed a solution to encode/decode json to csv format -> easier to edit and review; less bug

22
Q

Did you ever challenge prevailing assumptions or status quo to suggest something better?

A

Kickstarter
Event tool
Superset