Hacker News new | past | comments | ask | show | jobs | submit login
Netflix CEO explains why he pays technologists huge salaries (dice.com)
306 points by pmodek on Sept 28, 2020 | hide | past | favorite | 435 comments



I interviewed at Netflix several years ago. It was a fairly standard SV interview. That is - whiteboard questions on basic data structures and algorithms (I'm 40 and I still absolutely suck at those).

Failed of course :) But they put me up in a really nice hotel, so there's that. In the years since, I've definitely lost all interest in working in SV (the fact that I've failed every single interview I've had with SV companies admittedly might have something to do with it). Ah well, at my age it's time to accept that the window has closed on some things :)

I'll give Netflix this - I left the interview knowing I'd failed. I was told this, to my face, before being shown the door (The interviewer wasn't mean about it). I'll take that over being told "We'll let you know" and waiting weeks before getting a generic rejection email from HR (or even better, being ghosted).


> ...whiteboard questions on basic data structures and algorithms (I'm 40 and I still absolutely suck at those)... at my age it's time to accept that the window has closed on some things :)

If you want to learn and are willing to put in the work you can do it. It will take some number of weeks or months, but it is totally doable with reading and practice. I read and practiced for a few months before getting my job at Microsoft at age 45.

Your age isn’t the problem; I know plenty of young people that don’t want to do the work also.


You mean doing the work _again_. I had all the algorithm stuff down cold out of college and maybe for another 5 years after. Now after 20 years of rarely needing any of it and having it be a web search away when I did, I couldn't come up with any of it on demand.

"Doing the work" meaning having to study to relearn a thing that I'll maybe use sparingly in my work means the interview process is broken, not anyone's motivation.


>"Doing the work" meaning having to study to relearn a thing that I'll maybe use sparingly in my work means the interview process is broken, not anyone's motivation

I used to think this too, but as a filter I think it's having the desired effect. From the outside looking in Life at a FAANG seems competitive in nature and they are optimizing for the people willing to push themselves that far to learn something.

The added bonus is all new hires at least know the effects of space/time complexity and how to make space/time trade-offs deeply well. Given they operate at the scale they do, mistakes with those concerns are more likely to have a material impact. Requesting that you know it _now_ and now that you _used_to_ know back in the day seems reasonable.

The upside from the candidates perspective, as ridiculous as leetcode study is, is one set of study applies across multiple companies, so candidates don't have to expend much energy on trying to optimize for how to study for a particular companies interview process.

If that's the way in and you want in, that's just what you have to do. If you aren't prepared to do it, you won't be getting in. If you are prepared to do it, and you do, it seems achievable.


> The added bonus is all new hires at least know the effects of space/time complexity and how to make space/time trade-offs deeply well.

Do they?

In my experience this was true in the early days of white board interviews where the only people that even thought about this stuff were people deeply interested in algorithms and computation.

But in the post-"Cracking the Coding interview" era (including the transition into the full leetcode era) people seem to be able to pass these interviews without really understanding anything in the same way college students can ace calculus while have literally zero intuition about derivatives.

I don't mind whiteboard interviews, they're a fun game you can train for and the practice is interesting. But the big tragedy now is that I feel almost nobody understands algorithms anymore since everything has been reduced white board coding drills and everyone believes they have an understanding of something they don't.

As a great example of this almost nobody today knows any heuristic optimization techniques (think the old ITA software puzzles), which used to be near and dear to anyone that cared about algorithms. But since you can't test for heuristics they same as you can established algorithmic solutions nobody studies them.


> they are optimizing for the people willing to push themselves that far to learn something

They are optimizing for people in one of two groups. One is people freshly out of college who still have that stuff at the top of their mind. The other is people who have the free time/energy to bring it back to the top of their mind instead of needing a few extra minutes to go back that far in their memories. Pick your privilege, in other words.

> all new hires at least know the effects of space/time complexity and how to make space/time trade-offs deeply well

In my experience, this advantage fades within their first evaluation cycle. And what they certainly don't seem to learn is when to do these kinds of evaluations. Oh, the number of times that I saw one of my coworkers hyper-optimize some part of a system where both N and K were too tiny to matter, then just cargo-cult a crappy higher-level algorithm where such analysis really would have moved the needle.

BTW, since I know someone will launch a "sour grapes" personal attack (and get a free pass for doing so because I'm on someone's target list) if I don't address it, I passed such interviews at 52 with zero preparation and zero trouble. So no, I don't take it personally. I just recognize this approach's flaws. It's why I refused to do interviews at that company, taking a hit for that every half until I left. Some of us stick to what's right instead of rationalizing what's wrong.


My favorite version of this is the driving test you take in California before you get your license.

One of the rules is that you automatically fail the test if you bump a curb with your wheels. That means, when pulling into a spot, you can't inch forward until your front wheels come to rest on the curb. Fail!

At first glance it seems like a trivial thing to fail someone for. I know in normal driving, I use curbs like this all the time. On purpose, and with no hazard to myself or others.

But the fact is, you're told this explicitly up front. "Don't do this, or you fail." Given that you're warned about it—and know this is the one thing you cannot do—if you still contact the curb, then you've demonstrated that you don't know where the boundaries of your vehicle are. (Or maybe that you're not so good at comprehending instructions?)

It works as a simple filter.

(EDIT: I checked with the DMV's test criteria[0], and I don't see this mentioned in there. There's an automatic fail for driving over a curb, but it's not clear if simply contacting it counts. Not sure if my examiner was a sliderule, or if the rules have changed since I first got my license.)

[0, p. 24] https://www.dmv.ca.gov/portal/uploads/2020/04/dl955.pdf


One of the tests is for backing the vehicle up. In that test, you may not touch the curb. It's not otherwise obvious from the document provided that any other contact with the curb is disallowed. So either it's untrue that it's disallowed when pulling forward, or it's untrue that you know about it upfront.

Regardless, not touching the curb, even if arbitrary, can be an indicator of competence. It demonstrates control and awareness of the vehicle.

Memorizing an algorithm is a potential indicator of many things, not all positive, but I don't think it says anything at all about competence.

> ...you can't inch forward until your front wheels come to rest on the curb. ...if you still contact the curb, then you've demonstrated that you don't know where the boundaries of your vehicle are.

This demonstrates one reason why whiteboard interviews aren't great. They don't mean what people think they mean, and people think of them in very black-and-white terms. X always implies Y, or at best they say, "Well, maybe not, but..." and then justify the exact same result with only superficially different reasoning.

In your example, the driver might have demonstrated he doesn't know where the front or rear of the wheel is exactly. But it could also be he was just nervous or driving a vehicle he isn't used to using. Maybe he had to borrow his older brother's car when mom's broke down at the last minute. Saying he doesn't know where the boundaries of his vehicle are goes against all the other evidence: he didn't strike anything with the boundaries of his car. The curb is already inside those boundaries, intentionally and by design of the test.


A lot of that stuff depends on the proctor. When I took the driving test the first time in my state (not CA), he almost failed me because I failed every single left turn. Thankfully at the end he asked a question, and realized that I had done every turn incorrectly because nobody ever bothered to tell me that left turns always should go to the LEFT lane, not right.


You and half the country. The rule is actually you match the lanes left to right. Aka if two lanes are turning left into a three lane road the second from the left goes into the middle.

I suspect that people happened to have just zoned out during this part of the class, although a friend of mine recently said he was never taught that one is suppose to stay as far right as needed to allow people to pass on the left either.

And its not just random drivers, the more esoteric parts of the law (driving on the shoulder in TX, free right turns, uturn laws, center turning lane, etc) aren't even understood by many traffic enforcement officers.


Yeah, these are the gotchas that vary by state.

In California, for a single left turn lane, you're allowed to complete the turn into any of the lanes you choose.

The driver handbook doesn't go into detail about double turn lanes that feed into a 3-lane cross street. My own rule is that only the inner lane (leftmost) must complete the turn in the matching innermost lane. The outer lane can end their turn in the #2 or #3 lane. I tend to choose the #3 lane just to put as much space between me and the car next to me, in case they incorrectly go for the #2 lane. Unless there's an opposing right-turning car that I trust less :)


I failed my driving test as a foreign exchange student in Indiana for this exact reason. I was not amused.


> I used to think this too, but as a filter I think it's having the desired effect.

Is it though? I'm a hiring manager and don't ask such questions and yet have had no problem hiring really talented engineers.

The reason I don't ask those questions is because I know that cranking up the interview pressure and asking arbitrary, revisable, common interview questions doesn't actually prove anything aside how good the candidate is at being interviewed.


I think they are saying not that it’s a filter for talent, but for people willing to “put in the work” to pass that type of interview, which sounds about right. I feel the same way about some colleges.


This is more what I meant.


Defining a filter in order to filter people out is fine, but we should be honest about the fact that it has very little to do with learning, and more to do with the willingness to deal with crap and jump through hoops. More amenable employees are easier to manage, nothing wrong with that.

All exams can be crammed, and having crammed into plenty of gated opportunities in life before, I believe you're mistaken if you believe that it produces more knowledgeable workers as a result.

At the end of the day, it's a market like any other. If there is someone who is more willing to do X for Y reward than you are, then they will get that something instead of you. And if you find that there is a shortage of people willing to play ball, you can always work towards bringing in more people who are willing to play ball.

Agree with your last sentence. If you want something, you have to go get it. If employees aren't motivated enough to organize and close the power gap, then employers will continue to be motivated enough to push for and work towards their own goals.


You have to be careful about your assumptions. Being willing to put in the work could be a bad sign. If you already have a bunch of job offers, you aren't going to spend weeks studying to get one more job offer, unless the place might offer dramatically better benefits.

And, it may be some people don't need to be any extra studying work. There are people who do programming competitions for fun, and there was prior discussion of Google saying those people did worse on the job: https://news.ycombinator.com/item?id=9324209


> If employees aren't motivated enough to organize and close the power gap

"If X aren't motivated enough..." usually ends up being a really horrible take for most values of X. I'm not so sure it's different for X=employees, specially when the type of interview we're talking about is more burdensome to older folks, folks with certain personality types or anxiety issues, arguably most women, etc. Why should the burden be theirs alone, while employers get a complete pass on setting up whatever arbitrary hurdles they want?


I think that is reasonable that a company do some tests on folks that don't have much baggage to show for, because in this case they are doing a wild guess and must count a little bit on luck.

But the parent was on his 30-something when he did the interview, and i bet he had a lot in his curriculum to show for, so in this case the company dont have to guess anymore.

I think it says a little bit that the HR is failing somehow. Failing to adapt to different kinds of human beings.

By the way, there are a lot of psychology into this. Sometimes the right kind of people to do some sort of task is the one that are avoiding the whiteboard tests.

In the end it will lead to an unbalanced company with people very similar and optimized for a couple of areas, but lacking in others.


This is something that has always perplexed me. These interviews may make sense for an entry level candidate with no ink on their resume beyond a GPA, but then any amount of actual work history just gets completely discarded. Experience needs to count for something.


I would think these companies that are built on measuring data would have some idea if the whiteboard interview works. Otherwise, why would they do it?


Q. Why does 90% of human society work the way it does?

A. Because that's the way we've always done it.

I can't speak for SV companies, but my experience of data is that it can just as easily rationalize preconceptions as be used to inform decision-making. Somebody has to interpret that data, after all.


If our way of hiring doesn't work then how come we're so rich!?


The rampup at FAANG can be brutal and you'd be doing lots of learning even after getting in. The leetcode style interviews are designed to select people capable of studying and materialising broad problems in depth and scope under time constraints. They are also objective and can't really be faked nor you can talk your way in like in most banking/finance IT jobs. I was of similar opinion at some point but these realisations made me change my mind and I've come to like leetcode interviews.

But I also think they only make sense in FAANG scoped companies where all the stack is proprietary. Small companies or companies using opensource tools don't really have this rampup and doing such interviews mostly because others (FAANG) do it.


Congratulations on your indoctrination.


Please don't post unsubstantive or flamebait comments to HN, and especially please don't cross into personal attack. It only makes things even worse.

https://news.ycombinator.com/newsguidelines.html


Lots of things are broken. The question is do you want to work hard enough to overcome it? My guess is you’ve got a good enough job already, so it’s not worth the effort.


I think that, as you get older (or maybe further into your career? More tenured? I don't know that it's inherent with age as much as experience), you become less interested in doing ridiculous things just to prove that you can. That's not to say that other people shouldn't, just that, the value-add seems less and less worth it as time goes on.

It is possible (and in fact common) to lead a full and successful career as a dev, where A.) you don't ever work for FAANG or SV, and B.) You make plenty of money, have plenty of freedom, build high profile, successful technology, have plenty of career mobility.

So, if you believe those things, "Learn these things that you learned in college and then never really touched again directly" seems like an absolute waste of time. You've seen them, and you've seen that while you were _actually building things_, they didn't really come up, or at least directly. And when the value add is "Work for big fancy company for a couple % more money per year", it doesn't really seem like that much of a value add.


I had the “misfortune” of getting fired for going to bat for a junior co-worker who was being taken advantage of by the company. If I hadn’t taken 2 months to do nothing but grind on leetcode problems, there’s no way I was ever going to do it in my precious free time (2 kids, lots of hobbies).

I’d never make a bet like that on myself by choice, but in hindsight it would have been an excellent investment years ago. My quality of life is immensely better working for a big tech co than it was at any startup.


I suppose I'm pointing out the nuance between "Big Tech Co", "Startup" and FAANG.

There are plenty of big tech companies that pay well, offer a lot of freedom, interesting tech, but are also not FAANG companies with silly interviewing practices.


I think I’ve done maybe 30 interviews? Only three of them were the full blown whiteboard for 5 hours process. The first two I failed at the beginning of my career and in hindsight I was properly rejected. The most recent one just made me feel like I’d earned it. The leetcode grinding helped, but my years of experience helped more.

IMO if a company messes around with soft skills, take homes, techno chit chat, long lunches, brutal arcane automated domain knowledge screenings, shibboleths, “day in the life”, present your solution to the group, heuristics, or some other creative way to justify their own biases, I can be fairly confident that I’ll have at least a few co-workers that really just can’t code very well.

I have not met an engineer at my current company who didn’t impress me when I dig into their code a little. There are low performers, but even they produce excellent code when they feel like it.

Nothing is more frustrating than taking a day to interview and getting maybe 30 minutes of watery technical challenge.


I guess the splitting point is thinking that whiteboard interviews select candidates that are good coders - a point I have an entire career of anecdotes to disagree with. YMMV, as with everything.

edit Also, to be clear, you seem very proud of your interview, your company and coworkers, and I do not mean to discredit your pride or success. I am simply pointing out that your experiences are not universal experiences and might be due to lots of other factors, totally unrelated to interview methodology (healthy attrition rates, supportive teams, constructive code review, etc).


To the edit: more like I was deeply unsatisfied with each and every non-whiteboard interview process.

This is regardless of outcome, including many offers and years of working at companies with broken interview processes.

I don’t think whiteboarding is a great methodology, but the other methodologies are worse.

As an interviewer, I find it stressful to give whiteboard problems and my data point usually feels fairly noisy. At startups I preferred giving a tiny take home and working with the candidate on extending it in an open ended way.

As a candidate, I refuse to do take homes (known too many take homes)


The interviews I had, usually are a discussions about the projects I had done and the choices I had made and questions that stem from there. I am not sure what is unsatisfying about interviews like that.


This interview process selects for someone with whom the interviewer might enjoy having meetings.

I’d imagine it’s very hard to distinguish between a good talker and a good worker. Maybe some people can do it, but this is not a skill set I’d expect everyone conducting interviews to possess.

The data shows that humans are terrible at every kind of interview assessment. This is why I appreciate an approach with mechanized layers such as “ask problem with known answer, take notes”


This conversation has been beaten to death, but I'll bite.

I think the problem with whiteboardy-type interviews is they've become closer to trivia. The fact that you grinded LeetCode and others read CTCI kind of prove that, no? As in, people go far out of their way to learn a skill _just to pass the interview_.

> I’d imagine it’s very hard to distinguish between a good talker and a good worker. Maybe some people can do it, but this is not a skill set I’d expect everyone conducting interviews to possess.

Interviewing is a skill and should be treated as such. This means possessing a set of skills any dev off the floor won't necessarily have, and that should be expected. 99% of devs don't have the skills required to conduct a whiteboard interview as an interviewer correctly either, and yet that seems to be generally accepted as okay.

> The data shows that humans are terrible at every kind of interview assessment.

Exactly, which is why, in my posts above, I pointed at things other than the interview as reasons you might be very happy with the quality of your coworkers work. It seems silly to say "The data shows that humans are terrible at every kind of interview assessment", but then also attribute anything from your job to a specific style of interview assessment, right?

You'd get further as a company by investing in training, code quality (review, analysis, etc), leadership, and healthy firing processes.


> There are plenty of big tech companies that pay well, offer a lot of freedom, interesting tech, but are also not FAANG companies with silly interviewing practices.

Names? I’m genuinely interested in places paying near 400k/yr but without stringent whiteboard exercises. Haven’t seen them tho...


> 400k/yr

Are you currently making 400k a year?


They pay that much. https://www.levels.fyi/ I'm only going to be joining FAANG or similar if they pay that much as I have no incentive to otherwise.

My personal situation doesn't seem relevant to the question. Depending on how you look at it - I am. It's just that over half of it isn't liquid right now - but will likely be next year or the year after.


> They pay that much. https://www.levels.fyi/

Very much aware what they pay.

> I'm only going to be joining FAANG or similar if they pay that much as I have no incentive to otherwise

If this is your perspective, best of luck to you, I hope it works out. You've ignored most of what I was trying to say, which is fine. I hope you find the success you're looking for.


The alternative is work on blah-blah-blah but make literally half as much. For people who live in very expensive regions - FAANG and the similar are the only options to a semi-regular middle-class lifestyle. When non-updated 1930's homes that are 1000sqft on 4000sqft lots are regularly going for over $1.7mil - you can't really afford a typical middle class lifestyle on $180k/yr income.


You don't need to explain to me the economics of San Francisco. If you prioritize living in San Francisco over everything, you should try to make as much money as you possibly can. Best of luck.


But these are the people we need to entice to leave their jobs! The best potential hires always have jobs; they rarely go to the open market. They rarely respond to open casting calls and don't need to go through the broken song and dance routine. We know this as the most reliable metric is prior work directly with someone who you trust who vouches for them. Everything else like whiteboarding data algos is weak sauce.


We're talking about what this person should do though. They can't change the broken system but they can best work it to their advantage with some effort.


Maybe the best employees are the people that can best overcome broken processes?

And yes, I meant that seriously. Every fortune 500 company is held together at some level with bandaids and bailing wire. Being able to deal with things like that might be important.

In my firm, I know we place a much higher emphasis on being able to just roll with it than technical perfection. But my firm is but a drop in the ocean compared to everyone else.


One problem with this approach is that with time people tend to optimize to gaming the game. With enough time you are just hiring people that are good in the game and not the best fit for the position.

Companies also need a lot of people that are creative and "think outside the box". With this you are optimizing for conformists and people that "think inside the box", and that optimize to fit the game.

No wonder the big companies have a hard time to create things..

Western society need badly to know how to deal well with impermanence, and this are such a case were there's not much prediction that can be done.. its just like dancing expecting the rain will come.. sometimes it will, and we will gladly think it was because we danced.

The best tip for hiring is someone that you know that knows a little bit to point a couple of good people for you. Because those things are pretty hard to know, and there are very little we can do, without the experience to show for some specific characteristics we need.


> they rarely go to the open market. They rarely respond to open casting calls and don't need to go through the broken song and dance routine.

I don’t know why people think this. Is there some data to back this up...? I’ve seen great engineers go onto the open market and have to go through the hoops...

Meanwhile I’ve seen plenty of terrible ones have no issues getting through side doors.


Big companies don't care. Enough people still through themselves in the grinder, regardless. They have infinite talent lining up.


Agreed. It always comes down to a base equation of who is willing to do what kind of work for what kind of reward under what kind of circumstances.

After a decade of software being a desirable job and everyone trying to get into it, we can bet good money that it's now a buyer's market rather than a seller's market.


can't agree with you more here. I just rejected Amazon's "onsite" interview as I could not find(not motivated either) time to redo all those only-useful-for-interview-leetcode questions before the interview. I for one, _never_ need use those in a 20+ year career as a software programmer. Most of the time is issue tracking, feature addition, and if I do need an algorithm, I know where to find them and which one is the best, which are enough and are 100% of the time done, I don't need reinvent the wheel for that at all.


Have to take the opportunity to shill https://sievejobs.com - a jobs website I've created that let's you hard-block jobs with "broken" hiring practices such as discussed here.

Create a Job Seeker profile to help the website overcome the chicken-and-egg dilemma - As with any job site, it's free for job seekers and I've tried to streamline the signup as much as possible.


Even better. The second time will be much easier than learning it all from scratch the first time.


In my short career of ~10 years I've yet to use any of those the algorithms they ask about in these interviews. I've gone from full stack on php, to java backends,to devops engineering, and never have I ever had to use any of these algorithms. I got a decent score at university where we learned it, but it's ridiculous to be asked about something I'll never use. Even if I knew the theory, and was able to ace it, it would be rare for me to use it, because it's all available in libraries, and they definitely will have done a better job than I will do.

"It's not about the solution, it's about how you get to the solution" you say, I say there's better ways of figuring out if you have problem solving skills.

For sure, there are jobs that require such theory, but many do not. And if it's not required, managers need to realise they're potentially missing out on good talent.


They're not optimizing for knowing the theory or problem solving ability.

They're optimizing for how far are you willing to go to jump through this here hoop of ours?


Algorithms are often treated as a trivia challenge, which is the complete wrong way to use them.

What you really want to know is whether a person can translate a set of requirements into working code. Algorithms are useful because they reduce the possibility that the candidate failed in the coding test because of poorly specified requirements.

"Problem solving" ability is a different beast altogether.


I think the question really is, when are these companies going to wake up to the idea that most people in their mid-40s who are successful programmers aren't writing leetcode, they're preventing junior engineers from checking in bad code, and handling large-scale outages with a few lines of analytics and config changes.


I think you're absolutely right in terms of senior engineers' responsibilities. My take is the following:

- It's hard to evaluate the skills you mentioned. They're important, but generally "softer".

- It's easy to validate if someone solved a cut and dry algorithms questions. As far as I can tell, it's basically a proxy for an IQ test.

I'm not justifying this, but that's my guess for why companies do this.


I think it's less of an IQ test and more akin to a gang initiation ritual.

Instead of "the condition of joining our gang is you need to murder a random in cold blood" they are saying "our hazing ritual is grinding several hundred hours of leetcode and finally running the leetcode gauntlet, if you can endure that, you're in".


It's almost as if the qualities you want are someone's EQ (emotional quotient) and not IQ.

...which sucks for high IQ low EQ persons like myself. My hardest problem to solve at work is always myself.


The harsh truth is there are enough 40th out there who can do that AND implement DFS on a whiteboard, so why not take them? At min. it arbitrarily shows their motivation to get the job.


Because they can get leetcoding programmers who can also do all those things you mentioned.


It's a specific kind of work - I assure you I spend a lot of my spare time learning and working on hobby projects. The grind of drilling on brain teasers and toy interview problems is something I have little patience for anymore.

In any case I'm doing ok these days. Most CA employers (short of, say, Google or Netflix) wouldn't offer a big enough pay increase to offset the cost of living, and besides, I hate living in cities. My current dream is to find a good paying remote gig and live someplace... remote :)


> Your age isn’t the problem; I know plenty of young people that don’t want to do the work also.

It's fascinating, coming from the world of "Strategy" Consulting, to see the byzantine, bureaucratic shibboleths of dinosaur companies recreated in SV in real time. And justified the same way, no less!


> you can do it. It will take some number of weeks or months

I think you're overstating the time needed. Passing those interviews for someone who reads HN is basically just reading Cracking the Coding Interview [1] or Programming Interviews Exposed [2] and doing the ~50% of the exercises.

Source: Worked at 2 of FAAMG and got rejected from 2 of them (because I forgot to read those book before the interview)

[1] https://amzn.to/30g9vRQ [2] https://amzn.to/3iaZknD


I don't think that's the point, capability vs. age.

It's only an indirect factor, in that of someone at a certain age, tends to focus on more important things, like what it takes to build large systems, avoid mistakes, work well with people. Shooing away folks with experience is a significant loss.

Also, just because you "do the work," it is no guarantee. Very likely they could pull a random question from a subject you haven't done recently.


Are they actually shooing away folks with experience, or do they get a tonne of successful applications from people with experience, and to limit the overwhelmingly large number of applications they filter for those who have experience and can do leetcode?


A person from Netflix would have to respond, but if they're anything like other tech companies, they're doing a shit job of hiring.

Huge salaries are one way to mitigate that, by holding on tight to the good ones.


> if they're anything like other tech companies, they're doing a shit job of hiring

Facebook grew from 17K employees in 2016 to 45K in 2019. 38% annual growth, and the vast bulk of that was in engineering. "Only" 17% at Google, but it was already larger so the absolute numbers are higher. 22% at Netflix. This is hardly a "shit job of hiring" as you say. I often saw such growth numbers at startups, but never at companies with headcounts already in the thousands let alone tens of thousands. They're doing a fantastic job at hiring.

Part of the reason they're hiring so much is because they have to. Again contrary to what you say, they are not holding on tight to the good ones. The number of people who leave after two years - at all levels - is almost as stunning as the number coming in. Big Tech is notorious for this. The good ones might leave to found or join startups, but leave they still do. The high compensation actually facilitates such departures as much as it discourages them (certainly did for recently-retired me), except among the exceptionally greedy.

These companies are not pools of carefully selected and tended talent, with low rates coming in or going out. They're more like massive pipelines, with huge numbers entering and leaving all the time. The coding interviews are a very coarse filter to keep out the worst of the dreck, but they also keep out many good engineers. I've known several demonstrably excellent engineers who failed in that moment, and more who self-selected out of the process for various reasons. The people who can get in are barely distinguishable from those who got jobs elsewhere via more traditional interview processes, except for skewing very young.


You seem to believe hiring large numbers of bodies mean they hired the best people. I think that's hardly obvious, and more likely downright false from what we know about tech hiring.


> You seem to believe hiring large numbers of bodies mean they hired the best people.

Never said, implied, or believe any such thing. If anything, my last paragraph suggests the opposite. And I've been there so, unlike some, I know what I'm talking about.


Did you do leetcode/CTCI, interview cake?

Any of the fancier in person practice stuff? I'm always curious what people find most effective.


It’s difficult to find the motivation to spend hundreds of hours working on imaginary problems. Kudos to you for doing this though. Many/most of the best developers I’ve ever worked with wouldn’t consider wasting their time on such nonsense. It seems to be somewhat of a litmus test for determining how subservient one is.


> It seems to be somewhat of a litmus test for determining how subservient one is.

Or driven to make outlandishly high salaries.


> Many/most of the best developers I’ve ever worked with wouldn’t consider wasting their time on such nonsense

Interview practices aside - I find them to be fun puzzles and know plenty of accomplished CS/math people who do too. I understand the anger at corporate tech practices but let's not malign those who find the questions interesting.


This a pretty mean way to dismiss someone who has a different viewpoint from you. Many developers enjoy these problems the same way someone might study a niche subject for fun or attend a Simpsons trivia contest; it's fun. No need to call them a sheep


What's a good "ELI5" resource for learning these things again?


> I read and practiced for a few months before getting my job at Microsoft at age 45.

What resources did you use and what resources would you recommend?


Please don't make presumptions and insults about people you don't know.


don't gaslight people. dude wasn't insulting anyone.


Honestly I respect that and prefer that as well; just tell me up front so I can move on and not waste any more time. I come from a wall street background and did break through eventually, but they just leave you hanging with no follow up. And the recruiters treat candidates like dates they are ghosting, its really not an acceptable way to treat a human being after they put days even weeks into preparing and coming in.

Why do they do this? Because there is absolutely no downside to leaving you hanging and then they have backup plans to fill the spot. Its also just emails and coordination that pays them no dividends, so they don't care. You're dead to them.

The worst is when companies post a position they never intend to even fill just to collect resumes and see their options.

The whole thing is very reminiscent of the dating scene which is not very professional.


I think you're missing the logistics needed to do this:

1) to officially reject someone usually needs asking around to build consensus that regardless of any changes to org structure, to outstanding offers, to the current set of interviews, etc. that this person will not get an offer from the company. Information is usually not precise, and often partially missing in the interview loop. Most of the information is focused around the top candidates, so "maybe" tier candidates are less discussed and decisions are not really made on them. So then you have to talk to your manager, colleagues, HR, etc. to make sure everyone is on the same page. A mistake here is costly.

2) you usually make offers to the best candidate, and if they decline, move down the list. So to reject someone means that this best candidate has accepted the offer. But they get a certain amount of time to consider it (often weeks, sometimes months), when you're frozen. Then you have to remember to reach out to the rejected candidates (I guess you put it on your calendar, and someone has to ensure this happens). To do fast rejections, you need short acceptance timelines, which is offputting to some candidates. Why risk pissing off your candidates you're giving an offer to, to make candidates you're not giving offers to happier?

3) even if your best candidate accepts, something might happen before they start (they change their mind), or you find out within a week of their joining that they're problematic. If you didn't reject other candidates, you can still approach them and say "sorry, we originally didn't have a position for you, but now we do", whereas rejecting them "we're moving on" closes that door

4) I haven't even gotten to the legal or reputation repercussions if you reject someone and do it in a way that can be interpreted as a problem. You can't let any employee deliver the news. This all needs policies and coordination.


Better.

1) Not really. Not where I work, not where I worked in the past. Maybe somewhere, but if we are talking about tech, rejections can be very quick. 2) In some companies they made a list and they then go down if the top option(s) do not accept, in others you are either the first or they re-do the search. It is company's/hiring manager culture/decision. 3) Very unlikely. Nobody likes to be chosen explicitly as second or third, as the hiring you also have to deal with someone who you did not want initially because you preferred the other(s) and as the candidate you accept to get into a problematic situation from the start. 4) Plenty of companies reject firmly and clearly with no legal follow-up whatsoever (or it they are very occasionally sued by some candidate, we all know it is part of the business).

Being rude, ghosting people, waiting for other candidates to accept before rejecting is all bully behavior of who's very often in a position of power, that is the tech company.


> you usually make offers to the best candidate, and if they decline, move down the list.

When I've been involved in hiring, we almost always have more than one opening, so this one doesn't resonate with me. We could always make a decision on 'would we like this person or not'. I've decided to hire an iffy candidate because of a corporate imposed time crunch (position went away if we didn't hire by X, so we went with someone), and it was worse than being understaffed, so I lean heavily towards only hiring good enough people.


It would be good to be transparent about this process. You can tell me that I am not the first pick and may get an offer if a spot frees up and I will prefer that to hearing nothing back.


I am going to turn 40 in a couple of years. Honestly, I have never liked the idea of 'preparing for interviews'. If I want to switch job I mostly want to apply what I have learnt so far to clear the interview.

The interview at my last two jobs (current and previous one) were both vastly based on a coding task. I always prefer this as it is closest to how I work.


Not to mention the sheer arrogance so many SV companies have thinking that what they are doing is so special it requires "10x" developers compared to every other company out there.


Well, the problem is in the Typical Man Month. 10x as many 1x developers will deliver a worse product on a longer schedule than 1x as many 10x developers.

Even if you assume 150% developers at 300% the cost, it's worth it. The number of communications channels grows quadratically with the number of people in the org. You'll come out ahead at larger organization sizes. Fewer, higher-productivity people is a huge win in software with compounding effects.

And the next problem is most markets in software are winner-takes-all or winner-takes-most. Being the runner-up to Netflix is not a fun spot to be.

The place where 1x developers do well is routine work, especially on smaller projects. For example, in-house IT work at a bank, manufacturer, etc. tends to not have those same economies.


I completely agree with your premise on the 10x developer in concept (although what 10x means is up for debate). I agree with the fact that a team of "good" developers will outperform a team of <good developers, by a huge amount, in many different ways - quality, features, ux, etc.

The issue is, whiteboarding people on trivia programming problems doesn't determine if they are a 10x/good developer - it only determines if they understand the particular trivia they are asked.


The problem is having people conduct whiteboard interviews without actually understanding what the whiteboard interview is looking for. 10x engineers tend to be force multipliers not because of their technical skills, it's due to their excellent soft skills (communication/leadership). Because organizational communication problems increase cost exponentially, so decreasing communication overhead is far better returns than a slightly better technical implementation.

So you have all these people running these interviews focusing on the problem being asked when in reality, the solution to the problem is mostly irrelevant.


Well, no. My experience is that the technical interview is a noisy fizz-buzz. Good developers need to know algorithms and data structures, and be able to write code. If they can't even do that, they're definitely NOT a 10x'er.

If they can, the next part is fit. You need to get over both bars to be hired.

All of this is incredibly noisy, so part of what happens is you have to set the bar high, since 37% of the people you interview will perform one std. div. above where they actually are, and 5% will perform 2 std. div. above where they actually are. Setting a high bar means you lose a lot of good people due to random error. But the costs of one bad hire are EXTREME compared to missing a few good hires. So it makes sense to do that.

People take rejections personally, but in most interview processes, it's pretty random. You have a bar. You hire people who interview 1-2 std. div. above that bar. You might be perfectly qualified, and I won't hire you if you had a bad day (or even an average day). The risk is too high. If you're 1 std. div. above, I'm moderately confident you're qualified. If you're 2 std. div. above, I'm very confident. And having hired people, that's how it plays out: I mostly hire people who interviewed well, and their performance on a typical day is typically lower than at the interview (not always, but usually).

Hiring is about finding and bringing in good people as efficiently as possible. I'd rather interview 20 people, hire two I'm confident are good (miss six qualified people among those 20 who had bad days), than I would bring in 10 people and hire two of them.

And bad people still slip in. You just can't do that much in an 8 hour interview.

For startups, I go for personal recs and github repos. Does that mean I miss people who aren't in my network, and who don't do open source? Of course. But that's okay. I still find enough really good people that way. (And yes, my network IS diverse, thank you very much).

But big companies need standardized processes, or things get rife with discrimination, nepotism, and all sorts of other nastiness. That easy to avoid small-scale, but with 1000 employees, it takes one bad apple to land on front page NY Times.


Your approach suffers from regression to the mean. You would hire someone who happens to do very well on the interview, likely someone who thrives on an adrenaline rush.


Agreed, it seems to me often that companies will have greater resume demands for lower levels than 90 percent of the people at the organization, many times for skills that aren’t relevant for projects or business goals, it doesn’t require a tier 1 PhD in order to rush through zen desk tickets


Oh, it's just as bad at higher levels, despite the people there generally having even FEWER of the qualifications. I'm top level IT management with a tremendous amount of actual technical knowledge, and just getting to an interview is the hardest part. I've never taken an interview that didn't result in an offer, but getting to the interview with all the demands is insanely difficult. Usually the spots get filled through unofficial channels and the person they hire for the job is unfit, technically. Incredibly frustrating when you're good at what you do.


I’m sorry to hear that. Every now and again I see a person gets hired that seems like a bad fit and have no choice but to cross my fingers and hope their attitude and ego don’t drive people away. It also seems that many people that are really good prefer to avoid promotions in order to have more stability and focus on their strengths. I have a family member who is a technical expert with 30 years experience who often gets mistreated by people with fluffed up resumes.


Yes, it's frustrating. At my previous long term job, I cut IT costs _dramatically_, increased reliability to levels management didn't think was possible (it was _REALLY_ bad before I arrived), and made IT much more responsive, proactive, and well liked by the employees. I left, and was replaced by a guy who on paper looked amazing, but in reality was a disaster. I was asked to come back 5 months later to consult to train him up a bit. he told me exactly how he got the job: he paid for LinkedIn connections (his recruiter told him over 500 is a magic number), paid for endorsements in LI, and flat out lied about his skills on the resume.

And here I am trying to work hard like a schmuck.


Google and FB don't do technical interviews for internal transfers, so they insist on a uniform hiring bar. Netflix pays so much money they can demand whatever skills they want candidates to have. All 3 companies have interesting and difficult challenges.


The first time I interviewed at Amazon, the interviewer either pretended that a fire alarm was going off, or was actually going off, so they had to cut the phone interview short. When I asked if they wanted to call me back, they said they didn't think so, and that I'd be hearing from the recruiter.

I did not ever hear from that recruiter again.

It was a pretty gutting way to interview with, at the time, the company of your dreams. Plus, being 20, the weight of that call was a lot greater than it probably should've been.


> It was a pretty gutting way to interview with, at the time, the company of your dreams.

My god, I'm terribly sorry that happened. I know you're probably not looking for apologies at this point but, as someone who has conducted countless interviews as the interviewer and I've had some really bad candidates on my phone and in person...I cannot fathom doing that to a person.

If we're booked for a 30-minute interview, the candidate is getting all 30 minutes of my time. If I guess fairly early on that the candidate is not the right fit or simply didn't pass, we will talk about general tech topics or I will ask more professional background questions than I usually do (I try to keep to a 50/50 split of technical questions and "tell me about yourself"-style).

If we're booked for an hour, the candidate gets a minimum of 30 minutes, and I shoot for a bit longer. Heck, I've had some candidates turn it around in those last few minutes. The candidate has already slogged all the way to this point. I feel that the minimum level of decency I can offer is to give most or all of the time I've already said I would give. This applies even if the fire alarm goes off; the candidate is going to get each one of those minutes because it's the respectful thing to do.


Yeah I mean, it was a decade ago and I've definitely done fine, but it definitely shaped how I approached giving interviews to candidates when I had the opportunity. I always tried to remember the gravity of being on either side of the table, and the amount of stress that usually went into being a candidate deserves an amount of respect that most FAANG companies, in my experience, do not provide.


Fire alarm tests happen at office campuses at regular intervals and aren’t announced beforehand.

That said, the thing to remember at all times is that the dude doing the interview is just doing his job and you’re little more than a row in a spreadsheet before and after the interview, perhaps even during, too. I wish this was taught instead of having to be hard won experience, especially since this is obvious as soon as you start interviewing people yourself.


> That said, the thing to remember at all times is that the dude doing the interview is just doing his job

This isn't really a thing candidates should care about, IMO. It is fine to demand decency out of interviewers, and it is fine to callout when bad things happen while people are "Just doing their job."


Of course it is, never said otherwise, just don't be surprised if you don't get treated decently and especially you shouldn't give up your dreams on the grounds of failing one interview.


Sorry, usually when people say "Just someone trying to do their job", it means "Don't give this person shit because they're just trying to get through the day."


At regular interviews, like every few years. And they will almost always announce them ahead of time. Not to the second, but I've always known when a test was coming. Of course they weren't always tests.


Sounds like you've got it easy. At my $DAYJOB it's once every ~6 months and they always measure time for the building to empty, so they don't want people to leave or not come in on that day.


I'm 46 and I suck at this stuff too and have still been able to land some amazingly good jobs with SV companies. You can probably brush up on the basics you'll see in a typical interview with a few weeks of practice.


I think if you don't break into major SV companies early in your career it becomes extremely hard to do so later on because people start assuming you must have already tried and failed so aren't at the right standard.


I dunno. I've had pretty good luck breaking into SF companies, and I didn't get started until 40. But I'm a glutton for punishment and went through a lot of grinding to make that happen. I'd say it depends on how flexible your mind is, and how bad you want to put in the work to get it.


> becomes extremely hard

> went through a lot of grinding to make that happen

Aren't we in agreement?


Not really, you implied it was harder later in your career because of assumptions made about previous history.

The comment that replied to you said you can study and pass without your age being held against you.


The comment reply said it was difficult and they grinded hard. First comment did not say it was impossible.


> "...it becomes extremely hard to do so later on because people start assuming you must have already tried and failed so aren't at the right standard."

One person is saying it's hard because of ageism/bias against old applicants.

One person is saying it's hard because you have to study.

The disagreement is not about it being hard, it's about why and it's a pretty substantive difference.


Maybe it's extremely hard for people just staring out, too?


I think a lot of this comes from the superstar model implicit in the VC ecosystem. One perennial theme in the SV approach to business is the idea of making a lot of bets with skewed upside. Like buying call options, the vast majority won't pay out. But if you do it right, a small handful of homeruns will make up for the rest.

I think this mindset easily carries over from the investing side into the hiring side. What is an employee, if not a risky upfront investment? Especially at a hyper-growth startup that's already bleeding cash flow. Very few 23-year olds will be productive enough to justify a quarter million in compensation. But a handful of very talented ones, when put in a high-impact position with a ton of responsibility will knock it out of the park.

The median 40-year old experienced engineer is almost certainly more competent and productive than someone fresh out of school. But Silicon Valley doesn't optimize for the median, it optimizes for fat right tails. Hire or invest in a 23-year old SWE and there's always a small chance that you be scooping up the next Elon Musk. At 40, Elon Musk definitely wasn't browsing through monster.com.

However, I believe this paradigm rests on a faulty premise. A more reliable way to create an exceptional organizations is to build an exceptional culture, not try to bottle the lightning of individual superstars. Unfortunately, that approach involves sacrificing some sacred cows of Valley ideology.

Building a strong corporate culture requires effective managers, as well as brilliant engineers. The typical founder does not fit the mold of an effective corporate manager. 28-year olds can be good managers, but a 50-year old with decades of experience is almost certainly more likely. Replacing the founder with a professional CEO is anathema is the modern "founder-friendly" culture.

Beyond that a professional manager at the helm very likely means a more button-down corporate orthodox environment. Not necessarily because it's better, but just as a byproduct of how the CEO is used to operating. Mitt Romney runs a very different shop than Adam Neumann. Put Mitt in charge of the next startup, and things are going to start looking uncomfortably more like Initrode rather than the typical hipster startup.


I've seen plenty of mid-career engineers get jobs at FAANGs. I don't think you're right.


It also seems like pay and experience are also a huge factor. I worked at a F500 once headquartered in the midwest. I was paid really well. I brought up wanting to move out to SV and the COL adjustment they mentioned would have been a paycut.

Plus it seems like major tech companies downlevel you if you don't have relevant experience at peer companies. And salary negotiation is harder if you don't have competing offers.

I was single and was fine renting a small apartment, so the COL hit wasn't too bad. But moving out west if I had a family or owned a house would have been a major lifestyle change.


> Plus it seems like major tech companies downlevel you if you don't have relevant experience at peer companies.

That's it I think - they see an engineer with relevant experience, but not at the scale of them and think it's not the same. Maybe they're right? I don't know.


> I think if you don't break into major SV companies early in your career it becomes extremely hard to do so later on because people start assuming you must have already tried and failed so aren't at the right standard.

All the companies I know of let you interview multiple times.


I'm entering my late 20s. I'm wondering if I still have a chance


You do have a chance. You should wonder if you want it. Ignoring the ethics of each company, the lifestyle is not for everyone. You should try to figure out if it's a good fit for you or not.


What is the lifestyle, though? I was under the impression that all FAANG companies are pretty different from each other.


Well, most of them involve (pre-Covid) living in one of a few extremely expensive cities.

All of them involve being a single person in a huge organization, which is very different from being (for example) the CTO of a lifestyle business or the first hacker of a startup.

A friend of mine works on CSS optimization at Facebook. That is both narrower and deeper than anything you would do at a small company.

There's also the question of who your coworkers are. Large companies are large enough that you can spend all your work time with other devs. That's not true at a small company.


.


> You're just making this up. At no point does age come up in the decision making process for major SV companies.

But I didn’t mention age?

I said career stage. You can’t tell me they don’t look at what stage you are in your career.


What were the words they used to decline proceeding? Do you happen to remember?


This was years ago, so my memory is fuzzy on this - not sure how much I really heard after I knew I was being told no :)

There was a decision point about halfway through the day (after being grilled by engineers) where I was going to be either cut loose or sent on to interview with more senior level people and/or HR.

"How do you think you did?"

"Eh... ok, I think. I was struggling on the data structures."

"Yes, that's what I'm hearing from $ENGINEER. There are reasons for this - maybe you are out of practice, it's been a while since college, or you don't use this knowledge in your daily work. But we do deal with this stuff at Netflix, so for this reason we're not going to move forward at this time."

I was interviewing for a position doing Scala (at that point in my career, I was doing some Scala work, and it was still a fairly new and hard skill to find). The person giving me the bad news was a Lead Engineer and a proponent of Scala, seemed a bit disappointed that I knew Scala but got tripped up by low-level implementation details of some data structure (Naturally, the solution came to me later on the plane ride home). I actually had studied for this interview - but I had studied the wrong things (I was focusing on Scala-specific knowledge, but they really grilled me on fundamentals).


Here's the thing: "But we do deal with this stuff at Netflix," is still only true for a tiny fraction of the engineers at Netflix. I currently work at a company that is not quite FAANG scale, but almost is: we have issues in our platform and systems that have forced us to adopt "FAANG-like" solutions to certain issues of scale. Almost none of the engineers at this company are doing anything at all with interview-style algorithms and data structures questions. There are a few working in a couple of areas, but for the most part engineers are working on protobuf specs and implementations around them, front-end/other client code, etc. I'd estimate less than 5% of the engineers here even touch the internals of algorithms and data structures ever, and maybe 10% of them deal with them anything close to "regularly."

The specific team you were being interviewed for might have this apply, but the claim that "Netfix" (as a whole) deals with these issues regularly is almost certainly an exaggeration (at best).

These interview questions generate poor signals and are best seen as hazing ritual/ego stroking exercises.


But the 5% ~ 10% that do are at least guaranteed to be capable of it.

And it's likely that that matters.


Capable of it or capable of learning it when it's needed? I had to brush up on linear algebra for some problems at work about 2 years ago. I solved the problem, documented everything properly, and the code has been running unchanged and without issue ever since. In the time between then and now I've definitely lost that knowledge _yet again_.


Sure, but it doesn’t matter enough that interviews should be built around this domain, especially to the extent they are around the Bay Area.

Having 0.5% of all engineers regularly engaged in working with the implementation details of data structures and algorithms does not justify putting 100% of engineering candidates through interviews centered on that topic.


Thanks, man. I appreciate your sharing this.


I think 100x is hyperbol however you slice it, run away from anyone who tells you they are a 100x developer. 10x may be achievable... but I argue that it is at least partly due to the prevailing code-base. Every competent developer is a 10x developer on a green field project just like every competent developer is a 0.1x developer on a messy legacy spaghetti-code disaster of a project (Making the differential 100x I guess).

Good developers are the ones that create code that resists the slide from a 10x code-base to a 0.1x code-base. Important skills towards this end are a good sense for code architecture and testing discipline. But also: good communication, organization, documentation, teamwork.

As an anecdote, one of my favorite developers to work with at my current workplace is a "high throughput" developer but who is personable, tests and documents the crud out of everything he does and makes it easy to extend and fix bugs in his code for other developers. One of my least favorite people to work with is also a "high throughput" developer who is a prolific creator of software, but everything created by this person is an un-maintainable, un-documented, un-tested, brittle block of procedural copy-pasta that ends up in the critical business path. And yes, this developer "snapped" about a year ago and it has been a 3 person project ever since to scramble to fix this stuff.

So, moral of the story, be very careful with pure productivity as a metric for developers. Maybe a 100x developer is really just a 5x developer who enables 20 teammates to also be 5x developers?

EDIT: I think I maybe didn't make my point super clear. My theory is that there are two (somewhat) orthogonal dimensions that you can judge a developer by:

1) Productivity, ability to get things done, this is what I assume (maybe mistakenly) that people are talking about when talking about an Nx developer because it is the dimension that maps better to a quantifiable value.

2) Quality, ability to create code that is easy to work with and extend. This doesn't map to a Nx scale at all.

One of these qualities contributes towards a goal by compounding linearly, independent of headcount. The other compounds exponentially and also with headcount and is clearly the superior thing to think about when considering developer skill.


I don't think I'm a 100x developer or anything, but I think people underestimate the compounding interest of being a 5x-10x developer. If you architect things just right today, that can save you a lot of time tomorrow. Spending time testing today can save weeks of bug time later, which can be spent to create something useful, compounding on itself.

If we say green field is 10x, and someone is doing good things, I think that should go up over time. Getting things like builds, documentation, tests, make people more productive.

Whereas on the other hand, people who make code worse eventually start drowning in their own filth, and eventually slow down to nearly nothing. Filth also compounds.


I was involved in an accidental situation where two teams at different companies worked on the exact same project from the same starting point, each led by different developers. This was not the company's core product, but a necessary part of it (for anonymity, let's say this was the device driver for a fancy piece of hardware).

The lead developers on each selected different frameworks, used different data architectures, and set up different workflows. One project became hugely convoluted, with bugs that were very difficult to trace due to race conditions, the way the navigation worked, and choices that let to more complex code. The other team had a much simpler architecture, and was literally 95% less code. That team was able to add new features with ease, and without complex bugs cropping up out of nowhere.

In fact, that project went into "maintenance mode" because there was nothing else to add, and the lead developer could just add one or two minor things when they cropped up, and instead spent most of his time on a new unrelated project. I'd say the lead developer with the better architecture was not only 100X, but the other team's lead developer would probably lead to the downfall of that company -- both morale and development speed would plummet to 0.


Yes - excellent developers are a productivity multiplier.

It’s not about the 12’o clock shoot-from-the hip duel - the one who shoots more codepoints in the general direction leaves winner.

A piece of code - if it ends up in production - has so many potential ways to waste work hours that avoiding just a fraction of them is a huge win.


Yes, and not just hours of work, but reputation damage. Think of all the products out there where people say "but it sucks because it crashes for no reason sometimes." These are not reproducible crashes generally (as most developers can fix those), but rather bad developer decisions that led to a system that is hard to make bug-free due to the way it's structured. Even the decision to use a programming language without pointers can lead to fewer unexplained crashes, security vulnerabilities, etc.


This is an interesting story. Was wondering if you have it written up somewhere so I can cite it? If not, perhaps you could mention how you’d like for it to be cited, thanks.

On a lighter note your username definitely checks out :)


What was the outcome? Did the convoluted project get abandoned?


Yes, but I don't think it compounds forever. There is a natural thermodynamic limit somewhere. In practice if your company has a 1x code-base you are working for a decent company. If your company has a 5x code-base, you are working for a world class company.

EDIT: On the other hand, there is no limit in the other direction and that is where companies end up in big time trouble with a 0.01x codebase.


It's true, it doesn't compound forever, I think because eventually it is finished, and you don't want to add things to it. I think knowing when something is finished as opposed to adding yet another tool on a swiss-army knife is also an important skill. Otherwise you end up with a swiss-army ball of mud.

I'm also going to go out on a limb and say there's such a thing as a negative codebase. For example, let's say I have to work in a codebase for a particular political reason, and I can't rewrite something. But if that takes me 100x the time it would to do it correctly, then really the codebase is actually a net negative. One example of this is places that use an in-house framework for something (when there isn't a good alternative), but then a good open source alternative comes around. Of course you don't want to rewrite things all the time either, so I do agree there is a limit, but really I think that comes down to the code doing exactly what it should in the least complex way possible (with no bugs). Once you get there, there's nowhere to go?


There's a big difference between making obvious mistakes that make everything worse and making the "right" decision for a future consideration. Beyond first-hand experience (i.e. making the mistake and then recognizing it in a future, similar decision) I'd say even the best "architects" have about a 20% success rate when moving into uncharted territory. Planning for tomorrow at a strategic level is hard.


Exactly how I see it.

Good code builds and compounds on itself. It makes every developer on the team more productive. Its not just about the output of the single "10x" developer. Just having them on your team increases your whole team's output, even after they've left. Sometimes other "10x" developers build on top of that work.

Bad code also builds and compounds on itself. Same argument but in reverse. At some point the codebase becomes so unwieldy, someone will have to convince the manager, that a complete rewrite is arguably a better option.


> but I think people underestimate the compounding interest of being a 5x-10x developer. If you architect things just right today, that can save you a lot of time tomorrow.

I'd also argue that a lot of people over-architect solutions and they miss out capturing markets, which leads to real life economics for a business. YMMV


100X developers are the groups who turn impossibles into possibles. Some Uber engineers used to believe that Graphite was the best thing in the world and Nagios was second bar none, and they went ahead design a complex yet failing architecture for monitoring even when Uber's traffic was still tiny before Uber's M3 came along. This is what Netflix did with four engineers years before Uber's saga: https://www.quora.com/Are-Netflix-employees-really-that-good...

To those who couldn't scale out Graphite and got crushed under gruesome oncall alarms, the Netflix folks were 100x engineers.


Exactly this comment.

10x developers exist. 100x developers exist. These developers don't program 10x as fast or have 1/100th of the code. They bring 10x or 100x more value as compared to other developers.

People in HN seem to forget: Code doesn't live in a vacuum. Code has purpose. Code fixes problems. 100x developers are the ones that bring true value. That value may come from a 300 LOC data structure that improves efficiency by 50% or a 30-page code architecture that improves scalability. The means to produce value are irrelevant. What matters is how much value you bring to the table.


Yeah it's not so much cranking out 100X the code as it is good decisions, good teamwork, and management that clears the road rather than throws up obstacles. Some people could not do the same, even given the same advantages, but at the same time it's pretty much impossible to produce the same kind of results in an environment without those. (Source: was on this team, but not one of the original 4)


100x in this sense is akin to doctoral level research. Think SpaceX turning the impossible into the possible with reusable rockets. Their returns on investment are now 100x greater than their competitors.


Graphite has been obsolete for 5+ years. There are commercial products with unlimited scaling, great UI, alerting and a hundreds things out of the box (see datadog and competitors).


That's not the point here. OP said, that the Netflix team could at the time deliver scale, while other teams couldn't.


I was on Roy's team at this time. I am not one of the four mentioned in the link, but I definitely know exactly who is being talked about. I wanted to comment that these four were considered outliers even by Netflix standards for being very high performing. So bear in mind the example is an extreme one.


Yeah, and the key difference is simple: The 100x engineers in Netflix just understood that file-based lookup for key-value pairs won't scale for OLAP-like workload on time series, and of course they possessed the sheer capability of implementing the right technology from ground up.


The Graphite story happened more than 6 years ago, or so I heard as I joined after M3 was in production.


Reed is taking that into account. Reed and Netflix have been creating software for many years. They certainly have had "Rockstars" who could bust out functional but unmaintainable code. Those people are not valuable to Netflix because Netflix is looking for long term success.

A 100x engineer exists in the context of a global company like Netflix. Because if a developer makes something just 1% better that translates into millions of dollars of savings or increased revenue because on the margins just 0.001% increase of new subscribers is thousands of customers.


Netflix doesn't win or lose customers based on programmer performance, they win by having content that people actually want to watch. I don't care if the UI is 10% less slick, as long as they have stuff I want to watch.

The only reason I've ever considered dropping Netflix is "why am I paying for this when there is nothing I want to watch". Fortunately, they have come through with some interesting content recently, and I'm still paying them. But give it a month or two with nothing I want to watch, and I'm pulling that plug, and no amount of 100x programmers will be able to keep me as a customer.


I'm perpetually frustrated with nf's UI, and tend to rag on them a bit. But then, my partner got subscriptions to other services. Disney, crave, amazon, showtime... holy shit is it actually difficult to remember what I've watched and take me to the next episode? I'll still crab about nf, but the competition is hot garbage.


I wish everyone would just license and retheme Kodi or Plex and be done with it.


Ditto. I do wonder what 100x developers get them. I don't know if Amazon Prime or Disney+ have 100x developers, but their streaming experience is similar to Netflix. Maybe Netflix is 5-10% faster. I can't say.

The point is, with a service like Netflix, it's absolutely the content that matters. People happily watch pirated cam copies of movies because they want the content so much.

Then again, the salaries of 10x developers are a lot lower than 10x creators (directors, showrunners, actors, etc)


Just in case: Netflix is 15% of the Internet traffic world-wide and about 1/3 of the traffic in the US (these figures can be a bit obsolete). So the engineering challenges I'd imagine are not so much about UI and recommendation engine as it is about pushing bytes efficiently.


Latter should be serious problem but Netflix improves both.


> I don't care if the UI is 10% less slick, as long as they have stuff I want to watch.

It's not a coincidence that they happen to have stuff that you want to watch. You're aware Netflix also applies data insights to decide what to make?


>You're aware Netflix also applies data insights to decide what to make?

Of course I give something thumbs up or down depending on if I liked it - why would you assume I don't know what they do with that?

But they've still made some barely watchable crap, too, in spite of themselves, so I do have to question if rating things even matters.


The thumbs up/down is just one signal among many. They know in aggregate what people watch, how much of a movie/episode they watched, the kinds of devices they watched on, how much binging/pausing they did, when and where they watched it...

> they've still made some barely watchable crap, too

To you. That crap was undoubtedly entertaining to someone. Not to mention a 100% hit rate is nearly impossible in the creative biz.


https://old.reddit.com/r/scifi/comments/cj4rrp/was_another_l...

Netflix's "Another Life" was so bad that people wonder if it was made bad on purpose. It was absolutely awful, and anyone that thinks it was good loses any credibility about what's good or bad sci-fi.

And I've been developing webpages for many decades, and even worked quite a long time at a precursor to what Netflix is today - yes, an online movie streaming service. So please don't talk down to me like I don't know what any of this is about. You're seriously wasting your time explaining any of that to me.


I didn't intend to "talk down" to you, sorry if it came off that way. I just didn't agree with your original statement that programmers' performance has little/nothing to do with why people use Netflix. I still think you're completely wrong about that.

> I've been developing webpages for many decades

It can't have been that many decades, the WWW has only existed for 3 decades.[1] Even I've written at least one webpage in every single one of those decades. :-P

1. https://en.wikipedia.org/wiki/World_Wide_Web#History


"When I look for a streaming video service, I want to make sure their programmers are the best. The content isn't as important as the user interface or the algorithms that tell me what to watch."

Do you realize how absurd that sounds? Content is King. If Netflix had crap content, it wouldn't matter how good their programmers are, because the content would still be crap. I can tell you from experience that if Netflix ever folded, their contracts with studios would be worth 100x more than whatever code they developed is worth.

> I've been developing webpages for many decades

>>It can't have been that many decades,

The "WWW" was created in August 1991, and I was on it in 1992, so yeah, practically 3 decades. I was wishing for Javascript in a web browser years before it ever existed, back when I was using lynx to browse the web. And I was coding long before that. Yeah, I'm old. I've been around. I don't need you explaining anything to me.


> Content is King. If Netflix had crap content, it wouldn't matter how good their programmers are

I don't think I ever once said "content doesn't matter". If they only had dynamite content and a shitty user experience people would simply pirate the content and not pay for it.

> Yeah, I'm old. I've been around. I don't need you explaining anything to me.

I try every day to not become like that.


>If they only had dynamite content and a shitty user experience people would simply pirate the content and not pay for it.

Most people have no clue how to pirate anything. Out of 100 people in your life, including all your relatives, honestly, how many of them are willing and capable of pirating content? If you think it's over 25% you will have me ROFLOL. And all of those people will be just fine with a less flashy UI than Netflix has to watch content they want to watch. I mean, they've been using cable boxes for years and those absolutely SUCK for finding content - but they still watched, because there is content they want to watch, or not, so they don't watch.

You're really making some very weak arguments.


> If you think it's over 25% you will have me ROFLOL.

Laugh it up then: https://www.theverge.com/2019/4/17/18412159/game-of-thrones-...

Even if you're right, you're admitting a good UX gets at least 25% of the people to pay money instead of pirating.


That link doesn't support anything you're arguing about. Why continue this when you're just flailing around making ridiculous claims. People like you are why I left reddit.


Netflix programmers can help you find what you want to watch. All the content in the world won't help them if you spend your time staring at the home screen while bad algorithms recommend the wrong things.


> All the content in the world won't help them if you spend your time staring at the home screen while bad algorithms recommend the wrong things.

What? I can read about quality shows to watch on any number of websites or recommendations from people I know, and just search for the title of the show.

On the other hand, if you fill up your inventory with 99% garbage, like Netflix has, it doesn’t matter how good your algorithm is, since it’s going to come back with garbage.

I don’t notice any performance difference between HBO Max, Apple TV+, Netflix, or Amazon Prime. I press play, and it plays. What I do notice is most of the content is garbage, so I just wait to hear about good shows, and then once a sufficient number of people claim it’s worth watching, I go and play specifically that.


Not true at all, because in spite of all their content, and being able to find it, they still don't have anything new that I want to watch. I've already seen everything I wanted to watch. Now I debate leaving them because there is no new content. And after all "Content is King".

https://www.forbes.com/sites/steveolenski/2017/06/21/why-con...

>All the content in the world won't help them if you spend your time staring at the home screen while bad algorithms recommend the wrong things.

Their algorithms only optimize for the least profitable use case. It doesn't matter what the algorithm wants to suggest if they don't have the content I want to watch, or I've already watched anything worth watching.

Know what their algorithm suggests to me now? Sci-fi in foreign languages that I'm just not interested in because of its low production value and bad writing. But it's all they have left to suggest to me. That and everything I've already watched.

"Content is King".


The guys doing money printing machine control software must be 100'000x engineers.

The starts at Netflix are the procurement people that ensnare good movies while drinking fine wine on Manhattan or whatever. I would not say it is an engineering company like say, IBM or Oracle.


>A 100x engineer exists in the context of a global company like Netflix. Because if a developer makes something just 1% better that translates into millions of dollars of savings or increased revenue because on the margins just 0.001% increase of new subscribers is thousands of customers.

This dumb developer multiplier has really taken on a whole bunch of different convenient meanings.

The original idea had absolutely nothing to do with company success. It's not even useful now and it was questionable before.


> Because if a developer makes something just 1% better that translates into millions of dollars of savings or increased revenue because on the margins just 0.001% increase of new subscribers is thousands of customers.

Generally, the idea of an Nx programmer is comparing programmers on their output, not their outcomes.

Otherwise you go from trying to compare levels of skill to levels of luck.


Yeah, you can do terrible programming work on an extremely popular product, or do good programming work on a product that nobody wants or cares about. And no one is 100% correct about what customers want 100% of the time.


I think people often underestimate how bad the average programmer is out there.

It’s apparently not unheard of to have C programmers who don’t know function pointers or even structs work, or who don’t know what a build system is (only ever used an IDE).

There are many people who will just plug stuff together until it works somehow, without understanding why or how it works in the end.


Indeed, have a little trip to the outsourcing world, where you're paying for a team of experienced developers, some of whom have never developed anything before.

That's the antithesis of HN of course. Most commenters here probably work for tech companies.


It is depressing that people are happy to just throw anecdotal evidence around without even defining what metric they multiply by 10x or 100x.

There is some literature on it. For example, this blog post [0] contains some references.

I have only read Peopleware. It says 10x is the difference from worst to best in terms of time and number of defects across a few hundred programmers. Also interesting: Within the same organization, there was only a difference of 30%. This means the environment is much more important than the skill, experience, or personality of a programmer.

I cannot find any studies after 2000. Most of the data is even older. The Peopleware data is from Cobol, Fortran, Pascal, and C.

[0] https://www.construx.com/blog/productivity-variations-among-...


If 100x is from 100x the throughput of a 0.1x developer, in reality some developers are <0 net contribution. If I'm a 10x and the baseline/worst is -5x, then I need to start saying I'm a -50x developer.


> in reality some developers are <0 net contribution

Yes, sadly this is honestly true. Especially if you take into account the time spent to manage them, and then cleaning up after them, a person can easily be negative net contribution.

Honestly that's one of the ways I feel I've made a hiring mistake. It's okay to invest more time than it would take me to do a task to teach someone else to do a task, knowing that they can learn and improve, and eventually that investment of time will pay off. Eventually they should be teaching me things too, and doing things without needing any help. But if someone is constantly taking more time, and it doesn't look like that investment is getting paid off, I get nervous.

Then when the team starts slowing down, management will become even more resistant to getting rid of people, because you need to "go faster" which in their minds is simply some matter of headcount.


I feel like this can actually happen in practice... Your code sucks and then you hire a 10x developer who is really good a duct taping everything in your code to work with nasty hacks. Good times!


Better than expected


I have one friend and he programs at least ten times as fast as I do (in typing). I can barely keep it up with reading.

And in my CS class I was in the top quarter percentile, he was in the top 1%. The difference is big. They type code as fast as I'm typing this comment, while having a sane architecture.

The secret: they programmed a lot more as a kid.


I think the sane architecture is the only relevant part.

Real world "10x" developers are almost always in that class because they can solve the same problem with 1/10th the code of a 1x developer.

Ability to solve problems with less code will always outpace faster typing.


To be clear, you don’t mean code golf levels of code-shortening, right? E.g. they’re also not sacrificing on clarity and readability of code to shorten it. They’re just removing unnecessary work. I think this is definitely good and creates a net gain for other devs.

Because the people who shorten code at the cost of clarity are some of my least favorite people. I once saw “half = num >> 1” instead of, say, “half = floor(num / 2)”. The latter is 100% more clear to more people and doesn’t gate-keep on engineers who haven’t memorized bitwise operators. (Also, this wasn’t a context where the bitwise operator would be optimized by the compiler in case they wanted to throw that hogwash out there.)


I think the accepted standard for "code length" is about the number of tokens used, not the number of characters (or at least should be). So no points for replacing readable identifiers with random punctuation or one character variable names. And comments don't count towards the length either! :)

> I once saw “half = num >> 1” instead of, say, “half = floor(num / 2)”.

Again, that's just stuff that's getting you a small constant factor less code, a few characters here and there. To get closer to an order of magnitude smaller program solving the same problem requires a deeper understanding of the problem and different strategies for solving it.

To me, the gold standard example for the 10x to 100x coder is always Peter Norvig.

https://norvig.com/spell-correct.html https://norvig.com/sudoku.html

Notice the clear comments and detailed explanations and reasonable identifier names. But do you think the median developer would solve these problems with a similar amount of actual code?


In the good old days

half = num >> 1

Was standard practice and understandable by most engineers, as well as far and away much faster than a divide.

Now-a-days, using a compiled language they are going to be translated into the same machine code supporting your point. However, it might still be a good idea in a scripting language doing heavy math lifting.


Code golfing is mostly a exercise in asininity.

But personally, short, standard, and sweet is preferable to crazy newfangled mental model. I've seen way too many real-world examples of the idiom "it takes a lot of skill to write Java in every language."


Amount of code doesnt matter, what matters is the design decisions that are made


Design decisions can easily allow you to implement the same functionality in an order of magnitude less code.

Also, research shows the number of bugs per line of code is pretty much constant across programming languages and kinds of programs. So reducing the number of lines of code will almost certainly reduce the number of bugs, statistically speaking.


I very much believe in 100x developers related to the .2 or -.5 x developer. These people have the potential to accomplish little or even slow everyone else down by focusing on the wrong things, and writing difficult to maintain code.

In that sense a 1x developer is infinitely more efficient than someone who is a net loss to the team and 100x is nothing.

I do agree that it would be very difficult to be 100x better than someone who has decent technical skills and generally displays common sense and stays focused on useful paths.


> Good developers are the ones that create code that resists the slide from a 10x code-base to a 0.1x code-base.

10x is 100 times bigger than 0.1x FWIW.

> but I argue that it is at least partly due to the prevailing code-base.

Its almost exclusively because of the prevailing code-base. We can't forget that the prevailing code base was built by developers of varying skills. You can have "100x" developers build it or you can have "0.1x" developers build it.

> One of my least favorite people to work with is also a "high throughput" developer who is a prolific creator of software, but everything created by this person is an un-maintainable, un-documented, un-tested, brittle block of procedural copy-pasta that ends up in the critical business path. And yes, this developer "snapped" about a year ago and it has been a 3 person project ever since to scramble to fix this stuff.

Was this person the aforementioned "Rick" from this article?


Obviously it wasn't "Rick" in the flesh (I think). But more a "Rick" class programmer. :) Sorry to anyone who's real name is Rick.


> Every competent developer is a 10x developer on a green field project just like every competent developer is a 0.1x developer on a messy legacy spaghetti-code disaster of a project (Making the differential 100x I guess).

Wow!!! so true, never heard it said like this.


I don't know if it's 100x or 10x, but I assume that's just a figure of speech and used for effect rather than stated as an objective quantity.

"The thing with "10x" developers, is often times they (or a group of them) can do things that the average developer can't. Take Netflix as an example, would they have even started on the whole cloud thing if they had average engineers? Or if they did, would they have been thought leaders in the space for so many years.

> Maybe a 100x developer is really just a 5x developer who enables 20 teammates to also be 5x developers?

Or just a developer that makes the lives of 2000 engineers a little bit easier.


> Good developers are the ones that create code that resists the slide from a 10x code-base to a 0.1x code-base

That may be true of good developers. On the other hand, in my experience "10x developers" are the ones causing the slide.


> 10x developers

If they're causing code quality slide, they're not a "10x developer."


Depends on the project. If you have to develop features just for ticking off points in a contract that nobody will ever use or prototyping it can be pretty useful. If that code will run 10+ years then not.


"No true Scotsman"


A Scotsman will always be a Scotsman due to his ancestry or citizenship.

If a 10x developer does not deliver 10x productivity or value of the median developer, they do not meet the definition of a 10x developer.


This feels like the ones often seen as 10x heroes, because they're the only ones who can be productive in the mess they created.


I think one misconception is the range. I think that the range is dependent on the situation both immediate and long term. The immediate situation’s range is more bounded. The bottom of the range can veer into the negative and the top can go way beyond 10x. It’s more a phase change at that point.

Example of >> 10x phase change: Jeff Dean and Sanjay Ghemawat with MapReduce and BigTable.

For the negative, I think we all have seen the programmer who is useless and that actually requires other people to replace their work.


I agree, but I used 0.1 - 10x for illustration purposes only.


Your best developers are your competitor's worst. It easier to destroy than to build!


It all depends on the problem space: if the deliverable is a program that produces a proof of Fermat’s last theorem then Andrew Wiles would have been a 1000000000000000x (or Inf) engineer on that project at a certain point in time...

Also, there are entirely different “10x engineers” being talked about as one and the same here. The copy-paste spaghetti guy probably couldn’t even get a job at Netflix...


Agree, my model isn't complete.

Unrelated to your point but I think a lot of people who write really bad code are the only choice because they are experts in another essential domain, and there aren't a whole lot of experts in both that domain and writing software. So you do what you can. There is a reason that code written by EE's is often derided as terrible.


Er, isn't it a bit of a strawman to suggest that people that talk about 100x engineers are talking about 100x productivity?

Nobody I've met thinks that there are a set of people that believe there are "developers that write code 100x faster than other developers" but when people write comments on HN they act like this is a really common belief and only they are able to spot that it's not sane...

Everybody that I've met considers technical prowess more along the lines of: the ability to write complicated code which others would find difficult to do, the ability to simplify a problem in order that it can be solved without complexity, the ability to optimize the performance of something in order that it uses less resources, the ability to come up with an innovative design that others wouldn't have thought of, the ability to explain technical ideas to their colleagues in a way that enables others to achieve more, the ability to balance short-term goals against a long-term plan, etc.


I left Netflix about 2 months ago after over 5 years working there. Overall I would say the average developer there is about on par with any other company I have worked at. But the great ones were truly, astonishingly, great.


Interested to hear more about this.

Technically great? Great leaders? Great thinkers/architects/high level people? All of the above?


All of the above, the great qualities came in many different ways. But I think a common theme was the ability to increase leverage and have a multiplicative effect.

Sometimes this meant being an expert on a certain technology to better leverage it (especially important on teams that need to go deep such as video encoding, CDNs, television hardware, etc). Or looking at needs and pain points across teams and building high level solutions that raised productivity across the board. A willingness to question things and push for better ideas and really seeing them through. This could be at a technical or human level. Some people were really good at improving team cohesion and empathy, causing teammates to work more effectively. Others pushed hard for internal education and sharing learnings to help raise everyone's game. The culture of the company helped enable all of this. Some people excelled at improving culture, which has a leveraging effect as well.

I have seen the above at just about every company I've worked at. But I would say that at Netflix people took it further and were more successful than I've seen elsewhere.

That's just my experience, I've only worked at a handful of companies. I have no doubt many companies have employees that do all of this.


The question would be what other companies did you work for? If it's all top tech companies in the valley, it should be pretty good across the board.


You're right. I've not worked at all top companies, but I would still say the lesser known ones had good employees for the most part.


Could you elaborate a bit on where the bulk of the technical effort is being applied at Netflix these days, aside from recommendations and improved scaling? From the point of view of the user, the product has seemed fairly static for the past several years. But obviously there must be a lot going on behind the scenes.

I assume the broad buckets of continuous effort are "get the right content to the right users", "add more content" (which may involve some engineering support via e.g. analytics), and "scale it up to effectively reach more users". It seems like Netflix has fully shifted from a chaotic "zero-to-one" innovation state to a more mature "continuously aggregate marginal gains on top of a solid foundation". Is that a fair characterization?

The only conceivable "problem" with the above from the engineer's POV is that (1) individual contributions might feel less exciting and (2) it becomes progressively harder to find ways to move the needle. Though I would assume this is a problem at virtually any mature technology company. On the bright side, a marginal gain applied at a massive scale probably feels pretty rewarding.


I can definitely say a lot of focus and innovation is happening on the studio side of Netflix. This is where tools for casting, managing the logistics of filming, budgeting, etc are being built in order to scale up Netflix's ability to create content. I spent the last 2.5 years of my time on this side. https://jobs.netflix.com/teams/studio-technologies

My first 3 years were on the consumer side, working on the TV client. I'm a bit more out of touch here. But I'd still say interesting engineering is happening here. I agree sometimes it is "marginal gain at massive scale", but that can be really satisfying and challenging in its own right. There are many different teams focusing on a lot of different things here. The consumer side is pretty much entirely driven by A/B tests. So teams might take on a big idea, but it can be hard for those to beat out the established norm sometimes. That may be a factor in why you feel the product is "static". Also the wide range of devices and internet connections can segment engineering. Many efforts apply across the board, but other projects might only apply to say high end game consoles for example.

Regarding "get the right content to the right users", I don't have much experience with that. That's more in the domain of backend teams. I do know they also do A/B tests to guide innovation, but that's about all I can confidently say there.


This was really informative. Reflecting on it, it makes perfect sense to look for software economies of scale in content production with internal applications and platforms, especially as that becomes an increasingly key differentiator in the streaming space. Thanks for taking the time to respond.


> But the great ones were truly, astonishingly, great.

Like Jeff Dean or Sanjay Ghemawat?


I don't think I can effectively answer this one. I fall right into the "average developer" bucket and have never worked at Google. So I don't think I have the proper exposure on this.


If you don't mind me asking, what prompted you to leave? Also, did you find the culture as cutthroat as it's rumored to be?


There are many reasons I left, but mostly I'm interested in trying new things. I want to either pursue freelancing or find a role at a small company. Two things I've never really done before.

As for the culture. It's not nearly as cutthroat as people assume it is. But it's true that Netflix wants you to perform well. This gets balanced out with good communication from management and your peers. Netflix emphasizes candid feedback, so you pretty much always know where you stand. At least, in my experience. It's a big company, so mileage may vary.


Kudos. Small companies can be great fun!


In my opinion a huge role in the raise of IT people salary is their tendency to brag about their salary, one way or another.

For better or for worse, this lead to discussions about salary, negotiating practices, and to people looking elsewhere.

I sometimes speak with people that work in other fields and many of them have zero clue about these topics, whereas in most IT-related discussion boards (whether it's HN, reddit or whatever) there's a related thread in an almost periodic cadence. We in IT are kinda obsessed with these topics (we're discussing this on a VC-owned discussion board after all).

On a different topic: is there any data for salaries in other fields for the same companies (FAANG and similar) ? It'd be interesting to see how much earns, for example, a lawyer in such companies.


One reason for that is way more variability in developer compensation. A company hiring a senior SWE in SF might be paying 130k or 400k. But until recently there wasn’t much transparency.

My buddy is a nurse in Bay Area with a CRNA, it’s pretty much understood you make 225k plus any overtime so there’s not much more to discuss.


$225k for a nurse? And I thought there was a lot of desperaity of tech wages between Europe and the US... The average salary of a nurse in the UK is £25,000.


I know a dozen nurses making far less than six figures in the US. San Francisco and the Valley should be considered almost its own economy at this point.


yeah. I know of a firefighter making over 200k in SF (firefighter salaries are public).


That is a nurse anesthetist, very different from someone who is an RN (registered nurse) which is (in my incomplete understanding) an "average" nurse.


CRNA is an upper extreme of nursing salary, and education/experience requirements


CRNA is a very specialized/advanced nurse, and OP used one of the highest cost of living areas in their example. CRNA nurses are called "medical nurse anesthetist" in England, and make around £100K/yr.


That's for a CRNA. A regular RN in a city like Los Angeles will be making 60k and up.


Nurses can pull $120,000 a year here in Toronto

https://www.thestar.com/business/personal_finance/2020/09/21...


225k for a nurse? Nurses in the US must be way more qualified than here to command that kind of salary.


CRNA is very specialized nurse that is near the top of the ladder of education and credentials. Then tack on a bay area salary and you have 225k.


It's not the US, it's the Bay Area... prices for many things, including wages, are very different here than elsewhere in the country.


I think there is a lot of truth to this. Big Law is a great example of this, where the nearly every firm operates in lockstep on the Craveth Scale[1]. If one firm increases salary, every other firm will for for same cycle.

https://www.biglawinvestor.com/biglaw-salary-scale/


Isn't this basically collusion by companies? Didn't Google/Facebook get in trouble for trying something like this at some point?


I can imagine no other organization more capable of following the letter of the law - if not the spirit - than a group of lawfirms.


It's not collusion if every other firm raises salaries only to remain competitive, and I doubt many people are complaining about higher salaries. The companies you mention had secret no-hire agreements in place.



Why would companies collude to raise salaries? If other law firms did not raise salaries to remain competitive, that would be suspicious, especially if the firm that did mysteriously lowered them again a short time later.


One rule for lawyers one for the little people


SWEs making 300k+ are not the little people


Relatively speaking of course and also I was kind'a alluding to the cross over between politicians and lawyers.


> Relatively speaking of course

In no world are SWEs "relatively speaking" little people compared to lawyers.


I think you've got cause and effect backwards. The rocket-ship rise of IT salaries is what has everyone in the field discussing salaries. The topic wouldn't even come up if it was pretty well-bounded to $80k/year for a SWE with 5 years of experience.

However, in our field you end up with people who have sat around in their same SWE job at DuPont/Lockheed or some other boomer company for 10 years and are making $80k while new grads are hitting $150k+ TC going into Google and 7 years experienced engineers can hit $450k TC at the big tech companies.

A tech company with a good moat can easily extract millions in value out of the work of SWEs building more crap for them. That's why they are willing to compete for competent engineers. If they didn't bring in that kind of cash, the companies just wouldn't pay for it, period.

Employees talking money with each other has zero bearing on what a company is willing to offer. I worked at a hotel in high school and everyone knew the hourly pay of every position in the hotel. It didn't get us raises.


> That's why they are willing to compete for competent engineers.

The skyrocketing wages for engineers are because until recently, tech companies were illegally conspiring to not compete for competent engineers.


Yep, the compensation has been lagging compared to the money it's been generating.


And I would argue that engineering compared to other professions has always been lower paid.


i think you'll find that the work and value being created is required to support the high salaries. Imagine a super-market checkout person or a waiter - i'm sure they talk about their wages too. Why don't they get higher wages just by talking and negotiating?


Well scarcity is generally the best indicator. For a long time software developers have been a scarce resource and therefore hiring good engineers is competitive.

It's true that some market forces and potential value of what is created are factors else nobody would pay for the premium, but he generally scarcity rules here.

For a contrived example, why is caviar astronomically more expensive than bread? It's not the cost of production. It's not the fact that people like it more than bread.

It's just scarce.


Does caviar even taste that good? Just seems like one of those things rich people buy to show how rich they are. I find it hard to believe that they actually taste good enough to justify the price.

Like...I had foie gras for the first time a few years ago, and while I thought it was pretty good, it definitely wasn't mindblowly good, and definitely wasn't worth the price.

(Later, I looked up what foie gras actually was and decided I'd never eat it again)


> Does caviar even taste that good? Just seems like one of those things rich people buy to show how rich they are.

Yes, but it's an acquired taste.


Caviar is astronomically more expensive because it is both scarce AND people willing to buy it are able and willing to pay a high amount for it. Ability and willingness of buyers to pay is just as important as low supply.

If caviar was scarce, and the only people interested in buying it had no money, then it would simply be unavailable. Or maybe whatever little supply there is would sell for as much as the buyers could afford.


Correct, that's what I meant by:

> It's true that some market forces and potential value of what is created are factors else nobody would pay for the premium

Although, amazingly demand can be manufactured to some extent (where potential demand has to exist of course). De Beers managed it with 'A Diamond Is Forever' where they managed to become the de facto engagement ring stone. Scarcity + good marketing does seem to be a magnet for the wealthy.


> On a different topic: is there any data for salaries in other fields for the same companies (FAANG and similar) ? It'd be interesting to see how much earns, for example, a lawyer in such companies.

The government requires that companies publicly report salary data for H1Bs. You can google for that data. Here's one site https://h1bsalary.online/


>> In my opinion a huge role in the raise of IT people salary is their tendency to brag about their salary, one way or another.

In my opinion a huge role in the raise of tech salaries is simply constrained real-estate in the bay area. Just looking at rents and homeprices, I wonder if cost-of-living adjusted salaries have actually gone up much in the bay area.

However...it does set the bar for the country overall, which is good for everyone.

Secondly, i'm not sure about brag but I think tech companies have realized that skin-in-the-game has resulted in shared success. This is also great for everyone -- companies, and workers.


That or demand side is fuelling the discussing


Netflix seems to have the best tech, at least from a user perspective in Mexico.

On my LG tv their app is the best, by far. I wish all the other services just served their content through Netflix. All new content has 4K HDR with Dolby vision/atmos and streaming is quite fast on my 200 Mbps fiber connection.

HBO Go is pure garbage. The app is clunky and has way worse UX than Netflix. The streaming quality is absolute crap. There's banding everywhere and the image seems to pause for a frame or two every second or so. This is extremely annoying when the camera pans. Game of Thrones doesn't even have 5.1 sound. No English subs (for those shows where sound is not so great). Last time I checked there was no 4K HDR.

The Amazon Prime app has better UX than HBO Go and has much better streaming quality, but the experience is still quite mediocre. The whole UI seems from 10 years ago. When you're binging a show they always insert ads in between episodes and the app forces you to skip recaps and the show intro every time. The quality of the streaming degrades quite often for a couple of seconds. Also, no English subs. They also have an HBO channel but it suffers from the same quality issues as HBO Go.

I haven't tried Apple+ and Disney is not available yet.


Yes I have bad internet at my house and I can tell which app has better engineering (buffering, local storage optimization, video definition downgrading/upgrading based on throughput, etc.)

Netflix works great with a slow or intermittent connection, they've clearly optimized it.

My rank for engineering quality (not UX) are:

(1) Netflix, (2) Amazon Prime, (3) Disney+, (4) HBO Go (I get a stop-the-world spinning icon every minute at times)

HBO Go is so bad that I have to get out a mobile device and "save offline" and cast it to the TV just to watch something.

(I don't use Hulu.)


Apple TV device UI is pretty great as you'd expect, but the core tech is buggy - sometimes video will just stop playing for no apparent reason, or the audio system will die and you'll have to reboot the device.

Apple TV app on macOS Catalina is a disaster zone. iTunes was pretty bad but the new app manages to be just as confusing, with fewer features, and worse of all it crashes immediately and reliably if you do something totally unexpected, like plugging your laptop into a TV via HDMI. Ridiculous.


> Apple TV device UI is pretty great as you'd expect, but the core tech is buggy

I never owned an Apple TV but my 1st gen Nvidia Shield TV was super solid. I only stopped using it because it didn't support Dolby Vision and the apps I use are on my LG tv anyway.


Don't get your hopes up about Disney+


> Eventually, Rick snapped. Once he departed the company, the team of supposedly “mediocre” engineers redid his work to make it more elegant and efficient: “We didn’t have any mad geniuses building everything from scratch. But our productivity was never higher.”

A silly strawman. I'd firmly put someone like this in the bucket of "not that effective."


Yeah, if you're not focused, and you're not even writing documentation, there is no way you should be considered very good at your job.

Early in my career I had someone that kept telling me "we don't write documentation because nobody will read it". I'll never put up with that again. You can take 30mins to write a confluence page describing the context, the solution, and comparison to other solutions and why this one was picked. It will save the company many hours later when someone else has to pick up your stuff.


Different companies have different needs, early stage startups would probably fire you for spending too much time on documentation because they're paying you to make progress on their product and you're usually working alone anyways or very small teams with heavy interaction. So not only would nobody ready it, it would become outdated within a month.


People think that documentation needs to be kept up to date. It doesn't.

You don't have to always write docs saying "here's how this system works".

You just write a document as a proposal saying "here is how I want to build this system".

It takes 30mins. It helps everyone. If you want to change the system significantly, you just write another design doc.

Also, if you do this you probably don't have to redo things all the time.

If a company fires you for outlining how you're going to solve a big problem - they aren't going to do well anyway so you don't miss out on much.

Based on my experience from a fast growing billion dollar company, and a company that you would call "fast moving" but will never be anywhere near as successful because they can't focus, let alone sit down for 30mins and write a document.


Agreed, small teams could get easily dragged down by obsessing over documentation (and even testing to some extent).


That was my thought too. The problem here isnt with "superstar developers", it's with people who don't understand the work trying to label people as such and doing a piss-poor job. Someone who doesn't write code others can read isn't even a mediocre developer, hes a bad one.

It's arguments like these that make me very skeptical of the claims that 10x developers don't exist, as I've yet to hear such an argument that doesn't fail at basic critical thinking.

That being said, I fully agree with the article's framing of this view as simply saying that talented developers need a healthy working environment in order to reach their potential.


> That being said, I fully agree with the article's framing of this view as simply saying that talented developers need a healthy working environment in order to reach their potential.

The flip side being, a talented developer might not want to join a company where an engineer like that has been the top dog (and the people below haven’t been around enough to have an idea what being a senior engineer is about). It just ends in tears and frustration for the ”talented developer.”


In my experience, a side effect of a healthy working environment for one person is that it's a healthy working environment for everyone.

There have been a couple of teams I've been in a position of technical leadership and/or been better than the rest of the team on all or some relevant technical axes. In all of these cases, even if I was being 100% selfish, I would still _want_ to grow the people under me, since the stuff they grow into is the stuff I want to grow out of. As a concrete example, I'm currently the TL of a team, with a primary personal focus on ML, and it's been a huge win-win to hand off ML system maintenance tasks to non-ML engineers. These tasks provide them valuable exposure to the way ML production systems work, familiarity with ML workflows/tooling, and practice reasoning about ML systems. But they also free my time up of tedious, straightforward little tasks, to work on things that challenge me more. It's win-win-win, as the company is getting a more efficient and productive allocation of resources too.


"If a programmer is indispensable, get rid of him as quickly as possible." - Weinberg, Gerald. The Psychology of Computer Programming.


That's a great quote. I'll have to check that book out. Is it worth the read? I think about the psychology involved and our brains as part of the system far more often than I ever see it discussed.


I heartily endorse it. Someone once compared Weinberg's writing to a coal mine; "there's something worthwhile in every shovel-full." 'Psychology of Computer Programming' was published in the early 70's and shows some signs of age. As illustrated by the quote, many of the situations it describes and addresses are perennial. It's $9.99 at Leanpub and Amazon, give it a shot!


I have no opinion on Disney, as it's not available in my country, but generally for me Netflix's latency from the play button is much better than youtube's or HBO Go's. HBO's app / web page is full of bugs that would be probably easy to fix (it gets stuck even after I turn my new Samsung TV off and on again, I need to force quit the app).

At the same time while youtube offline video watching always works for me on my iPad Pro, Netflix often ,,forgets'' the downloaded content.

If I look at the storytelling/direction itself though, I find HBO better than Netflix (especially with politics ruining the stories). Can somebody tell me a new Netflix serie that comes close to House of Cards?


Not Netflix, but if you liked House of Cards, may I suggest both Succession and Billions? I love analysis of power and those shows are in a class of their own regarding that, very similar to HoC, but I'd say better.


I love both of them, and both of them are on HBO in my country, just like Boardwalk Empire (which is in the same genre and also amazingly executed, though it's not a new series).


Agreed re bugs. Netflix runs consistently more smoothly than many streaming competitors, and it really makes a difference. It's much easier to watch a slightly worse show on Netflix and at times I'm willing to make that tradeoff just for the reliability of the app.


HBO Go in Latin America (which is the streaming service, akin to HBO Now in the US) is bad beyond belief. You’d think Netflix’s interface is super basic and obvious, until you need to use HBO’s pile of hot garbage.


> Can somebody tell me a new Netflix serie that comes close to House of Cards?

I enjoyed HOC, especially the earlier seasons. A few shows (none of them new though) available on Netflix that I found equivalently good, each got better as they went:

Bloodline[0] - starts slow & builds, I didn't expect to like it as much as I did. Very under the radar, very good.

The OA[1] - similar to bloodline, in that I didn't expect to like it & it got better with each episode/season as the story progressed.

Colony[2] - got cancelled so ends on on cliff-hanger (an exhilarating one), but if you like sci-fi/aliens it'll deliver.

[0] https://www.imdb.com/title/tt3520702/

[1] https://www.imdb.com/title/tt4635282/

[2] https://www.imdb.com/title/tt4209256/


Altered Carbon, especially season 1 was pretty good imo


2nd season was ruined by politics and lost lots of viewers/ratings, which meant that Netflix had to stop producing it. They should just kept the 2 original Takeshi Kovacs.


Ozark One of the best shows on Netflix


Ozark I think is far and away the best Netflix-created fiction content. It's actual HBO-level prestige TV, which is hard to say about any of the other non-documentary stuff from Netflix.

If you get into it, Netflix also carries a bunch of good Korean dramas, which tend to have a lot of episodes and honestly just seem to have much more effort put into them than most American TV. Signal and Itaewon Class are two of my current favorites.


I'll look into them thanks. Generally Netflix aims for quantity rather than quality. I think the system works by ensuring there's yet another new thing to watch before you finish watching the previous series. Amazon prime has less own series but they are mostly higher quality stuff imo


Borgen. Way better than House of Cards since it's more realistic and gives you a close view of Danish politics.


Occupied(Okkupert) is a great political serie akin to house of cards.


Dark


I loved Designated Survivor but HoC is still better imo. Would love to find some new political dramas!


How about four more seasons of drama?


As other wrote Billions, and Broadwalk Empire are bothe great.

As for designated survivor it was a nice copy of house of cards, but lacked the level of storytelling that went into house of cards.


Wait, politics ruins stories, but you like House of Cards?


Not OP but I agree with them and your question is great.

Had I written what OP said, I would be clarifying that I mean "pushing personal politics via messaging in the show." HoC is remarkably a-political in that respect. They portray the power struggles and corruption fairly equally across the board regardless of party affiliation. More so than party though is simply they show how hollow the beliefs really are. It's about power and manipulation, not so much about policy. Of course such wide statements are nearly guaranteed to be wrong applied to some politicians, but as someone who has been all over the map politically throughout my life, they absolutely nail the main themes that I've noticed nearly everywhere.


"All parties are fairly equally corrupt" is a personal political view. Anyway, it's not a series, but I bet you and OP would enjoy The Irishman.


I think the article improperly conflates Rick and a 10x developer.

I have an essay I wrote a while ago lying around that talks about the Intermediate Programmer - Rick sounds like a perfect example. The IP is the one that has the gumption to try out various inventions and experiments, usually focusing on the trying to solve a problem with a perfect Beautiful Machine, but that doesn't yet have the perspective to know how code needs will change in the future, and how to design code to make it easy to change.

I've had people on my teams that can code circles around me in various ways, and whose gorgeous intricate multi-level generics-heavy code was also regularly deleted a few weeks/months later in favor of something literal, boilerplate, small, and easy to understand and change. (Don't get me wrong, multi-level generics-heavy code is GOOD in some cases, but you have to know when.)

The good IPs learn from these lessons without letting their ego get in the way, and eventually become advanced programmers. The bad ones claim they are advanced and cause problems. Sounds like Rick was a 0.5x developer or less.


Maybe Rick just does what ever is the most fun. I don't give a rats ass about the business as long as they can pay my salary.


Assuming you're working with smart people, they might recognize this about you over time and it could negatively impact your advancement opportunities and your employability. They're paying you to serve their interests - maybe you could figure out how to make it fun to do that efficiently.


In my (little) experience, Rick like developers can cause lot of trouble if they simply decide to leave.

I do think, though, that you can spot them fairly easy. Even in college. I had a very skilled classmate that wrote code only he could understand, without any comments. Of course, we could eventually understand it, but it would cost us hours.

Some teachers actually refused to grade his exercises if he didn't start commenting his code. I still believe they did this to instill in him this habit, but I'm sure it was hugely helpful to them as well.


I never understood why Netflix frequently gets mentioned in the same context as Apple, Google, and Amazon. I think I hear more about it than Microsoft on here. Can anyone explain this to me? Surely they aren't the only newish company that tries to employ smart people by paying well.


When Cramer coined the FAANG acronym, Netflix was included. That group of companies was grouped together by investors due to their performance and marked dominance at the time, which has by and large continued.

In addition to their stock price, these companies also pay very well. In fact, if you are lucky to get an offer from Netflix, their aim is to pay you and keep you at "top of personal market". That is, they do not believe anyone will pay you more in total comp. Netflix does mostly, if not all, base salary as opposed to equity grants.

From all my friend in FAANG, this has seemed to be true, Netflix employees make more than anyone else I know in tech.


You can choose how much of your comp to take in equity, if you work in countries where that is allowed (most of them.)

We pay enough that your compensation is not a reason you want to leave (or stay — we don’t pay more than the best you could possibly get elsewhere.) because our philosophy on compensation is such, it has a few ripple effects - there aren’t limited budgets for raises, instead we ask for each person did the market move for your role, or did you substantially change roles? This avoids the common shenanigans / pitfalls of comp elsewhere.

I personally believe that our early move to the cloud, early adoption of micro services and our open source contributions also help our “tech brand”.

It’s the best place I have worked.


You mean Netflix here that's interesting and more tax efficient.

How is this structured in the UK where US companies have difficulty offering tax efficient employee share schemes.

Not looking for a Search Director are you :-) my senior band 7-6 opportunity with the uk civl service seems to have disappeared with covid.


Plus, FAAG may not be the best acronym.


I prefer FAGMAN.


It’s unfortunate, but this is useful in that it’s easier to pronounce than any other alternative. I guess MANFAG is just as good and saves the spice for the end.


Thank you for the detailed explanation. But I always thought Netflix's scope was relatively narrow compared to the others mentioned above.

Sure a skilled software developer with an interest in networks or media platforms would have no trouble finding a job there. But what about other types of engineers like product, kernel, and embedded engineers? The companies I mentioned have divisions like Oculus, Alexa, and Chromebooks for those engineers. The comparison to Netflix in areas like those is where my confusion comes from.


I think that is really a myth(highest pay). I know that bytedance pays more than netflix(stock + cash), also hedge funds, citadel and DE Shaw pay way more than netflix does. 500k-700k all cash, I just chatted with their recruiters the past month and this is what they saying comp packages for senior+ engineers go for.


Netflix median engineer comp is about $500k, if I recall correctly. They can go significantly higher. It's really not a myth that they'll typically beat out the rest of FAANG.

Trading firms can beat Netflix, but the variance in pay is much higher and in my experience they tend to be more selective (and there are fewer roles available). I wouldn't say the typical engineer at DE Shaw is earning "way more" than the typical engineer at Netflix.

Source: I have friends at Netflix, Citadel and DE Shaw, including a director at Netflix and a VP at DESCO.


Pay per hour is less at hedge funds and/or income is more volatile. Plus I would put a hefty quality of life premium for being able to live on the west coast over being stuck in NYC/Chicago.


Agree, any of the companies I mentioned I would never work at. Bytedance does 996, 9am to 9pm 6 days a week. Netflix has a keep looking over your back attitude which to me seems super toxic(have had 3 friends work there, and all three would not recommend it). Lastly hedge funds require work in places I would never live at: NYC, CHI, etc and have a cut throat culture that to me is not worth the positives(salary).


I have not had much volatility when working at a hedge fund, or even finance more generally. It might be different in a pure front office role where your bonus pool is directly tied to the profit you generate, but being in a tech role, you can generally expect to get what you got last year, plus a little (for varying values of little) more than you got last year. At worst my comp stagnated during the financial crisis.

Hours can vary widely between teams/projects but I generally don't have an issue with the hours- like all companies we have our crunch times, but the general day to day is pretty much 9-6.


For employment purposes it's because they pay in the same league. There aren't that many companies that are both recognizable names and high paying with more than a few dozen engineering jobs.


Netflix's development scale seems to be legitimately massive considering their reach across platforms, scale, customers and etc.


At a larger scale than Microsoft though?


For some context of scale: Netflix is between 12-19% of all internet bandwidth


Seems unlikely, but I'm not sure why MS is being compared.


Probably because of FANG association. FANG = Facebook, Amazon, Netflix, Google


Isn't there another "A" in there for "Apple"?


FANG was just a term coined by Jim Cramer for high growth tech stocks. Apple wasn't included at that point. People have re-purposed it to mean big tech companies that pay a lot and modified the acronym.


Arguably you could include a third for alibaba


I find it strange that Netflix is associated with them considering the breadth of subdivisions and acquisitions that Google, Facebook, and Amazon have.


FANG was originally a Jim Cramer thing [0, 1] about very high-growth tech stocks that somehow evolved into being about the big, high paying tech companies. The original didn't even have Apple but people started using FAANG to include it.

[0] https://www.cnbc.com/id/100436754

[1] https://www.investopedia.com/terms/f/fang-stocks-fb-amzn.asp


Fun fact: if you have listened to Cramer and invested $10K in each of these stocks on 02/06/2013 you would be at $441K right now (+1011%)


Netflix pays exceptionally well, even in that group of companies.


It's really FAAMG.


And the acronym is less pleasant if you leave out the "N".


Very likely Netflix is in your investment portfolio, even if you've handed control over to a mutual fund.


It's probably because they are a 200B+ company


While high, nearly an order of magnitude lower than all the others in FAANG. Microsoft is a 1.5T+ company yet remains excluded. Imo, FAANG means 'sexy millenial tech company with a gigantic retail investment interest' moreso than anything about the size and significance of the actual companies.


Nowadays, FAANG includes Microsoft, it's just the M doesn't fit into the acronym as nicely. As far as I understand, it's a high profit margin, high paying, high growth business with the ability to scale at extremely low marginal costs and collect lots of rent, hence lots of upside.


They have a more active social campaign or are including HN in that campaign?

Very little on social media is organic if it pertains to a large corporation.


Pay fewer folks more money each, but less overall gets them to own the software they build. It's a virtuous cycle. A large team treated like "resources" will build exactly what they're told to build, and it's someone else's problem if that solves a business need, or even works.


It's interesting that Netflix's strategy with content is almost the complete opposite. Pump out junk reality TV and test lots of shows for a season only to drop them once they don't put up acceptable numbers (i.e. get past the Initial Probationary Period)


Netflix's quality of content on original shows really took a nose-dive the past few years. They had a stable of excellent shows with writing punching above the pack compared to network TV or cable: HOC, The Crown, Stranger Things, Narcos to name a few. But recently some of those shows have been spun out/watered down to death, and a ton of junk has been released by them. I'm rather bearish on this company think barrier to entry for this space is rather low. Look at the success Disney+ has had regarding its service. Now throw in every major media company doing the same thing and I see netflix slowly dwindling down in the next few years as others with owned content dive into that space.


I agree the barrier to entry should be low, but it apparently isn't from a tech perspective, hence this article. See the comments further up the thread. Maybe the HN crowd is just unusually sensitive to app quality, but I think Apple showed pretty conclusively that consumers respond well to quality tech. It shouldn't be really hard to run a video streaming and recommendation service at scale, but, it is. That tech isn't off the shelf, you have to build it. And to do that you need to be able to hire and attract good technologists.

This matters because a repeating theme seems to be that the only people who can build competent tech teams are engineers. A generic media executive will find it much harder going because they don't have any intuition for the skill gap being discussed by Hastings here. Disney+ seems to have managed it but only by buying buy theirs from a sports streaming firm that had already proven themselves effective, if I recall correctly. Obviously there's a limited number of opportunities like that.

So I guess it's a question of what's harder - for an engineer to build a great content operation, or a media guy to build a great tech operation. So far it seems like maybe neither are possible, although Netflix has had some great content perhaps that's more luck than anything else? If so then it'd make sense for eventually these firms to form a truce, with Netflix focused on the retail/online store aspects and other firms creating the shows.


The people who were coming to netflix with these shows can now schedule a day full of meetings in Los Angeles with every single major streaming service who are looking for the same. Imo, netflix is simply being poached.


I'm not really a watcher of Netflix, but could you give some examples of what you're talking about? I didn't even know that Netflix did reality TV for example. And everything I've ever read or heard about top-tier actors and directors who work with Netflix is that they really respect the art and let the artists work. I've only read a lot of stories of a lot of creative freedom and a long leash. So would be curious to hear the other side.


The Circle (was very popular), Love is Blind, Too Hot To Handle, 100 Humans, Dating Around, Glow UP, Back with the Ex, Nailed It, Interior Design Masters, Next In Fashion, Sugar Rush, Skin Decision, etc

Every show about dating, cooking, design, fashion, plastic surgery you could imagine.

These are just some Netflix Originals that showed up when I searched The Circle


Hah, I guess since I don't really watch reality TV shows, the Netflix algorithm will just never recommend them to me.


Quality content is highly opinionated. Generic 'kind of watchable' TV is not.


Pretty much like old tv cable, but netflix is able to iterate faster lol


Why does the article use the term "technologists" when Hastings' quotes are all specifically about software engineers?


In the same vein, even I get confused what to call myself when talking to other people.

There's like 5 or 6 different ways to identify my position: programmer, coder, developer, engineer, hacker..."technologist" isn't that big of a reach from them I guess.


I think of technologist as being a term for anyone who works to develop new technologies, which would include the folks at AMD working on CPU designs, but wouldn't include typical web developers.

Of course, in reality it's a rather fuzzy term.


I've pretty much only heard it ascribed to business analysts/operations, sales, or other non management, non engineering work at tech companies. Or want to work alongside emerging technologies but doesn't have the credentials to do the engineering or management.

I'm not trying to make their work sound less-than, just describing how I've heard the term used. Total anecdata.


Software Engineer seems a pretty safe choice.


See, I feel silly calling myself a "software engineer" - it sounds like "sanitation engineer" or "domestic engineer" to me. I always say programmer or software developer.


Heh, I tend to try and avoid 'programmer' because programming is only one part of the job. It's like calling a carpenter a 'measurer'.


Unless you're talking to an FE/PE from another engineering field. In their mind you're nothing resembling an engineer.

Also, if they are Canadian they might get their goose feathers extra ruffled. https://en.wikipedia.org/wiki/Software_engineer#Canada


Not so. In some states, engineer is a protected term.

https://en.wikipedia.org/wiki/Software_engineer#United_State...

edit I may have been mistaken and the word engineer itself may be non-protected, but the term software engineer specifically is protected in Florida:

http://www.leg.state.fl.us/Statutes/index.cfm?App_mode=Displ...


No, "Engineer" (as a proper noun) is protected as a synonym for "professional engineer" (common noun phrase). The common noun "engineer" is not protected in any States.


Texas at least would appear to be different or at least the licensing board would like you to think so. "The terms "engineer" or "professional engineer" can only be used by persons who are currently licensed." [1]

That said, in my experience all manner of technical professionals (and even not so professionals) in Texas do routinely call themselves engineers whether they're supposed to or not.

[1] https://www.engineers.texas.gov/lic.htm


As I mentioned in my edit, software engineer is protected in Florida.


Welp, TIL I cant call myself a software engineer (not that I really did anyway)


"Information technologist" might be a more accurate label for someone whose responsibilities and skills subsume developing, maintaining, assessing, and deploying software, databases, networking, UI/UX, security, privacy, legal concerns, communications, online abuse, epistemology, and more.

"Tecnology" in conventional parlance has regrettably come to equate to "information technology" much as "engineer" once referred principally to a locomotive operator.

I'll skip the "ssofftware engineer" debate, though note its existence.


Netflix probably has huge DevOps, who's roles may not really meet the definition of 'Software Eng', also, they might have tons of related technology people. Also - technical product managers, directors etc.. A lot of people not writing code.


Here is the actual explanation by Reed Hastings: (https://www.cnbc.com/2020/09/08/netflix-ceo-reed-hastings-on...)

OP's Dice link is blogspam.


There's an important detail omitted in the article though. Netflix also has a 'no brilliant jerk' policy. So, they effectively filter for brilliant people who can also serve as multipliers to their respective teams. And then they play the Henry Ford salary trick on them, ensuring that they are not really incentivized to move on to pipe-dream offering startups or potential competition. Seems to be working out well for them.


> We didn’t have any mad geniuses building everything from scratch. But our productivity was never higher.

Of course, since "productivity" in software is completely subjective, every claim of higher productivity attributable to whatever cause is by definition correct.


Is it totally subjective? Can't you measure feature delivery velocity? I can look at delivered velocity for engineers and see trends over 10+ sprints.


Only if you assume features are equal in terms of necessary effort and value (they aren't) and never leave technical debt behind for later cleanup (they do) or at least leave behind the exact same amounts of debt regardless of the implementation path chosen (they don't).


> Only if you assume features are equal in terms of necessary effort and value (they aren't)

This is why we use story points and velocity, not time.

> and never leave technical debt behind for later cleanup (they do)

What does this have to do with anything? We do this all the time and capture this sort of thing for our backlog.

> or at least leave behind the exact same amounts of debt regardless of the implementation path chosen (they don't).

So? tech debt is tech debt and it's a bear regardless.

I don't know why you're being so aggressive with the gotchas, but if you think it's impossible to objectively measure engineer quality I don't know what to tell you and I wish you good luck in your hiring and career growth.


What if one feature is 100x more valuable than the others?


I don't evaluate engineers on feature value, only velocity and quality. If the product owners ask for it, that's what we're doing. It's not the engineers fault if some features don't fit the market and some fit really well.


This is BS. Netflix pays market rate, the same as the rest of the FAANGS. The only difference is that they pay everything in cash, while the rest of the companies pay a big % in stocks. However, because of the tech bull run of the past decade or so non-Netflix FAANG employees have made significantly more money than Netflix employees.


Looking at many Open source projects by Netflix, a lot of it looks like crap that Java architecture astronauts and design pattern Guru would come up with. Yeah, Netflix is very successful so even its turds would be called gold nuggets.


If Rick was found to act as to refuse to work with others or being a ego centric ass, he shouldn’t be called a “10x” anymore.


Quite meta. The article refers to this earlier HN discussion - https://news.ycombinator.com/item?id=22349531

I love that the article treats that source as valuable insight and revelations of the arguments in play.


I don't know if I agree with the idea that 'rockstar' engineers are worth they much more, but the 'counterpoint' article referenced doesn't seem to really contradict Hastings' point... if the idea is that the 'rockstar' dev was a bottleneck because none of the other devs could understand and keep up with him, then wouldn't a solution be to have a whole team of 'rockstars'? It seems like that would solve the problem


> Moreover, Hastings thinks that an exceptional technologist’s abilities extend beyond coding or debugging faster than an “average” colleague: It’s also about the ability to tackle more abstract problems. “The reason the rock-star engineer is so much more valuable than his counterparts isn’t unique to programming,” he wrote. “The great software engineer is incredibly creative and can see conceptual patterns that others can’t.”

I feel like an objective analysis of me as a software engineer is that I'm the opposite of this. Maybe because I've not been doing it long, maybe because I'm a bootcamp kid, who knows. I'd like to be that kind of engineer, though. The one that whacks out some mind-boggling fix to problems. I work with a woman like that. She just... figures it out. I don't know how to explain it. Like one time we had to build an SQL AST represented by the DOM, and she put down this recursive series of components that to this day I have trouble explaining to new people on the project.

I want that skill. If it's talent, fine, but I've yet to find things I can't learn through sheer brute force if necessary. This one, though, I haven't found the brute force solution to.


> Like one time we had to build an SQL AST represented by the DOM, and she put down this recursive series of components that to this day I have trouble explaining to new people on the project.

Sounds like the kind of thing you might pick up in a computer science class. Maybe read up on parsers and compilers?


> Managing mediocre-performing employees is harder and more time consuming. By keeping our organization small and our teams lean, each manager has fewer people to manage and can therefore do a better job at it.

If managing great employees is easier / less work, then shouldn't each manager be able to manage more people?


Does Netflix do anything interesting tech-wise apart from serve video a super easily parallelised problem and even different formats can be generated offline. Their recommendations are horrendous for example, what else do they do?

What are they doing with all the 100x programmers?


I'm not entirely sure what the best way to pay anybody is, but I definitely think that `maxWage = minWage * 10` or something similar should be applied or even codified in law.

500k as a programmer in a tech company that's doing well sounds like justified compensation. They do write the product after all. I does make me question if there are any juniors present in that company and what kind of salary it is they have. Having a colleague that earns 5x as much with maybe 10x the experience is still... quite bizarre to me. Would that kind of a progression even be possible from within the company?


Netflix doesn't hire junior engineers: https://www.quora.com/Why-aren%E2%80%99t-there-interns-at-Ne...

But at companies which do, progression usually goes up by around 100k per level: https://www.levels.fyi/?compare=Netflix,Google&track=Softwar...


It's terrible that the argument here that there are no 10x engineers hinges almost entirely on a single anecdote. Whether or not there exist engineers who are order of magnitudes more valuable is debatable (I lean towards yes) but defending point of view through non-rigorous perceptions is where all sorts of false beliefs originate.


Is it because they want to be reflective of what they see you as? Contractors. My understanding is that Netflix hires/fires agressively. (The entire team gets removed if the project fails) Also there was phrase for it: "Enjoy your time while you're here" (As in.. everyone has an expiration date)


The best engineers are aware of the fact that the higher your salary, the more pressure there is on you. Some will opt to take a lower salary. If you make their salary extremely high, the step down to a cushier, less-stressful but also lower-paying job is MUCH lower-paying, so fewer engineers will take that route.


Off-topic but funny: insights.dice.com is marked as an ad/spam domain on DNS based ad blockers (e.g. AdGuard and Pi-hole).


Does anyone know if they also pay analysts and product owner types better than market rates?


They can't be paying "above market rates". They're just selecting a higher-priced product from the market.


I used that terminology because they seem to be an outlier. Surely it's possible to pay more than anyone else on purpose.


They're not an outlier when you compare them to the right company (not Disney). The question asked and answered by the article is why Netflix hires Microsoft/Google-level engineering talent.


They pay "top of your personal market" for most if not all roles from what I've been told.


Netflix pays their software engineers huge salaries because stocks and bonuses are not a significant part of their compensation. Stocks are not a significant part of their compensation because the culture at Netflix - at least what they promote externally - is that they are a high-performing team, and players may get cut next year. In that kind of environment, stock which takes time to mature is not attractive. Bonuses imply doing more, but again, their culture is that everyone is a higher-performing player.

Base salaries at the other FAANG companies is lower because stocks and bonuses are a significant fraction of the total compensation. But total compensation is similar for all of them.

I thought this was common knowledge? Reference: https://www.levels.fyi/?compare=Amazon,Apple,Netflix,Google,...


That's not true, and probably the biggest misunderstanding about Netflix. Netflix was really generous on stock options. It gave you stock options worth 5% of your salary for free. Then you can forfeit your salary for options, but here is the kick: Netflix gave your 5 times of discount. 5 times! For instance, if you forfeit 100 dollars for options and the strike price is $10, then you will get 50 options instead of 10. The general formula for profit is 4X - 1, where X is the percentage of increase from strike price. If the stock price is 25% higher than your strike price, you'll make even. If it is 50% higher, then you will double your forfeited salary. On top of that, you vest your stock options on a monthly basis, and your options expire in 10 years! Thank about it, you're pretty much guaranteed to make money as long as the stock has certain volatility, and Netflix stock is one of the most volatile stock in the past 10 years. That's how so many employees of Netflix became multi-millionaires.


Lots of marketing coming from the Netflix CEO lately. Anyone notice a similar trend?


Do shareholders want Hastings promoting his personal brand? What does that achieve? If it's about recruitment it is very tone-deaf considering the current situation with Covid.


think he released a book


Reed Hastings, “No Rules Rules: Netflix and the Culture of Reinvention,” released Sept. 8.


What happens when the Rockstar programmer needs time off because of a death in the family? Is Hastings okay with that if it's in the middle of an important project that can't easily be taken on by others? If great programmers are limited by supply I suppose he has no choice but to keep them.


My manager was forced to go help his family in a foreign country for a month and they fired him before he returned. They did this almost routinely (and still do from those I speak to) to people who had to take time off. It’s a highly political and backstabby kind of place. It’s the only company in SV I’ve worked at (been at more than half of FAANG) where yelling matches were not uncommon in meetings. The culture slide deck was mocked internally especially for how many brilliant jerks were kept on payroll.

Oh and to top it off, the company is mostly Hollywood production people by sheer number nowadays. The focus of the company has veered so far from technology I doubt its a great engineering culture anymore. Internally they boasted they would become HBO before HBO could become them, but who the hell wants to be HBO? Quite the turn off. There were many of these.


I have never heard someone raise their voice in a meeting in my 5 years here, have taken multiple long leaves (and during my stint as a manager supported others doing the same,) and while there certainly are differing points of view passionately debated, everything I have seen has been “on the table” and without the subterfuge I’ve seen elsewhere. It is an intense culture (no slackers) but I’ve found it very forthright.


Where do/did you work at Netflix? I've never seen nor even heard of these things in Open Connect after 5+ years..


All I’ll say is that I was in engineering on a team that worked with the OC team.


Edit: OCP


Used to work there. Yes, he is. Absolutely. Without a second of doubt.


FYI, you appear to be shadowbanned. Your comment was showing up as dead to me.


I saw it as dead at first (which was weird considering how on-topic it was), but it's showing up as "alive" now.


I vouched for it so it would show up.


I would be interested in the results of asking HN readers this question: What is worse, whiteboard interview questions or Donald Trump?


lol they’re comparing it to disney and amazon. plenty of other companies pay the same or more than netflix


The comparison to Disney and Amazon is because their products are in competition, not because they pay similar wages


Amazon is also known for paying high tech salaries. And also known for being a shit place to work. It sucks, but they pay for it.


Netflix is famous for paying absolute top-tier engineering salaries. Amazon is pretty middle-of-the-pack, or possibly slightly lower (hard to separate from the COL of being mostly Seattle-based).


amazon is actually known for paying low salaries...


No they're not, at least here in California. Maybe you're thinking of warehouse jobs.

Several people from my work have come over from Amazon, and we constantly interview people who either take Amazon over us (citing more $), or are trying to get away from Amazon but they end up getting a big counter offer from Amazon and staying with them.


On Blind they're famous for paying the least out of any FAANG company and having the fewest perks. I have met some talented engineers who work there though.


i guess it depends on perspective. i’ve had multiple offers from them for a swe role and it was drastically under my other offers. among fang they pay the lowest

if honestly be making less than half my current total comp if i’d accepted any of them


Disney and Amazon are some of Netflix's direct competitors, though.


Color me dubious on this fella's assertions after his tirade against remote work.


Whether or not one agrees with him... It's not really inconsistent to pay people at the top range but that comes with an expectation of being shown the door if they don't perform at the top levels and coming into an office to work because that's better for the company (in Hastings' view).


For 500k a year I'd be more than willing to show up at an office.

I assume they're spending money on testing and whatever protocols they need to enforce to ensure they don't kill / incapacitate their golden legion of software engineers. And when you're making that much money, it becomes much easier to (for example) have someone else do your grocery shopping.


There are certainly mitigations like lots of retail stores are doing. They're obviously not as effective as people just staying home. It's a matter of tradeoffs.


> I assume they're spending money on testing and whatever protocols they need to enforce to ensure they don't kill / incapacitate their golden legion of software engineers.

If it's anything like my experience and anecdotal experiences from my friends, then they're just giving you the illusion of safety and not actually providing a safe working space.


At Netflix specifically or at other places?

It's expensive to actually implement useful COVID measures (but not impossible and not necessarily illusory), but if you already have such huge employee expenses and are serious about in person work, I can't imagine you wouldn't spend the money and put the work in.

I agree with you that shops with less luxurious budgets would have a difficult time doing anything that meaningfully reduces the risk to their employees and should probably stay home.


Why? He's putting his money where his mouth is by paying people as much as it takes to work in the office.


Well hey, if he's willing to pay a solid working class salary of over $300k to live in the Bay Area (is that where the poverty line is these days or it is higher?) maybe he can demand in person work.


I have the same feeling. After he said he sees no any benefit of remote work, I stopped being interested in anything he has to say.


That's not exactly what he said was it, he was talking about the interplay you get with every one in the same room.

Ill give you an example I did a RAD (agile) project with one other developer back in the early web days two of us flew up to Edinburgh and given a clean room and with a co located team produced some thing that another group had quoted two years.

Netflix are not paying some one 500k to half arse JIRA tickets here.


I understand your example and there are definitely cases when working as a team in person makes you (much) more productive. However, Hastings went to the extreme. Especially for people who read headlines and article summaries, he sends a very clear message:

* Netflix’s Reed Hastings Deems Remote Work ‘a Pure Negative’ (https://www.wsj.com/articles/netflixs-reed-hastings-deems-re...)

* Netflix CEO Reed Hastings on Working From Home: ‘I Don’t See Any Positives’ (https://finance.yahoo.com/video/netflix-ceo-no-positives-wor...)

His opinions are in stark contract with those of other CEOs in charge of the health and lives of their employees across the country.


Not sure he went to an extreme the head line implied it and those other CEO's pure presentism in a lot of cases


Exactly what is Netflix doing that requires such skilled programmers? As a consumer of its product I haven't noticed any significant groundbreaking changes to the platform in years. I find more people complaining about the software experience as years go by. What have these rockstar programmers done exactly? I can tell you it's for sure not the UX, or its recommendation engine, which are frankly both abysmal.

I'm guessing it's less the quality of the code they produce and more the quantity. Their rockstar programmers can work 10x more efficiently than other programmers, thus the CEO can hire 10x fewer programmers.


I work for Netflix Open Connect (CDN). We've been leaders on CPU and power efficiency with things like async sendfile, kernel TLS, and more. We've had servers doing 100Gb/s in production for 4 years, while competing CDNs are just now rolling out 100Gb/s servers. I have a prototype machine right now serving 375Gb/s of TLS encrypted customer video traffic with just 32 cores.


> serving 375Gb/s of TLS encrypted customer video traffic with just 32 cores.

How does that even work? The fastest system RAM you can get that I know of is DDR4-5000, which transfers at 40 GB/s (320 Gb/s). How can you encrypt and send data faster than your memory can even transfer it to the CPU? Or is there something I'm misunderstanding?


Hardware TLS done in the NIC :)


They lead in several areas such as video quality measurement (VMAF https://github.com/Netflix/vmaf), robustness (Chaos Monkey https://netflix.github.io/chaosmonkey/), video compression optimization (https://netflixtechblog.com/optimized-shot-based-encodes-for...) and probably more.


I feel like they might be going a bit overboard with video compression optimization. As an example, Star Trek Voyager in HD looks significantly worse than OTA 480i. On the plus side, it looks good in 4k.


I agree, their quality is sometimes questionable but to be fair OTA has preallocated/fixed bandwidth, while netflix on the other hand likely gains from optimizing for lower bitrates.


They can optimize for lower bitrates, which they've been doing for a while, but the recent drop in bitrate is really awful.

https://variety.com/2020/digital/news/netflix-degrading-hd-v...

Even if they are bandwidth constrained, I wouldn't be surprised if some shows looked better at 480i/.5Mbps than 1080p/.5Mbps.


Yes, and it's very frustrating too: they lowered the bitrate when Thierry Breton, the European Commissioner for Internal Market https://en.wikipedia.org/wiki/Thierry_Breton said the internet would not support the extra load due to work-from-home/COVID. Breton was CEO of Orange, internet & 4G provider. This is all sounds very suspicious, and it was clearly wrong. Some of us pay for UHD quality and we don't get what we initially paid for.


I haven't worked at Netflix, but I believe there are a lot of problems around video encoding and infrastructure which are quite tricky to solve. Netflix uses something like 15% of the world's internet bandwith, and the infrastructure/delivery challenges are probably enormous.


They write about some of the interesting engineering work on various blogs.

https://netflixtechblog.com/


Right that's the theory and you can read about it in his various books.

So instead of paying $260k per year for 10 engineers (2.6M), they might pay 451k for 3 "10x" engineers (1.3M). Costs are 50% lower overall, and if the engineers are even 2x more productive than the average you "break even".

Smaller staff means you need fewer managers.

I'm not saying this is actually how it works in real life (can a developer really be 10x more productive? who know). This is just their operating theory.

Source: https://www.levels.fyi/?compare=Netflix,Google,Facebook,Micr...


Smaller teams mean less time spent communicating as well so higher productivity?


Anything at a large enough scale becomes a hard problem. And they are one of the largest scales there is considering how many people use their service daily.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: