Now having worked in a few smaller teams since my time at FB, I realize how marvellous it is to not have to worry about OKRs, performance reviews and all that malarkey. It was so draining to run yourself as a mini PR/brand within one's team (/one's department) and market oneself (one's team) to your manager (/your company).
So much mental bandwidth was spent.
I also, from a systems-thinking POV, just fundamentally reject the value in OKRs as a meaningful proxy for the value you (/your team) are producing unless you are an entirely mechanistic function. By mechanistic I mean you have a clear discrete Input<>Output expectation. Every single time an element of human activity is reduced to a metric, you lose something, and if you do it enough times, you've effectively produced a metric that is completely distinct from the thing you intended on measuring in the first place. For example: let's say you're in the suicide prevention team at FB, and your OKR is 'number of suicides averted'. Well, that sounds good, but unbeknownst to you, perverse incentives have kicked in and invisibly imbued your metric-chasing experiments a dark undertone. A new risk model might start flagging more content as potentially suicidal to boost numbers, leading to over-intervention that could traumatize users or waste resources. Or perhaps the surface we use to measure success, a UX or user activity metric, might actually be uncorrelated with crisis aversion or... and this is where it hits: the thing that's instrumental in crises is social media itself. The metric becomes a game, and it games _you_. Your team thinks you're doing X, but you're really doing Y. Because you're disattached from the real problem and comforted by incredibly lossy proxies.
The times I've seen OKRs and metrics used effectively, they met two criteria. (1) it was always a metric closely aligned with what customers want and which drives revenue for the company; and (2) it didn't just impose a requirement to do work, it also provided political cover for not doing other, competing work.
For example, if you're designing GPUs and/or GPU drivers? If your next-generation product has the aim of providing 25% more frames per second in "Baldur's Gate 3" and "Call of Duty 6" while maintaining the same quality - that would be a good objective for the team, as it's closely aligned with what your customers want.
And if someone should come to you and tell you there's a lot of people streaming these days, and they think you should optimise gaming FPS and h264 compression at the same time? It's a sensible request but it's also a distraction; proper goal setting will let you say "great idea, but not this quarter".
But there are a lot of fields of endeavour where it's not possible to meet these criteria - like the suicide prevention team from your example.
And then customers complain that the driver is frequently crashing and the team is well aware but won’t fix the ticket because it doesn’t help them meet OKRs.
What you really want is: - every team working to improve the customer experience - guided by leadership priorities and initiatives
"every team working to improve the customer experience - guided by leadership priorities and initiatives"
The fundamental issue is that in almost all larger companies, upper management does not trust that their employees are either intrinsically motivated to do a good job, or are smart enough to determine what "a good job" is.
So rather than having a chain of trust from upper management to middle management to individual contributors, they seek to create a measurable control system. This inevitably replaces people's intrinsic motivation to do a good job with an extrinsic motivation, which only poorly represents the company's actual goals. At this point, most people are no longer trying to do a good job, they're instead trying to make their numbers look good.
Upper management has effectively replaced real, meaningful work with a game where everybody tries to score points, and the people who don't participate in that game are eventually stackranked out of the company.
A less cynical take is that communicating consistently the priorities and tradeoffs the company wants to make as they get larger is a hopeful use of OKRs.
In small teams/companies “the right thing” can be obvious and the team can operate in a shared headspace with low cycle time to discuss and decide tradeoffs when they arise. This gets really problematic at scale.
Now back to the cynicism — it’s also tricky when you want to hide the ball and make teams feel ok about doing bad things: make time spent go up is the goal, who cares if there’s addiction along the way.
I just fundamentally don't believe that most people in most companies have an understanding of the company's priorities that is worse than what an OKR encodes. In fact, my experience is that most people in larger companies believe, and are correct in believing, that they are forced to intentionally make worse decisions because better decisions have negative impacts on their measured performance.
I've been part of an extremely effective 200 people company that got acquired by a 4000 people company. We all understood why we were acquired, we built a platform that solved a fundamental problem the larger company had.
After the acquisition, this larger company's OKR and measurement system was implemented for our teams.
We initially all ignored the system and went on as usual, starting to implement our platform. Initially, things went well, we made steady progress and started migrating legacy projects to out platform.
Then, the annual stack ranking firings happened. Some of our best engineers were fired. Seeing this, many other top performers started looking for jobs immediately. The ones that got hired elsewhere started poaching even more top performers. The ones left started playing the numbers game to avoid being fired.
Within a year, most people went from trying to solve the larger company's problem to optimizing their numbers. Within another year, the platform initiative had completely failed and was abandoned, with most of the remaining people being fired or integrated into other teams.
that was the end result the company wanted. they bought out a competition and didnt intend to mometize it. so the engineers working on improving the acquisition were doing the opposit of what the buying company wanted
We were not competing with them.
“The fundamental issue is that in almost all larger companies, upper management does not trust that their employees are either intrinsically motivated to do a good job, or are smart enough to determine what "a good job" is.”
That’s what i have concluded a long time ago. Upper management has a deep distrust of their employees and acts accordingly. They will hire consultants or external people before they will listen to their employees. I think part of it is that a lot of them don’t really believe in anything themselves and only blindly try to fulfill goals set by their CEO or board of directors.
Consultants also provide political cover if things go sideways. Conversely, if the consultants operate well, the executive sponsor might be promoted and thus there is value delivered. But really the question is, "Are you working someplace where there is a culture of promoting from within?"
Do they "not trust" or do they not have a clue whether to trust them?
The result is the same. If a manager can’t judge whether their employees are trustworthy they are not competent for the job.
Ideally management is working with IC teams to set good Key Results. Management shares context of what's important (objectives) and IC teams propose good quantitative measures (key results) of how they'll achieve it.
Yes, “ideally”. I have never seen meaningful numbers as targets. Sometimes it works for a short term effort but in most cases you have ten different measures tha5 are important
For some reason, this is a controversial idea but: it's hard to argue that multiple layers of management can become anything other than bureaucracy.
Corporations reward an individuals tenure and experience with increased decision making (often, this means manager title). That increase in decision making means that less senior IC's become less autonomous, even when they inevitably exceed their superior's experience on the topic.
The level of autonomy is at odds with the number of managers. Some people argue this is a good thing. I argue that those people are just managers justifying their jobs.
I've been at hugely decentralized companies (several thousand engineers, one level of management between me as team lead and the actual executives). Each team was fully empowered to solve their problems in the best manner and they went off and did it. It had downsides. In particular, teams often encountered similar problems, and each team solved that problem differently. There was no one in a position to see that Team A and Team D were both solving problem theta, and that Team D's solution was better, and Team A should just use Team D's (or, more often, that we needed to detail an engineer to solve problem theta fully and get both teams to use that full solution rather than the jury-rig that each team had built). There was also no one to keep us informed that Team Ssang-giyeok had already solved the issue months ago and we could just use their solution.
Internal communications like that are a scale problem: in a small company, the matrix of personal relationships is basically full, but as companies get larger, the matrix gets sparser and sparser. By the time you have a 100,000 employees in time zones all over the world your matrix is almost all 0's with only occasional 1s. And so information will travel quite poorly without people whose explicit tasks are to convey information to the right people. That's what managers and internal bureaucracy are supposed to do. Sometimes that information is "we need to build this and not that," sometimes it's "employee 24601 is great and should be given more responsibility," sometimes it's "this project is a Kafkaesque nightmare of un-ending pain that will never be delivered as scoped." But identifying this information and sharing it with the correct other people- that's what middle-management is supposed to do.
Believe me, I am not generally a fan of bureaucracy (as I type this I'm supposed to be fixing a problem that is somewhere in the interface between my 100k employee company and another 100k+ employee company, and it's goddamn terrible), but it does have value beyond just fief-building.
> In particular, teams often encountered similar problems, and each team solved that problem differently. There was no one in a position to see that Team A and Team D were both solving problem theta, and that Team D's solution was better, and Team A should just use Team D's (or, more often, that we needed to detail an engineer to solve problem theta fully and get both teams to use that full solution rather than the jury-rig that each team had built). There was also no one to keep us informed that Team Ssang-giyeok had already solved the issue months ago and we could just use their solution.
Convince me that this duplication of work is worse when you have to shoehorn solution X into solving problem theta poorly, because someone 2 degrees (or more) removed from the problem thought that problem iota (which X actually solves) was "basically the same thing" as problem theta.
The interesting thing is that we have solved this. Groups of people much larger than single corporations work together effectively using systems like GitHub, Wikipedia, or npm, without overloading the social graph. I don't know why companies don't use similar systems internally — although I'm sure some do, but perhaps they don't advertise it, because it's a huge competitive advantage.
The modal OSS project is a one man band, or at most 2-3 people involved. By the time you get to something large scale there is also quite a bit of bureaucracy there too. Look at something like, to pick something mostly at random, a single project of the Linux Foundation, KernelCI, devoted to building CI for the Linux Kernel. And that has a Technical Steering Committee, ad hoc working groups, differentiation of responsibilities, etc. It has, for all practical purposes, just the sorts of middle management that I'm talking about.
I don't really think we have. There are many open source projects that duplicate work for a variety of reasons. Perfectly fine for stuff you want to do, but probably not an optimal allocation of resources
> Upper management has effectively replaced real, meaningful work with a game where everybody tries to score points, and the people who don't participate in that game are eventually stackranked out of the company.
This. Got managed out of a previous employer as I didn't want to participate in the numbers game by focusing on the customer.
If you are senior enough, you can get away with it for a long time. Customers liked me, account managers too (as their customers increased spending), and my manager (at the director level) had my back. That was all good until the day they put another management layer between the director and me...
i worked at a FAANG co and managed to make it 3 years focusing on solving problems that widely bothered users. there were several instances where i had to -fight- to ship critical bug fixes because the fixes so-happened to regress an obscure metric someone was baby-sitting…
the first time this happened, i felt like my brain was going to explode -- so wait, you want me to leave the main app feed broken and people pissed off because the comment-notes-experience-home-ex team's weekly comment rate is slightly regressing?
writing this out, not sure how i lasted as long as i did.
"you want me to leave the main app feed broken"
This reminds me of when we introduced Yammer at a company. Initially, it worked great, everybody loved it, it was super valuable to share information internally. Then, at some point, the feed broke and it somehow started demoting the most valuable posts, requiring much more time to be sure that you had caught up on everything relevant to you.
Then I read an interview with the CEO where he bragged how they were data-driven and were optimizing for engagement. My guess is that somebody had figured out that hiding important information created more "engagement" because people now had to spend more time searching for the stuff that was relevant to them.
This person probably got a promotion, and we switched to a different system half a year later.
Yes, exactly -- the fixation on "metrics-driven development" created perverse incentives (i.e. cobra effect). People would ship bugs and broken shit because it'd bump engagement, like you're referencing; nevermind the fact that the engagement win was because people were clearly flummoxed by a meaningfully worse user experience and it took them longer to do shit. I saw this happen many times, gaming metrics by doing backwards things would definitely get rewarded.
I worked on Facebook News Feed for a number of years. I wonder if we were coworkers. This is what it was like.
Was at a company for ten years and same thing.
Although what happened was slightly different. I was a developer. Came in fresh faced and worked my ass off. Took on additional work, went to copious amounts of conferences, networked outside of team constantly, always finished my Sprint work ahead of time. Did everything a high performing dev would do. On a scale of 1-5, I was ranked a 3 (meeting expectations), barely any bonus, barely any salary increase.
I was like, "WTF?!?!" and was naturally pretty pissed. Next year? Barely did anything. Came into the office for morning standup, left, worked from home rest of the day. I constantly took afternoons off, Still got work done on time, did the absolute minimal amount of work. I was "silently quitting" before anybody ever coined the phrase. Next years review? Yeap, you guessed it, another 3.
That pretty much confirmed to me that nothing was ever going to change if I was working my ass off or just doing the absolute minimal amount of work. This lasted another two years before they finally offshored my team and I left the company with several great references.
It was a great lesson to learn that its just a game, and you either do everything to stand out which has a high mental and emotional cost, or you simply refuse to play the game, retain your sanity, and look at your job as simply a means to an end as opposed to a satisfying career.
Intrinsic motivation is great, it's a powerful force and can enable amazing accomplishments. But it's not something that management can necessarily rely upon. Sometimes there's shitty work that just has to get done for legal compliance or to meet customer demands or whatever, and to make that happen management needs a control system to create extrinsic motivation. In any large organization it's not possible to have everyone doing interesting, meaningful work.
I've never seen that actually be a problem when people were motivated and empowered to make decisions on their own. In my experience, people by and large don't mind doing boring work if they feel that it is necessary or valuable.
I worked at a small company when GDPR was introduced, and people volunteered to read up on it, and work with an external lawyer to write specs on what we had to do, because they knew that it had to be done and wanted the company to succeed.
best explanation I've seen, this describes the org I'm at
This literally applies to everything in this world except global warming :D
$400 a tonne CO2 tax ($4 on a gallon of gas) is enough to modify behavior and encourage real CCS. This could be rebated to consumers (everybody gets a $6500 check a year) to make it revenue neutral. Two problems:
(1) A legitimacy gap. People think taxation is on ratchet and wouldn't trust it to be revenue neutral and not a money grab.
(2) It's a global problem. If there is a carbon tax in the US and no carbon tax in China that's unfair for our manufacturers. People will complain about the fairness of any particular rebating scheme inside the US, but there will always be much worse complaints about a system which embraces all nations from Luxembourg to Burundi.
For #2, most proposals I’ve seen aim to put domestic products on a level playing field with products from countries without an equivalent tax with a “border adjustment”, a sort of tariff that’s based on the carbon intensity of the product (with a pessimistic estimate if they don’t know). This has the side effect of encouraging other countries to adopt similar carbon taxes.
The EU is implementing something like that, and we’re seeing an uptick in appetite in the US to implement a border adjustment here, partly as a result, there were a few bills put forward in the last Congress, though nothing has gotten very far yet.
you forgot (3) an efficiency gap. No government or quasi-governmental organization can deliver this program without massive leakage. Look at Canada: carbon taxes go into general revenues, and some portion of it gets paid out of general revenues. It also doesn't matter if the payment is a redistribution or an ad buy for a terrible commercial on the CBC - it's all fighting climate change!
You'd wish instead of "seeing like a state" organizations would learn to "see like a consumer" and be able to recognize that a terrible commercial is a terrible commercial!
I think the efficiency gap is less than with other approaches. Rather than privileging electric cars we should reward people the same if they save carbon by buying an electric car or riding a bike or if an industrial process is replaced by one that is naturally carbon free or if you take the carbon out of the stack or if you take it out of the atmosphere. The market should decide what is the most efficient.
(Note another 'efficiency' concern people have is that you don't want to pay people $400/ton to store carbon from fermentation at an ethanol plant that is unusually cheap at $40/ton because you get nitrogen-free CO2. People seem to have a moral problem with that, first fundamentally, second because the ethanol plant is problematic in other ways)
It's better if the tax revenue goes back into fighting climate change but the point of a carbon tax is to punish bad behavior. Just by implementing the tax you're fighting the problem (in a small way).
Besides the tariff on imported products the sibling talks about, you can also rebate the tax paid on exported products.
It's not simple to manage those adjustments, but governments deal with much more complex taxes everywhere. It's not a big deal.
And yeah, the UBI cancellation of the tax, the tariffs on imported products and the rebate on exported products deal with every single problem I've seen people post about a carbon tax, except for "expensive gasoline will destroy our economy!", that is almost always pushed by people that live in a place with some of the cheapest gasoline prices of the world.
There is an add-on that some people push where you don't cancel all of the tax in an UBI, but use a part of it to finance carbon capture projects. I do really like this one, but it's not something that is required for things to work.
Exactly. Somebody should be able to capture carbon and get a rebate from that.
I like it that you can spend your UBI on expensive gas or to get an electric car or ride a bike, walk, WFH or whatever and pocket all of your rebate.
- [deleted]
Something I appreciate about small workplaces is that, often, people have a shared sense of the purpose of the organization and strong teamwork.
It manifests in little things. We were waiting outside the conference room last week for our manager to get the keys to unlock it. Nobody told me to, I wasn't responsible for snacks, but I picked up the trays of pastries and brought them in and put them in the right place and joked "It's my New Years resolution to squat anything I can get my arms around." I got thanked.
In startups you often have to get things done quicker than you can hire new people to do it. A lot of people have the attitude that they have a certain circle of responsibility, which is necessary and appropriate in a large organization, but in a small organization I like it that people have internalized the goals of the organization and are willing and able to pinch hit.
I think people often get this attitude working in small businesses, like a little shop that sells knick-nacks at the beach or the summer that I got re-hired at a supermarket that owed me a favor despite not really hiring at the time. I worked about 50% at the front end and the other 50% doing odd jobs directly under the store manager which meant they'd have me paint a metal line that ran around the outer wall of the store or sub for people in the deli (learn to work the meat slicer) or bakery, etc.
In a big organization you need some rigidity, but big organizations can also be seen as a collection of small organization (e.g. "employees don't leave companies, employees leave managers")
It's a pet peeve of mine when people in a startup don't have a flexible attitude.
100% and people in startups tend to have more of an ownership approach vs "not my job, nor in my job description" attitude. Not suggesting here that options are the answer, just echoing my experience in the small workplace vs large.
- [deleted]
>And then customers complain that the driver is frequently crashing and the team is well aware but won’t fix the ticket because it doesn’t help them meet OKRs.
You highlight the danger of goal setting - where the goal becomes an end onto itself. I disagree with your adjustment however. It's too vague as written, and if you attach KRs to it, you'll end up where you started (with a KR like 'improve fps performance of game X by 25%')
Ideally, you fix the issue, but you track it as having impact on achieving the OKR. Achieving OKRs should not be seen as a "be-all and end-all" ... Failing an OKR should be seen as a opportunity for improvement. If the corporation sets a goal of improving game FPS performance but is unable to meet it because of technical debt, that is good information that needs to be managed.
> And then customers complain that the driver is frequently crashing and the team is well aware but won’t fix
I slipped in the catch-all phrase "while maintaining the same quality" for exactly this reason :)
> What you really want is: - every team working to improve the customer experience - guided by leadership priorities and initiatives
What I'm saying is, in some types of organisation the goal-setting process can be how you express the leadership priorities and initiatives
> the team is well aware but won’t fix the ticket because it doesn’t help them meet OKRs.
Oh, someone will fix it. But it won't be the glamorous team that does the "lead" development. It will be a less desirable team that is relegated to "maintenance coding" and is paid substantially less than the premier team that created the big and got the bonus
"KR #3: the amount of bugs reported by users must not increase from our baseline"
Solved :)
Replace the bug report system with a maze of menus so as to reduce the reports.
Now we're getting key results.
Policy: “Bug reports are only accepted once they are validated and fixed”
This only happens if people are evaluated based on OKRs, which is not what this tool was originally about. High Output Management, as far as I can remember, says that such a tool must be used solely for communication, i.e. to avoid having people ask the same questions over and over again (and to enable descentralized decision making).
> it was always a metric closely aligned with what customers want
Parent's point is that customers want more than single metrics, and the metrics you leave on the side to priorize the OKRs can be as critical.
Put another way, if your client has 20 inherent metrics, you can't have 20 OKRs so you're always at risk to mess it when focusing on a smaller set.
Exactly. So a productive employee is one who identifies a problem and knows which of the following to do:
- fix it themselves without anyone asking - bring it up to higher management - deprioritize it based on severity and leadership initiatives
This is the pattern taught by Jethro to Moses in the Old Testament:
every great matter they shall bring unto thee, but every small matter they shall judge: so shall it be easier for thyself, and they shall bear the burden with thee.
> fix it themselves without anyone asking - bring it up to higher management
No matter what your intentions are, doing this frequent enough will give you reputation of being a lonely wolf and trouble maker.
I’m sorry that’s your experience.
But it can’t function any other way. You are a filter of small problems for everyone in the org higher than you. If you bring up everything up the chain your level may as well not exist.
There are many places out there where individual contributors are agency-less executors.
I don't think it ever worked. (Remember when Japan destroyed the world's car industry just by changing that single thing? And that's industry work, highly repetitive and formalized.) But that never stopped managers from doing something.
- [deleted]
- [deleted]
All OKRs help customers, but not all customer help meets an OKR.
Finding and fixing product problems requires decentralized decision making and trust.
Indeed.
What I find odd, is often the biggest proponents of the free market - with it's decentralised decision making process ( and redundancy of effort ), decide that total centralized, top down control is the best way to run their own company - as they think top down decisions and minimising waste through duplication is the way to go.
As with all things - it's a balance of course.
You might want to read "The Nature of the Firm", which discusses this.
That's a slightly different angle - if I understand correctly it's about why firms exist at all - and if I were to summarise it's because lack of trust costs - a firms boundaries are created to balance transactional costs ( within the firm it's low, between firms or individuals it can dominate ) versus the costs of perhaps not being market efficient.
My argument above is about not what shapes a firm's boundary but how it operates internally - too much top down control potentially risks exacerbating the risks associated with being a company and also potentially increases internal transactional costs as well - worse of both worlds! - all that ceremony around decision making, time spent justifying existences, inability to just act.
Obviously as I said above - it's a balance - just as it is with country/international systems.
That’s an easy one to answer.
Corporations don’t have police or taxation power and so have more limited impact on your individual freedom.
In a “free market” you can choose what firms you work for and with, except the government.
The government would be more efficient in an autocratic leadership. But government efficiency is not the societies efficiency and well being
> In a “free market” you can choose what firms you work for and with, except the government.
Eh? Nobody ever leaves one country for another?
> The government would be more efficient in an autocratic leadership. But government efficiency is not the societies efficiency and well being
I think the free market proponents would say otherwise - one key problem is the myth of perfect information - you are imagining it's possible to concentrate all the required information to make any correct decision into a very small group of people at the top ( and assuming these people are competent and not corrupt). One of the ideas behind why distributed markets work is the information about what is needed is communicated by the mechanisms of the market itself.
And to bring it back to the original post - does the CEO have all the information required to direct others to meet the customers need across all areas - or is it better to use the collective intelligence of the entire organisation?
> All OKRs help customers
And in the real world, not even this is true, due to the cost of satisfying OKRs--opportunity cost is one kind of cost, but optimizing an OKR can of course negatively impact other valuable things that aren't represented by OKRs.
>Finding and fixing product problems requires decentralized decision making and trust.
Which is exponentially harder in a large company - hence why OKRs are invented.
But this is such a good example of why these hard metrics are terrible.
You actually probably don't want just 25% more, you probably want 30hz or 60hz or VRR support and you don't care about going from 92 to 118. The easy metric doesn't necessarily correlate to user desire.
And like you mention, it disincentivizes reprioritizing with changing user desires simply because you didn't predict it or could come up with some other better metrics for something else.
It's opposite of being agile but of course you see the same company claim they do both.
> You actually probably don't want just 25% more, you probably want 30hz or 60hz or VRR support and you don't care about going from 92 to 118.
Then someone probably ought to tell the GPU review industry, because for the past 20+ years FPS on current popular games has been a key focus of their reporting :)
I count 462 mentions of fps in https://www.tomshardware.com/reviews/gpu-hierarchy,4388.html
You misunderstand. There are thresholds where FPS produces visible results and there is diminishing returns after 60fps as most displays cannot do more than that.
When you make a game you'd want to hit those thresholds for as many users as possible. When you're reviewing cards all you can do is give a sampling of the landscape to get a rough sense of how the card would do in any given game.
> from 92 to 118
Or maybe yes; 120 Hz gaming monitors are a thing, and give some advantage. You probably want to target something like Doom Eternal, not BG3 though.
As you see, it all depends on who is your customer, and then what matters to your customer. This is the closest proxy to the company's bottom line, and usually is not as fickle.
Yes, it gives some advantage. The point is that its not a binary metric to hit 25% exactly, nor is it some linear correlation.
As stated its also likely not possible. Even a free 10% improvement across the board would be massive. Imagine only getting 20% more perf out of a driver and yet the bonus is marked as below target.
The numbers were picked because they were easy to pick, not because they were deeply thought through and that happens all the time with these OKRs. That's why they're dangerous.
In my job we have metrics, but they are not mandated to employees. There are no targets and stuff like that, they are just there if you want to know. Managers track it and try to optimize for it, but nobody bonuses or employment is on the line over them. Maybe some sales people have commission, but most of the customer acquisition is organic anyway.
Funnily enough we have a weird situation right now, where we want to optimize the _cheaper_ plan of our product, meaning moving people from the more expensive plans to the cheaper one. It is a weird dynamic, but due to licensing our cheaper plan is actually far more profitable than the more expensive plans. Most clients wouldn't really miss anything from the more expensive plan.
It is one of those rare situations where convincing people to switch to the cheaper plan aligns with what is best for the consumer.
Well that sounds like good idea.
As a manager you should have metrics because then you know if you tweak the process correctly. Not sharing it with employees and definitely not making any bonuses or pay increases depending on metrics. Because then employees will game your metrics and they will be useless.
100% agree. There is a basic level of honesty required for this to work, which seems to have gone missing due to the "evolution" of corporate culture and the cash-rich environment which made actual productivity a secondary concern.
> For example, if you're designing GPUs and/or GPU drivers? If your next-generation product has the aim of providing 25% more frames per second in "Baldur's Gate 3" and "Call of Duty 6" while maintaining the same quality - that would be a good objective for the team, as it's closely aligned with what your customers want.
I can get selection of particular gaming titles, but how do you come up with 25% goal? How is this closely aligned? Your users tell you they want ~30% gains?
This seems to be completely ignoring a constant feedback loop between general aspirations for the product, operated timeframes, and conclusions from ongoing engineering R&D.
> how do you come up with 25% goal?
In organisations that do this kind of work, the 'marketing' department isn't just about placing adverts and writing blog posts. They also have people whose job is to keep track of what's going on in the market, and to estimate what your product needs in order to be competitive when it comes out.
To take a simple example, the marketing team might have visited https://www.tomshardware.com/reviews/amd-radeon-rx-7900-xtx-... and found on 4K ultra settings that the "RX 7900 XTX" shows up as 90.3 fps average and the "RTX 4090" shows up as 112.6 fps average. And 112.6÷90.3 = 1.246 so if AMD want their next-gen flagship to outperform nvidia's current-gen flagship, they need 24.6% more FPS.
Of course it's a lot more complicated than that in practice. They'd also consider value-for-money, non-flagship cards, whether users' monitors even support >120fps, guessing at what nvidia's next flagship will offer, interviewing big buyers like Dell, and so on. But that's the general gist of it.
I've never understood that sort of target - managers at McDonald's had them when I flipped burgers through uni, and they would just pull some numbers out of somewhere and get very excited about them. then they would nag customers until they hit those numbers, presumably.
> a metric closely aligned with what customers want and which drives revenue for the company
My experience says these two things are often mutually exclusive.
Add a meta rule - only pursue revenue sources that make both of you money - that's called being a good company.
Many people will say I am leaving stuff on the table, and I say that they are literally parasites.
I was a Linux zealot in the 1990s. I had a conversation with a friend from college who was developing solutions based on Windows in Arizona who told me that he loved Microsoft because Windows was a platform that made people like him rich.
That matches Bill Gates’ definition of a platform:
"A platform is when the economic value of everybody that uses it, exceeds the value of the company that creates it."
Someday we'll get you back as a Linux zealot my friend :-)
This is the crux of what's wrong with the original article IMO. Key results that are customer centric as opposed to "ship {thing}" help keep teams focused on the thing that actually matters.
Of course there will be a tendency to try to game the metric, but the flip side of having customer centric goals is teams become feature factories, building idea after idea without constantly evaluating "are the things we're shipping driving the change in customer behavior they're intended to drive".
That's a product OKR, not a personal OKR.
Yes, product OKRs can work, as long as you listen enough to feedback. In fact, you probably can't ever creating anything good without them. But I don't think most people even call them "OKR".
I'm experiencing large company culture for the first time after being in small startups. What I object to the most, is the competition between engineers created from the goal setting and performance reviews. At startups, I had a domain that I could own. Now, at largco, everyone tries to take over my area in an effort to build their resumes. I used to view fellow engineers as teammates, now I see them as my competition.
Interesting take.
I believe there is some truth to what you're saying. My experience was slightly different where all the devs were working together, nobody "owned" an entire domain. Mainly because if a dev left, we needed to have someone else on the team capable of picking that up and move forward without everything falling apart because we had a chokepoint on something because one dev held all the keys to it.
But it was the same thing, the sense of everybody working for a common goal, and devs never judging each other. We found ways we complimented each other in order to be more efficient. There were times when you really did feel your worth as a dev and all those sort of romantic ideas of what being a dev was? And there you were, living it every day and being super proud of working shoulder to shoulder with some very talented people who saw you just as talented as they were.
Big Corp? 100% spot on with your observation. Its a fucking shark tank and at times, I felt like I was in a mosh pit. fighting off other devs, over zealous project managers trying to get me to do stuff that would make them look good, directors who constantly cut corners to make themselves look better at the cost of your bonus and promotions. Add in the abnormal turn over and feeling like I never had any stability on any of the teams I was on, I just never felt like I fit in anywhere. It was very high school stuff I didn't want to deal with.
Funny in a startup I value people being pinch hitters. Sure you should have your domain but if there is some exceptional event I want somebody to be able to cover for you or for you to do some job that wasn't even on the roster yesterday.
True. I guess what I mean is that other engineers try to take over the architecture and design. For instance, I had a fellow engineer without even talking with me, create a 2.0 vision doc for part of the system that I had designed and was mainly responsible for. This was clearly an attempt by them, to raise their status and influence.
I feel this pretty hard. You almost have to do your own 2.0 vision doc for things to make sure your name is on it in order to preempt the opportunists and influence pirates, but that can lead to you being seen as "hogging all the good work" and turning into the common adversary.
The key to largeco success is to understand that when you own a certain area, especially if it's an area that will generate opinions or a visibility boost, you will need to manage your full stack, not just the code you write. Code access, PR acceptability requirements, roadmap, triaged backlog, and communication upwards, downwards, and sideways.
If you're not doing that work, either someone else is going to do it or it'll cause issues down the road. Look at it this way: you can either be grateful that so many folks are wanting to help you in your effort and coordinate that effort, or you can stick to the code and complain that someone else is trying to steal your credit.
All of this hinges entirely on your direct manager (and to an extent their manager) being an actually good manager, and not a microcontroller, pass-the-buck-er, or an empty chair.
"All of this hinges entirely on your direct manager (and to an extent their manager) being an actually good manager" I've found this to be a pretty tall ask at most companies. IMO If companies got rid of most of the performance and goal setting, most lower level managers could just convert to project management and teams would be a lot more effective.
It's not a startup vs large company problem but a DNA/company culture thing. I've been at 50 person startups that implemented okrs like Meta or Google.
I feel the same way. There’s a shift that happens at around 80 people where not everyone rows in the same direction. Incentives become different because not everyone “lives and dies” together or by the same metric. By the time you are at bigco status, this is so ingrained that work becomes repeated prisoner’s dilemma trials.
80 seems like a specific number
80-100: my theory is as humans who lived hundreds of thousands of years in small hunter-gathering groups, there is a natural limit to interpersonal relationships we can manage on one-on-one level.
Any levels of social complexities beyond that has to rely on systems/traditions rather than direct interpersonal relationships.
Sounds similar to https://en.wikipedia.org/wiki/Dunbar%27s_number (in case you hadn't seen it before).
You got into a good large company. In huge old companies (e.g. gov) there's often the opposite problem -- no one wants to take anything. They know that if they do something at least once -- it becomes their problem forever. With some amount of job security fiefdoms of course.
I have semi-humorously dropped a comment defining Goodhart's law.
The problem you are describing is nothing else but Goodhart's law in action: A measure stops being a good measure, i.e. be a proxy for something, once there are objectives attached to it. In other words, attaching goals to a metric invalidates previous causal relationship.
That's neither bad, not good. It's a property of goal setting. The problematic part is still treating the measure as if it had causal relationship to something when that relationship has already been invalidated. In your example, number of suicides ceases to be comparable between pre and post OKR timeframes, however if you look closely, this particular goal is based on a metric the underlying OKR targets invalidate.
Yes, sometimes you get these weird tautologies where you have to change the whole framework/process to make something both targetable and measurable simultaneously, potentially losing comparability to past data.
As a team within a larger company, your purpose is to contribute to the larger goals. How do you know if you are doing that? As this "suicide prevention team", how do you know if you are doing a good job?
I agree with you that proxy metrics easily distract you into doing Y instead of X. My opinion is that you need to iterate on your metrics then. Not having metrics means it all depends on the gut feeling of executives.
It surely is draining to be clear about your goals. I fear we cannot really be politically correct and sufficiently honest even. What is the real goal of having a suicide prevention team? It might be token effort after some incident, then the actual goal would be to as cheap as possible while still maintaining the illusion. It might be to prevent future PR disasters, then collection helpful evidence for lawyers should be part of the job. This touches hard ethical questions and these should become evident when discussing the purpose of a team.
> How do you know if you are doing that?
You don't, as an individual "unit", which is part of the problem, i.e. modern management's focus in trying to split teams/big companies down to its "elementary" unit, the employee.
> Not having metrics means it all depends on the gut feeling of executives.
And that's why you need good executives, executives who have good guts. You cannot automate your way into being successful, at the end of it all running a company is still pretty much a social endeavour, one that cannot be partitioned down to individual units, neither can its success or failure be explained by those individual units alone.
Higher ups love to be "a data guy"! Just reduce all their responsibilities into a few numbers so they don't have to really understand what's going on underneath them. Have you notice how in love they are with their "progress dashboards"? They love to kick back and put their legs on the office desk watching minions making "progress" on OKRs so they can report that to their manager. It's too much work to really understand things and be on top of them anyways...
The other way that being a numbers guy lets managers be lazy is that they will tell their data scientists to “do an analysis” so they can say that their product decisions are empirical and data driven rather than relying on any obvious design/product sense.
If they can point to a number from a really poorly/quickly done ad hoc study, they’ll never worry about being told they made the wrong decision
if thats all there was to it, might as well let an algorithm/software do the job instead....> Just reduce all their responsibilities into a few numbers so they don't have to really understand what's going on underneath them.
It's exceptionally hard to find good executives due to nepotism and other problems with hiring them that result in the wrong people in charge of the wrong thing more frequently than not, though.
So we need metrics., lest we get swept away in the Trickle-down Incompetence.
Yeah, I agree that it's a very difficult problem to solve and that getting the balance right between using metrics and having access to good "guts" is essential in a company's forward success, but that's the state of affairs we are in right now, for better or worse.
I also think that the companies that matter getting bigger and bigger, with no actual failure on the horizon (such as bankruptcy) in case of strategically wrong decisions doesn't help things one bit, because in those cases management failure is in many cases rewarded as there's no immediate and adverse affect on the life of the company itself. We need some return to creative destruction, otherwise we'll be left re-arranging the chairs on the deck of the Titanic (I see this type of discussion on this particular subject as part of that metaphorical re-arrangement) until the proverbial iceberg will strike.
This has always been my beef with OKRs in the software industry. Most shops are at least pretending to be agile-ish. And this means that a random IC dev is pulling tickets from the backlog and doing them.
They're not going to be personally responsible for "improving the response time of the FizzBuzz server by 22.3%" or anything like that. No - the product manager tells the team on what they'll be working, the work gets broken down into parts, and they take what's available when they come up for air.
OKRs should never be handled at a level more granular than a scrum team, or equivalent.
> Not having metrics means it all depends on the gut feeling of executives.
Having spent a couple of decades in enterprise I can say that in my anecdotal experience it does so anyway. I've rarely seen any form of metrics put to good long term use. That's not to say that it doesn't happen, but benefit relaization seems to be something very few managers and teams actually work with beyond hitting some metric. It's usually the most obvious with changes in management. I've seen hordes of measurements thrown in the bin when a new manager took over a team and had different goals and values. On the flip side there are a lot of negative side effects of metrics over time. If you measure employees by the hour you create a culture of people who won't help each-other because how do they registrer that?
I mainly view productivity measurements as a HR tool for managers who don't actually know what their team members are doing. Which can happen for a lot of reasons, sometimes it can be because the manager is simply bad at people management, often it's because they are too busy. What is especially bad about them, however, is that people aren't consistently productive and what you really want to work with is how to keep them motivated. A motivated great employee can be unproductive in a period where they have small children, a loved one is sick and so on and an unmotivated employee can be very productive while simentaniously looking to leave your comapny.
I get why these tools exist though. Most managers are weak decision makers and HR supply them with tools that help them over come this.
I worked on the Suicide and Self Injury team at Facebook.
It was multi faceted, and whilst out of the door escalations (to emergency services) is one metric, it was a guardrail - i.e., if it went down it's likely something was wrong, not because "yay we solved suicide!".
The more difficult thing is that sometimes it's not possible to develop a metric to properly capture "decreased risk of harm", and so proxy metrics have to be employed.
You have invoked Goodhart's Law. The problem is, of course, that most managers are not good at their task of evaluating talent, proving the worth of their services, etc. and try to take the easiest way out of it. Sometimes this means outsourcing the job to you or picking a poor thing to measure.
> you've effectively produced a metric that is completely distinct from the thing you intended on measuring in the first place
Basically Goodhart’s law https://en.m.wikipedia.org/wiki/Goodhart%27s_law
> It was so draining to run yourself as a mini PR/brand within one's team (/one's department) and market oneself (one's team) to your manager (/your company).
Counter point. This is always inevitably a thing. They were only making the implicit explicit.
Yes but this being made into a formal process and having to regularly interact with that process is what's so draining.
Not having to deal with this is one of the positives about working in a small startup versus a long-established large corporate.
- [deleted]
In big teams you are right it almost is inevitable.
It is not in small (say below 5 people) teams/ organisations. At least not in the ones I worked in.
No, not to the extent that it was and is the case at FB. I think people who haven't worked at FB don't quite understand the degree to which PSC culture pervades the company. It's absolutely more intense than Google, Apple or Microsoft, though I'm not as sure about Amazon. Valve seems differently intense in a way that I think is a negative overall.
A bit pithy, but: The goal of most enterprises is to build useful goods and services for its customers. The goal of Meta is to evaluate its employees.
Safari’s idiotic AI has decided that every time I want to go to youtube, I actually want to go to a specific clip of peppa pig failing to learn how to whistle
Google’s idiotic AI has decided that the clip of peppa pig failing to whistle depicts suicidal ideation, and so every time I visit the clip I get a big dramatic black rectangle and a therapyspeak question “Am I an adult who is prepared to view a depiction of suicide.” It took me embarassingly long to notice that this nessage, repeated constantly enough, was actually affecting my mood.
Your scenario is generous in assuming that the suicide prevention FAANGers who coded up this situation are intelligently following bad incentives. I think its more likely that their intelligence is just found lacking, when unfairly compared to the galaxy brain needed to actually guess the consequences of our actions at this scale.
> For example: let's say you're in the suicide prevention team at FB, and your OKR is 'number of suicides averted'
That sounds like the sort of old-school KPIs that OKRs were meant to replace. I don't know if it's just impossible to measure anything, and you should just rely on a managers' word for how any team is doing, or if the people who did KPIs are now infecting OKRs.
They've always been closely related. The "KR" in OKR is "what is the new target for the KPI in order to reach O?"
The challenge is we don’t have an alternative, at a small company your performance boils down to “does the ceo want to fire you?”. The extent to which the ceo does not want to fire you depends on the reasonableness of that CEO, as well as how much the CEO cares.
In an established small/medium business with flat growth, it’s entirely possible that no one cares to fire anyone, sits also possible the CEO expects everyone to work nights and weekends while being a top competitive coder.
> I realize how marvellous it is to not have to worry about OKRs, performance reviews and all that malarkey
Where are these malarkey-free companies? I've worked at several small companies and they all had all kinds of malarkey.
One of the biggest culture shocks I had during my time at FB was when we were doing Mononoke, this completely greenfield project with a ton of unknowns (first big Rust project!), and we got a new skip level who was previously on the web performance team (super narrow and directed).
When I was at fb, I had the curse of being given an extremely vague goal as a new hire. Unfortunately, it was quite difficult to establish meaningful metrics AND hit them in a half! Like you said, I spent way more time on my self review than I wanted...
The FB suicide risk detector OKR is an interesting example. It’d make a great business school / psychology case study.
We measure something because we need something to measure even if it is divorced from reality.
> Every single time an element of human activity is reduced to a metric, you lose something
Also, metrics eventually become the goal and are gamified.
At FB would the 'boots on the ground' devs be required to do OKRs? Or were they done at the team or manager level?
I did not do any OKRs on an infrastructure team. Qualitative results were just as valued, and we had the quantitative knobs to dial when needed thanks to excellent internal tooling and service maturity.
I found it to be the ironic part of working at one of the most data-driven companies. We didn’t do OKRs in my org despite using data to drive decisions. I much prefer this to OKR hell.
It depends substantially based on which org you are in. But generally it is at the team level, so it would mostly be on the EM/TL/senior eng on the team.
I think Laozi and Zhuangzi had something to say about this.