How a startup loses its spark
blog.johnqian.com
blog.johnqian.com
Did the focus on being a leader make you stronger? Were Netflix employees from then valued very highly?
Netflix's culture stack used to say that culture is all about who gets rewarded and who punished. So, yes, people did get punished for their failures. The key here is what behavior led to a failure? We have to analyze consider the failure and the associated human behavior together and see if there is a lesson or a punishable pattern - this is where strong leadership is needed for a just assessment and action.
There is no rating. At that time, one either their job or not. There was no bonus either, as bonus contradicted to the no-rating system.
> How did they incentivize taking risks?
Taking calculated risk was also part of the culture. Good people actually wanted to take risks. So the incentive systems is to take road blocks away.
> Were Netflix employees from then valued very highly?
I think the success of the company and the quality of the employees make them marketable. Everything else is secondary.
Read this article which is pushing this as a positive. Grep for "Tell the Truth About Performance" to see where they talk about changing what an employees job needed. An employee they recognize had done a good job for 5 years, but wasn't what they wanted going forward so they weren't even going to try and help get her the skills to do the new job, but just lay her off immediately.
I'll give an example of the leadership style of Netflix. Jordan Zimmerman, a great engineer who created Apache Curator, once asked then the director of cloud platform, Yury, if he could open source Curator. Yury just casually said: okay, do it. Jordan was puzzled and asked: "don't I have to talk to an attorney? ". Yury smiled and asked: does an attorney help you write code? Jordan said no, and Yury concluded the conversation: then you don't have to talk to an attorney.
That does not sound like the right question. How about: have we vetted our dependencies' licenses?
I mean like yea, technically they get more "done", but only because they steam roll all their other legal responsibilities
Hiring extremely good engineers is hard, but hiring good managers is far harder. They also are much better at driving out the good talent tan a bad engineering hire is.
"People join companies. They quit managers."
I'm currently in this situation. Our small company was bought out a couple years ago. Before, we had one meeting every quarter and now we have at least one meeting every day (if not more). The managers aren't listening when I tell them that engineers are leaving because there are too many meetings. The crazy thing is that most of the meetings aren't even related to what we actually work on, it's absolutely insane.
Everything needed to keep a giant super-successful post-product-market-fit company running smoothly and reliably as, say, a VP at Google, is completely the opposite of what you need to move fast when you're trying to figure out how to thrive (or even just survive).
I haven't worked in one of those "this is like a startup inside a big-co" places that you often hear about, but I imagine it's why those struggle to compete with actual startups. It's hard to act like you are facing existential risk when you just plain aren't.
where/when did Netflix go wrong? curious to hear from insiders
In the places I've worked, the product is poorly defined. Not because we've neglected to define it, but because it's novel and amorphous and nobody knows what it should be, let alone what it will be.
Netflix on the other hand, in my view, has a clear goal: get video onto screens as efficiently as possible. It becomes much more of a pure technology problem solving situation.
Of course, I won't assume there aren't ongoing product development tasks constantly. I'm sure there's a massive back office suite, along with ads, etc.
But the overwhelming majority of the Netflix product "mandate" is pretty solid, so you don't need to spend a lot of time making sure folks are on the same page, or am I way off?
This sort of narrative is type of propaganda designed to get young, impressionable engineers to commit more of their lives to their job than the salary they are paid would justify. Do not do this if you are a young engineer. There are a lot of bosses out there who will take advantage of your excitement and naivete to utterly destroy you personal life at the expense of the business, but for every one of those there are others who will have the normal expectation of the employer/employee relationship.
Later when I offered to defer my wages until the product was released (it seemed he was "running out of money"), eventually all the trust building tactics he had used on me over the years were cashed out on as I gradually became disillusioned to realize him paying me dirt was deliberate. He could have easily paid me a decent wage for that work, but ultimately I met nothing but resistance and breadcrumbing and stonewalling when trying to get a decent pay
"I don't have the money to pay you" he said at one point after the fact when I asked to be paid what he owes me. But afterwards and after I had rage quit, he simply hired someone else to start from scratch on my 2nd project after I had told the other developer that one thing I saw first hand working for him was how corporations don't care about people
Granted I wasn't the fastest developer in terms of the number of hours I worked, and the new person he hired seems to have been pretty good, definitely above my level, assuming they implemented all the features I did. But I was getting my work done just fine as far as I and the other dev could tell
“Yeah so three of my colleagues got fired so now I’m doing the work of four people, but my boss won’t listen to me when I say I’m overworked”.
Professional people would likely been gone before the firings, but if this situation would have arisen, they would have set boundaries and negotiate what work is and isn’t done within a normal work week. They don’t let themselves get tricked or fooled like this. And the fun part is that management never even asks to take over the work.
So many people are so brainwashed they care more about a company that would fire them without a single thought than their own life, it’s so insane.
If you do what you can get done, and go home at a reasonable time, it's great. You don't have to worry about justifying your position, or trying to find work to do, you've got a bunch of stuff. You can pick from your choice of tasks, cause there's a ton of stuff. You don't have to bother with knowledge transfer, cause everyone else was fired. You can nope out of meetings because you've got a lot of stuff to do. When you leave or get fired, whatever, not your problem.
No need to collaborate with other contributors becauase there are none. Not great if you're junior, obviously.
Basically, drunk the kool-aid, doesn't know what they don't know.
I switched over to startups and have not looked back. Yeah, I work more, but I enjoy it a lot more. I can't do it forever, but the financial rewards have been better too, so I probably won't need to work to 65 like when I had the more stable, boring job.
In my experience people that claim otherwise are just getting less out of work than they could. Kind of a waste of 40 hours a week.
(Sure, bad situations exist etc. etc. but that’s just true of everything.)
My father is an orthopaedic surgeon and he definitely thinks about his job as much as I think about mine. My cousin is a cardiovascular surgeon who also does. Another cousin is a lawyer and she does too. A friend I met through another friend is a school vice-principal and he does too.
All of these people have family and friends who love them and who have hobbies that they spend time on.
I think people like this would just prefer to work with others like this. And so they write these things advertising that this life exists.
The market for engineers is pretty hot right now. To any junior engineer who wants to love their job, I'd say go for it. You have at least 40 h a week dedicated to your vocation. That's enjoyable.
Many people don't treat this 40 h as an enjoyable time of their life. But the reward is you have 40 more hours of enjoyment per week. Just remember that hard work and outcome are correlated at less than 1.
Here's an incomplete list that I keep around of the mechanisms that I've observed so far that have played a big part in the decline/destruction of an engineering team (and product thereof):
1. Too-technical leaders:
As startup scales, there can sometimes be a mad dash to fill new leadership roles (e.g. VP of Eng, Arch, CTO, etc.). Super-star engineers present at startup phase sometimes move into these when they are not the leadership type, causing engineering team to devolve into a visionless, directionless zoo.
2. Non-technical leaders:
Inverse to the above - as startup scales, in desperation, new leadership roles are filled with non-technical individuals who have little to no engineering experience. This causes similar outcome to #1 (albiet slightly different, but equally perilous).
3. Problem engineers:
Small number of leaders lack a spine, conducting shallow interviews and let in "problem engineers" who spoil the party and wreak havoc. Lax hiring practices almost always are reflected into non-existent firing practices, leading to them lingering around.
From experience, it only takes around ~5-10% of a team being this type for it to have a large negative impact, as they tend to derail progress, dodge responsibility, reputation farm, push rubbish, all that nonsense. It harms morale, and the skies turn grey in the office...
4. Micromanagement:
Speaks for itself. Leads to red tape, demoralization, timeline slippage and frustration.
EDIT: I'de love to hear how these foot-guns have been avoided. From experience it seems really challenging, as if like magic; as if cultivating and maintaining a good engineering team and culture therein is like balancing a pencil on it's nib...
It still had the same problems as above. Expanding slowly doesn’t automatically protect you from these things.
There are still things you can do, e.g. don't pick the offers in a round with the most $$$ - instead pick the 1 that will help you the most.
Set the right expectations. Most of the time it's not the VC money that's the problem but the founders being consumed by suddenly being "rich".
1. Not correcting problem hires fast enough.
First time founders are often too hesitant to give negative feedback, demote a too-technical manager who should have stayed an IC, or remove a problem employee who isn’t working out.
The anecdote that comes to mind is a local startup that hired a C-level executive’s UI designer friend into their VP of Product role. He was wholly incapable of doing the job but they kept him in the job for 2 years to “give him a chance to grow into it.” Everyone below VP level openly talked about how the VP of Product was incompetent and how to work around him.
The company’s product initiatives ultimately failed to even get started and they had to pivot to entirely services based work. Do not stay at a startup that insists on keeping unqualified people in leadership positions long after everyone in the company has given up on them.
2. Firing the wrong people
The same startup was forced to downsize, largely because their product plans failed to even become defined enough to start under the incompetent VP of Product.
It was the perfect opportunity to fire the VP of Product and his sprawling empire of people who did very little, but they avoided that due to his connections to a C-level executive. Instead, they started cutting engineers. They focused on cutting engineers with the highest compensation out of a misguided effort to cut as few people as possible.
In the process, they lost their key engineers who were holding things together. They sent a message to everyone that incompetence is tolerated if you know the right people. And they lost even more core engineers who quit in the months after those layoffs.
Everyone makes hiring mistakes. It’s how you respond to those hiring mistakes that will seal the fate of the company.
The specific advice he offers is "hire slowly, fire quickly."
Lawsuits
Details vary, but for example in Poland you can (simplified case):
1. Hire for fixed-length term of a year 2. First 3 months of that are "trial period" - you have minimal paperwork for firing during that time, effectively no chance of lawsuit (if someone brings a lawsuit that gets far enough for any paperwork to reach you, you have much worse things to take care of internally) 3. After the fixed-length period, if you're happy with the employee and want him to continue you switch to "permanent" contract. If not, the term lapses and that's it.
1. Dalio doesn't understand what a "principle" is -- but I can understand that "Aphorisms, Cliches and Hunches" is a less arresting title, if much more accurate. (See [0] for a fuller review on this.)
2. Dalio's version of Bridgewater doesn't line up with the experience of others -- which I have heard from so many people as to completely undermine whatever he might say.
Now, in the book's defense: I didn't get through it and perhaps it got suddenly palatable or interesting. However: I also couldn't get through it -- it was just that bad.
What, in your opinion, defines what is sensible in business and leads to your frustration with Dalio's message? Can you give personal anecdotes?
[0] https://www.youtube.com/watch?v=9QMGAtxUlAc
We just hired for a management position a couple of month ago and I could tell from the very first meeting that it was a bad hire. I made sure with my team that I’m not totally wrong and then communicated my doubts to the C-Level. It took some time because they wanted to give them a real chance but just before the probation ended there was an evaluation meeting and the feedback was, without exception, negative. Took two days and they were gone.
Of course there will be hires that can uphold their charade for six month but I would say that’s an exception.
Back in university, most of the students in my Chemistry course had A-Bs (grades were published publicly). The final for the course though was set up by some national body (in the US), and all but a few in the class got no higher than a D. Why? Because the national test was reflective of what students actually learned. The typical university multiple-choice test just self-selected good test takers. I myself got in the habit of only attending certain classes once a month because I knew how to game the tests and still walk away with an A-B average (e.g. have a good idea of what will be tested, know the material well enough that you can eliminate 50% of the false answers, and then make an educated guess on the rest.)
The same is true in hiring. It can be easily gamed if you don't have a great interview process (most companies don't). Even worse, part of that is by necessity. Each candidate has a different set of experiences, but the interview is made to be as routine and consistent as possible to weed out any potential biases (e.g. candidate given purposefully hard question or colored feedback because interviewer didn't like them). To truly vet a candidate, you would need situational questions and feedback, like they quickly glossed over some part of the question, so I'm going to go off-script and drill down into this area. Big companies especially run far away from that due to risk of discrimination lawsuits.
The reason "fire quickly" may be appealing advice to some is that solving problems takes effort without a clear guarantee of return, and leaders usually end up trying easy solutions that diffuse blame or create the illusion that something has changed. Then they wonder why productivity is not up or why employee sentiment is middleing.
I also wonder what their actual competitive advantage was. My guess is Dalio himself had a good way to think about economic questions, and that they used not-too-simplified computer modeling before most others.
At the end of the day, startups are run by people, who generally prefer to work with their friends, avoid conflict, etc. There's no great mystery. The mystery is when things work well.
And another time, seen a less technical leader step in, see engineers around me roll their eyes a couple of times at the lady (with maybe a smidge of male chauvinism blended in), but then see her actually fire bad hires, hire star players, and get everyone to align their priorities so they could be productive. Leadership is a very different job from the kind of technical excellence that too often gets rewarded by promotions (vs raises or bonuses).
My last industry job saw the company implode from this cycle as everyone got pissed off and left the company. My old ex co-worker sent me a letter from the CEO last week saying layoffs were starting because revenues were down and they keep losing clients...
Having been there too, I feel like this is another recipe for disaster. Technical management needs to be able to make calls on escalations — that's in fact one of their main jobs — and when they don't have the depth of knowledge to make the call on merit, they make it on rash impulse, or favoritism, or (perhaps worst of all) don't make the call and let issues fester.
Academic science is pretty much designed this way.
You get a faculty job based on your brilliant work as an IC (i.e., first author papers) but running a research group is a totally different skill set—-and often one people get very little training for.
Also, oh my do I ever have an extremely similar experience of an IC-type engineer going into a leadership position and trying to "engineer" it: put all teams, sprints, tech visions, growth frameworks, etc. in huge spreadsheets. I look back in jest now, lessons to be learned!
In other words, I don't think you avoid these, I think you understand they're coming and accept the trade off, making sure it's worth the issues you invite when you do have to promote those engineers/non-technical people, for example.
If a key engineer leaves, you lose a _lot_ more than 2-300k.
In opportunity cost, you lose tens of millions, possibly.
What I haven’t seen work is (which is what I think you’re describing more specifically) bringing on new hires or contractors to a project in flight in an attempt to deliver it more quickly. That’s where we get into Mythical Man Month territory.
I've seen how small dynamics resulting from individual personalities and nuances of org structure have led to massive dysfunction and productivity loss, even though everyone was well intentioned and doing their job to the best of their ability. I could list out hundreds of behavioral "flaws" that individuals exhibit, but there's no way to fix them all directly, good engineering can't be done by top-down edict and central planning. Instead, you need a critical mass of people, including engineers on the ground, with a good end-to-end understanding of the product and business so that micro-decisions can be suitably informed by the big picture, and the right concerns can be escalated for leadership attention. You need to be able to weigh the cost of product, design, legal, financial, support, security, and operations across both short and long-term to make the right decisions. This is only possible with a high degree of mutual trust and safety for experts to voice their opinion and find the right tradeoffs. It's very easy for egos and personality conflicts to come in the way, hence the need for maturity in leadership. Balancing a pencil on its nib is not a bad analogy.
The surprising/unfortunate thing is that dysfunctional unproductive organizations can survive and even thrive. There isn't an obvious cause and effect and the time it takes until effects are seen can be measured in years or decades.
1. Writing-intensive hiring process
This is controversial for some, but I have the personal advantage of having previously made The Worst Hire of All Time -- one that forced me to accept that using resume + interviews as the sole (or even primary) criteria left me extraordinarily vulnerable to Problem Engineers. We ask candidates not just for a portfolio of their work (and analysis samples and so on), but also ask them values-based questions[0] -- the answers to which are astonishingly revealing. Our review of candidate materials constitutes the bulk of our hiring process.
2. Transparent compensation
Another one that is surely controversial, but in my professional experience, an amazing number of anti-patterns arise from the scramble compensation -- and usually not for itself per se (that is, not for the marginal dollars), but rather for what it represents in terms of validation, power and so on. Making compensation transparent forces some measure of organizational health -- to say nothing for the bright light it shines on any institutionalized inequities.
3. Uniform compensation
One that even more people will find controversial. ;) When we wrote our blog piece on this 2+ years ago[1], we assumed that it wouldn't last as long as it has -- but it honestly is more important to us now than ever before. Especially as we go to expand the team with roles that are often less well compensated (e.g., customer-facing roles), the fact that we explicitly compensate them as well as everyone else allows us to attract extraordinary folks to the company. We still don't know if this is going to last forever, but we have seen so many incredibly benefits from it that we have stopped burdening it with asterisks.
4. Very, very careful hiring
We are deliberately lean. We add people to the company very carefully, and we have no one inside the company who is incentivized by the size of their team (see #3, above!). When we add people, we keep a sharp eye on versatility and intrinsic motivation. This allows us to do more with relatively fewer people -- helping us avoid the foot-guns you've outlined. That said, it is also not without side-effects: a consequence of this is that we are extraordinarily selective, which means we have many more people that want to work at Oxide than we can reasonably accommodate -- and it can be really, really hard to turn down someone who you think will likely be successful!
[0] https://docs.google.com/document/d/1Xtofg-fMQfZoq8Y3oSAKjEgD...
[1] https://oxide.computer/blog/compensation-as-a-reflection-of-...
Big +1 for #1. A brilliant IC that has an impressive contribution history tells only a small fraction of the story. Skeletons may lay behind that green square matrix!
Also big +1 for #4. It may slow growth for some start-ups, but I think it's always better in the long term if hiring is deep, versus shallow.
As for compensation, those certainly are controversial. I believe in honesty, but your extent of it is quite...towards one end of the spectrum? Certainly interesting.
Isn't part of the issue that early on in a start-up, everyone is indispensable, and often that comes with putting in extra hours and going the "extra mile" for the viability of the company?
When you are over 35, 30 even, you are much more likely to have a spouse, children, etc., and all these command more of your time that the business wants to capitalize on.
Personally, I've seen some real rock-star engineers both at 20 and at 40, however more often than not for different reasons. Honestly, not once have I ever learned a decent life lesson from engineers around my age (I'de say I'm on the younger side), however it's been several highly memorable times that an engineer on the older side has pulled me away, given me some real hard-hitting, incredibly valuable engineering and life lessons, and changed my career and sometimes life for the better.
It's a complex world!
There seems to be a strong culture in American companies, and especially in startups, of rewarding heroic efforts. But if I see people putting in heroic efforts to get things done I tend to look for ways to not need those efforts in the future.
Good experienced engineers can help ensure that you don’t keep having to go that extra mile to get the job done in the first place.
Im a bit anxious and introverted and thus like to get my part done and focus on other things.
This always results in rest of the team losing will to go far and beyond.
I dont know what to do about it, beside aknowledging it exists.
Do you say that ppl like me should simply quit and go working at sewege?
I dont think I like that idea. So what can I do if thats just how I am ? I cant seem to change how others see ppl like me.
Most things are not written in stone. You can probably change even if it's not comfortable to do so. Maybe a different role or organization would be a better fit. But typically just getting your part done and moving on isn't the best fit for a lot of jobs and, even if you work for yourself, you probably even have more interactions with clients at that point.
If it's unexplainable, or the majority doesn't accept it, move on: change your ways or accept they are going to see you as such.
1. "The extent to which you publicly complain about something should be proportional to the robustness of your solution and your confidence in it."
2. If you think things need to be done better, lead by example. I've found that you will be hated for saying things are bad, but loved for proving how things can be good (by example).
3. Note down your concerns (Notion is free!). Wait on them, then talk about them >=1 day later if you still feel like they are valid.
4. Ensure you have enough employable skills on the side so that you can jump ship if the company or your place within it is totally DOA.
Unfortunately Im not a rockstar engineer and stuff takes me more time. I care a lot about maintainability, so writing docs or good explanations to design decisions simply take time.
As you can guess we often dont have that time in the industry thus most things look like they look.
My biggest issue right now is communicating those findings.
Curse of things seeming too obvious, trivial or simply requiring more time.
To me, a problem engineer is someone who blocks the discussion, or that any solution needs to fit the specs of what the problem engineer wants, even before anyone has outlined what the issues are. Basically someone everyone walks on eggshells around. Anyone who breaks collaboration, team work, and especially anyone who ignores good engineering practices just because that makes that specific person happy... Is a problem.. for all the engineers.
You take a little extra time, that's fine. You're taking that time to do good documentation, or writing higher quality code.. you're an engineer, that's what I expect. Higher quality code and better documentation helps boost velocity in so many ways. You're doing yourself, and everyone around you a good service.
Don't beat yourself up.
> This always results in rest of the team losing will to go far and beyond.
The logic chain here is not very clear, I'm wondering if you actually understand what's going on.
Then they start looking at the app and questioning every decision calling everything they don't have context on "technical debt"
I've seen it a few times. I told a new VP of Eng he was being asinine because he wasn't there for the original problem, decision, or timeline and saying we made a bad call is just showing ignorance.
Thankfully, He pulled me aside later to thank me and asked for more background on it. After hearing the whole story he agreed. We did the right thing.
Now, that could have gone the other way. And I've seen it happen. When it does, it sucks.
Also, wow, that took some courage. Personally, I deeply value this way of direct communication when everybody feels free to speak up when things go wrong, and nobody has precious egos they feel need protecting.
And for 4, the opposite is even worse, aka "no management". So when you develop something but it turns out the outcome was not needed or in a different way.
A classical example, which I've seen before, is a cowboy coder who can be a useful asset in the very early stages, but who later demonstrates a total lack of teamwork ability.
Such people are even worse than bad new hires because they have a certain clout with management who is therefore more willing to turn a blind eye.
Scapegoat mechanism.
1. Too-technical leader realizes they aren't fit for purpose, perhaps due to indicators like stress, missed targets, team morale, etc.
2. Higher-up leadership notices aforementioned issues and give them the ultimatum: leave or side-/demote to more technically-focused role.
However, I totally agree with your point. Also, sorry that happened to you!
I recall a teamwork study that found few if any superstar team players can really make any given team better, but they did discover that one bad apple can easily kill a team’s productivity, happiness and etc.
I once worked for a company that was really great about “no finger pointing” and lots of trust of employees to do the right thing.
We acquired a small troubled company along the way, they were a mess with finger pointing and empty accusations. Within a year they had infected our entire department:(
"I saw X on his Reel telling changing everything in our frontend to purely Coffescript will be more durable" is a kind of advice which does not bode well generally
The arguments articulated are entirely false: ex. N^2 communications. This is reductionist and absurd. No team depends on every team in the org. Their domain is often fairly small and their adjacent teams extremely finite. The exception are “core teams” (which have been my specialty). However a well functioning core team doesn’t have n^2 communication overhead - they act as a concentrator and teams come to them - which is N. N can be large, in which case effective triage is crucial, but so is automation and self service, coherent platforms that are self documented, and some folks on the team that really really enjoy teaching.
I’ve burned out though on building these teams. It’s absurdly hard work on management. But management is supposed to be absurdly hard work. My next gig is as a distinguished engineer at a late stage startup - back to the roots for a while.
I’d would disagree - I had the exact experience that the autor described. But you are right on this point
> it’s entirely possible to build that intoxicating environment anywhere. It’s more about having a dynamic leader who assembles teams into collections of individuals who know precisely why they are there
I still think it’s related to size and bad incentives. I heard stories of people at FAANG that said that department X is like a startup but Y is soul sucking boredom
Specifically this is entirely false due to the existence of X:
> Is this preventable? I think not.
I> f you look closely, all these problems fundamentally come from:
> Decreased skin in the game, which reduces team alignment
> N^2 communication, which creates need for managers and specialization, which reduces individual agency and breadth of learning
> Reduced risk tolerance, which slows everything down
> #1 and #2 are inevitable results of having more employees. #3 is an inevitable result of having more users, partially due to government regulation.
I think a large company enables Y departments to exist without the company imploding immediately. Survivorship bias ensures most startups that last longer than a short amount of time to appear like X, when I know there are plenty of dysfunctional startups (a friend tells me Ghost is a great example). But due to the economics of a startup they evaporate quickly. In a large company Y departments can limp along for a long time or indefinitely because Y’s function needs to exist and the company can afford for it to suck ass to work there without it going out of business. However invariably X departments in large corporations are where the magic happens, where people want to work, and what moves the large enterprise forward.
I’d also note that not everyone wants to work in a startup environment or are able to. Many engineers got into it for a good paycheck and don’t have much interest in anything particularly dynamic or engaging. They’re perfectly happy committing once a month and sitting in meetings. That’s not me, but I can also see when you build an army, you can’t build it out of special forces only.
So, instead of saying X can’t exist, when it clearly does, I think it’s more useful to say you should be careful where you work in a large company and seek out actively the X departments by learning what Y departments look like and how to spot an X department.
Likewise, most of the startups I worked at were exciting by not intoxicating. They were relatively banal in their goals (change the world through prestige makeup e-commerce or something), their technology modern but not innovative, and the teams tight but not always coherent like a well oiled machine.
being able to apply them effectively can really be really frustrating though. and there is always the danger that your two year development arc will be demolished by 'shifts in overall strategy' or 'belt tightening' or a reorg.
I'm not persuaded anyone is in a position to know that there's only one way for people to enjoy work, and to know what that one way is.
Return to office is a current example. My strategy here is that people know how they work best and that’s up to them. We have ways of getting together and collaborating, asynchronously and synchronously, and don’t enforce a mandatory hybrid approach. I encourage the team to intentionally meet up in person regularly, and the team self organizes synchronous in person time on a regular basis. I set up a drop in zoom room that’s always signed in on a conference room and people drop in for adhoc stuff all the time. Some people stay signed in all day on the conference room. I make sure ticketing systems, chats, and other mediums are well used. I regularly talk to people about their well being to be sure folks remote are OK, as sometimes fully remote can mean fully depressed.
Compare this to a “standard” managers approach. “We will be in the office three days a week, with a mandatory day on Wednesday. This is necessary because people work best in person but we want to give people flexibility because we know employees value that. Failure to comply will result in performance review impact. Our company’s culture is built on in person interactions. We do this for the children.”
Typical management is about treating people as butts in seat filling a role with a define set of measurable performance metrics - aka conforming cogs in a machine. that is the method that assumes there is one way for people to enjoy work, and knowing what that one way is.
My way is acknowledging I don’t know any one way that’s best, and specifically, there is no one way for people to enjoy work. It’s my job as a manger to figure out what each and every person on my teams way is, and to do my damnedest to create that environment for each individual. I work hard to hire managers that will also do this, and I meet randomly with people at all levels of my org to be sure they’re being treated like this by the people on my direct team.
The down side for me is I stick out like a sore thumb in the great cog machine of other managers. They don’t understand what I’m doing, it bothers them, and they feel like I’m getting some sort of preferential treatment. And maybe I am, because my organizations are almost always considerably more effective and successful than the rest of the org, so we get enormous latitude. But shielding my people from the game of thrones is exhausting - more exhausting than the rest of my job.
All this said, I’m not the only one who does this. I have encountered a lot of leaders that do this. They’re the ones people want to work for. That’s why I paid attention to what my early leaders were doing and emulated it - the one way is there is no one way ;-)
How about people who don't want to work for a "manager"? Where should we go?
Maybe I'm late in my comment but, I have two questions if you do not mind.
If you have a manager that is not quite like that, but probably somewhere in their mind would agree to that stance, how could one push that person to that direction? I have my manager (and a friend) in mind, gives good autonomy and let everyone work in the way they feel is optimal. But it also most often lead to aimless or fuzzy goal setting, a lot of ambiguity. My guess is that the thing lacking is the inquisitive nature; like you mentioned you do, he does not check in on people how they feel, what's blocking them, what's suboptimal for them. He simply check in for an update on progress and set meeting to update what he's up to.
Is there any good material or pointer that could make someone manage more like that?
I also informally manage one person due language barrier and the question also applies to me.
This is an excellent point. In my experience a majority of people value stability and predictability in their lives. They would rather have someone tell them what to do within well-structured bounds than contend with the ambiguity inherent in an early stage startup, or with solving massive product/business/technical problems with too many stakeholders to fit in a room.
I think the challenge is the people with the intrinsic motivation and stomach for the ambiguity can struggle to grow in large corporate environments that are full of good soldiers who stay in their lane. It's not uncommon for entry level ICs to come in with 3 or 4 layers of management between them and VP level, and then become pawns in middle management games, or stuck reporting to Peter-principle cases who teach them all the wrong lessons.
This is why I was really glad to have worked in startups when I was young, to really get exposed to all the moving parts and fundamentals of an operating business. It's just much easier to learn when the big picture is more legible, you have the latitude to iterate faster, make more mistakes, and see first-hand how things scale (or don't!) from the ground up. These days I see too many ivy league grad ex-FAANG who have all kinds of ideas of best practices with no understanding of why things are done that way at the tech giants, and extremely limited ability to reason from first principles about what makes sense in a different context.
From the article:
"You can’t just work on whatever you want; coordinating would be an O(N^2) communication mess."
Evidently, you're agreeing with the article. So which part is false then?
I also disagree with all the other points they make about large companies. Not that there exists teams in large companies that suffer these issues, but that there exists no teams in large companies that don’t have these issues. I further extended it to say startups also aren’t without issue, and many are totally screwed up. They just don’t last very long.
I think you’re being unnecessarily harsh and reductionist of the article’s arguments. I’ve experienced exactly this failure mode in startups.
The counter-example you described is an example of properly managing the N^2 complexity, not an example of it not existing.
I would note that the author categorically says it’s not possible for a startup like environment to exist in a large company. That’s what I disagree with.
I agree with your point that a large org does not guarantee what the author claims. The author claims that the organizational friction can be measured by productivity, but you recognize culture as the better diagnostic criterion. The big O metaphor does not extend well to the argument, as you point out.
I'm looking for hard hitting interview questions so I don't waste my time on "soul sucking" positions.
A few things I’ve noticed that might help:
* ask people in the team what they do and how they work, and how the team helps them work best. If they answer “oh I’m a programmer 2” and have wishy washy answers on the rest, that’s a bad sign. They’re being managed by a “by the book” manager. If they describe some complex role that isn’t out of the HR leveling guide, and a unique way of working that’s accommodated by the team, that’s a good sign. If you hear everyone in the team describing a role that’s unique and tailored to them, then that’s a great sign.
* this is controversial but I think any org that slavishly follows modern day agile / scrum can not be dynamic. Nothing more to say other than back in the 90’s Bay Area hanging with thought works and those folks, agile was something very different than today.
* the manager themselves should be very open to questions with thoughtful answers that aren’t rote. They should likewise spend more time understanding you than usual. They should be assessing your fit in their team - do you fill a gap? Do your weaknesses complement others strengths? Are you looking to turn the crank or are you looking to innovate?
Also, be aware of yourself. Not everyone does well in a dynamic environment. It’s more chaotic and less structured. If you like clearly defined and regimented work, go for the clearly defined and regimented team.
Idk why people don’t like the question, I’m actually looking for a developed model/ paradigm around this concept. No sense reinventing the wheel.
I think the best way to scale is to build processes that reinforce the traits you want in a team, and hire managers who understand teams are collections of unique individuals, as is the manager. The manager should be free to manage their people in a way that optimizes delivery and reduces churn. Between teams there should be a very high bar for quality of communication and delivery. The culture of the organization should be built around respect for each person hired and a relentless focus on ensuring individuals end up in teams that they are effective in and are therefore maximally effective as teams.
The startup that does that should absolutely be called "Boys from Brazil".
Now, if it wasn't for all that, there's still the problem that, from personal experience, most employees don't invest as much energy as a founder would - which is perfectly understandable. As the founder to employee ratio gets smaller, you find yourself hiring three people to do a job you could do yourself, just to make sure it gets done reliably and timely. In a smaller startup, early hires are more similar to founders because they're close to them and stand to gain a lot if the company succeeds and grows. For employee #213, they sell 40 hours of work per week and their fixed salary is all they really stand to get out of it.
So while I like the romantic idea of having a large company comprised of multiple independent startups, I haven't seen that work and I can barely picture it work :( One can get somewhat close to this with the right organisational structure (e.g. sacrificing efficiencies of scale for team autonomy where feasible), but it's not even close to the same thing.
It also eventually became a monolithic org.
Same with Valve and flat org structures.
Once something scales enough it becomes the blob, like everything else.
In lots of other (worse) companies they had huge teams delivering a lot less.
The fruits of labor grow ever higher. By which I mean: In the early days of a startup the problem space is ripe and plentiful, the impact you can have is outsized, and the pool of people with which to share it is the smallest it will ever be.
As a company grows, all three of these factors are subject to strain. The problem space becomes sparser, outsized impacts are recognised further up the ever-growing hierarchy, and the pool of people with which you're sharing your impact becomes larger and recognition becomes shorter lived and more diffuse.
Rands has a great article on that topic well worth reading: https://randsinrepose.com/archives/stables-and-volatiles/
It matches my experience with startups experiencing challenges as they grow.
This is painfully on point.
After the product shipped, the need to support customers and sales definitely slowed things down. Our fantastic VP of Engineering became CTO, and hired a middle management moron as VP, and that was the end of the good times. The new VP then hired "team players" instead of good engineers, rewarded loyalty over competence, and hilarity ensued. And then we were acquired.
My fun startup-like time was reduced to ONE WEEK per year -- the week between Christmas and New Year. The rest of the year, all the layers of management were present and doing what they do. But that one week of the year, nobody was around, so I found myself much freer to do what I thought was important. And that wasn't just self indulgence, (I mean, it was, but not only), and having an alpha version of a shiny new thing forced the organization to go along.
Hardest lesson I learned when I got promoted to upper leadership positions: Hiring middle management is incredibly hard. The number of absolute sharks in the candidate pool is wild. People will show up, sense that you’re new, and tell you everything you want to hear about how they’ll solve all of your problems. They’ll claim they’ve done exactly what you need at every prior company they’ve worked for. They’ll flatter you and tell you they’ve been waiting for an opportunity to work or someone like you.
Imagine the schmooze-iest IC candidate you’ve ever interviewed, but 5 times better and harder to see through. These people have charisma you wouldn’t believe (when you’re new) but they don’t really care to do the hard work. They just want to worm their way into the company and then extract. They’ll extract compensation for themselves, extract headcount to hire their friends and build an empire, extract compensation for their friends (who will return the favor at a future company), extract lucrative contracts for their contracting buddies (where they might even be in on the take). Years can pass before people realize they haven’t really done much despite producing a flurry of activity. They may have even driven away the good employees who got tired of their BS or were pushed out for identifying their incompetence.
I was unlucky-lucky to watch this play out under a fast rising CEO at a lesser known unicorn. The number of sharks who showed up and charmed him after he became successful was unbelievable. The same thing plays out with less experienced middle managers who get thrust into high-budget positions at smaller companies.
Thanks for the spot-on description. You are right, the more money involved, the sleazier it gets. It reminds me of the book: https://www.goodreads.com/book/show/18905630-hedgehogging
A highly successful hedge fund with a highly successful group got one of these senior managers and they managed to spends hundreds of millions on crazy ideas (not my money syndrome) while the people who actually built the machine originally were sidelined.
1) Don’t hire mediocre people. We knew this new VP was terrible. But the guy being promoted was impatient and wanted someone to take over.
2) Upper management and the board must not forget the reason why the company exists, and put profit ahead of the mission. Otherwise you end up with 1980s GM, or the Boeing 800 Max. Read this speech by Dave Packard, a founder of HP. https://sriramk.com/memos/packard.pdf. A very clear, concise summary of how to run a company, and how to think about your job. And anyone who has experienced corporate America can immediately see that nearly no companies are run this way.
https://en.wikipedia.org/wiki/Downfall:_The_Case_Against_Boe...
The secret sauce is how a startup goes past this headcount. Ideally many software companies quite honestly don't need more than 150 people!
Dunbar's number is a suggested cognitive limit to the number of people with whom one can maintain stable social relationships—relationships in which an individual knows who each person is and how each person relates to every other person.
https://en.wikipedia.org/wiki/Dunbar%27s_number
The world scaled past this millenia ago. You can scale your company past it too.
The value of this recommendation cannot be overstated. Put another way: only hire when there is no other way to solve a problem, and even then do so carefully. Be willing to elongate timelines substantially as a result of this practice; the medium- and long-term costs of over hiring are much worse than the cost of later launches.
Unfortunately, the funding environment and growth expectations for startups often incentivize the opposite behavior.
I had seriously underestimated how bad the hiring situation for startups in SV had become though, and a lot of people are using them as a bench to either recover from FAANG burnout or to put on a resume while training for interviews. With that dynamic a hiring manager is going to end up leaning towards being too optimistic because you can't risk not noticing the few that can build your company. You just need to be aggressive about removing those that aren't working out.
Are these local/provincial development funds that need to show job growth?
Any case where "we need to hire someone in the worst way" seems to deliver exactly that.
I regarded many of these subsidies as killing the business dead before it had even started, but missed that if you can keep it going for two years at least the managers escape with some decent money.
Perhaps the part I agreed with the most is "don't hire too fast". It's difficult for me to think of a startup (or, honestly, any company) that failed or experienced pains from hiring too slow, but I can think of tons of problems (often from personal experience) from hiring too fast.
One piece I couldn't help roll my eyes at is the "don't use Jira" bit - like the sun rising in the East, bashing on Jira is the favorite past time of engineers. Depending on your type of startup, Jira may be a great tool for the job. E.g. if your company has lots of different workflows it needs to support, it can be very easy to waste a ton of time due to "dropped balls" if things aren't tracked well and issue ownership isn't explicitly clear. Of course, it's easy to waste a ton of time over-complicating Jira with a million unnecessary issue states, but IMO Jira has made it much easier for small teams to use it and be productive quickly (i.e. team-based projects). I'm also not saying Jira is the best tool to start with (my last startup stated with Trello and it worked well), but once you get into production and have a lot of operational issues to manage and prioritize alongside new feature development, you're likely going to need some Jira-like tool to keep everyone aligned and informed.
1. Toxic team members who can't be fired. These people will reduce morale down to zero and force your best people to leave. In one case it was the CEOs long-time friend, and in the other case it was one of the technical founders. If you find yourself as an employee in a similar situation, then go ahead and pack things up because it will never get better.
2. Selling to Fortune 500s without investing in a sales team. Basically, we built it and they never came because B2B at this level is much much different than B2C. So if this is your move then your sales team should be bigger than your engineering team by at least 2x.
3. Toxic team members in recruiting positions. I once worked with a business partner whose recruiting strategy boiled down to bullying people into joining the company. After a year's time we had a solid 12 person engineering team while the business team was exactly the exact same as when we started.
4. Focusing too much on writing code and not enough on building relationships in your domain. When it comes time to sell, you will need to reach out to someone, so start nurturing relationships early.
1. Go from "more to gain" to "more to loose" thinking.
2. Growth slows and either ethics or vision are sacrificed.
Both of these are natural, and the people will have to change. In most companies, eventually growth stops (at least growth driven by the original vision). Eventually you really do have more to lose than gain. The signal these transitions are happening can be spotted by proliferation of guardrails and process controls, and a cultural change towards risk aversion. The drive is to make everything predictable, controlled and safe. The focus is no longer on acceleration, and is on momentum.
A comment below says "Go from "more to gain" to "more to loose[sic]" thinking.", which summarizes the mentality of my org. If anything, it's not "more to lose", but "everything to lose", which saddens me greatly.
There is no skin in the game as there's no stock options nor revenue share (founders want to keep it all for themselves ofc) and you can be fired on a dime without any due process, software proprietary and closed source of course, so you can't use it for your own stuff either.
Only the PM spends hours on the phone talking to users and then gives you a direct task to work on. The task is always max priority and comes in randomly so you must drop whatever you were doing before to immediately implement it, usually getting the next one before the previous one is even done, making sure that critical tasks inevitably get forgotten and end up at the bottom of the backlog, leading to catastrophic software cohesiveness.
Working on something you want? Haha, right. Do what you're paid to do, no exceptions. Coworkers of course all remote or hybrid so there's no meaningful cooperation and endless Jira review meetings to tell everyone what to do. Daily progress reports of course, gotta make sure people aren't slacking.
The result is 100% turnover.
Problem solved? Just be sure to leave a note online for potential hires to avoid the company.
Meanwhile your sales team colleagues get their incentives paid out right away, in the very next quarter, and instead of equity lottery tickets it’s just cash.
I’d like to see engineering get some of the types of cash incentives that sales teams get. Perhaps the only reason they don’t is because it’s too hard to come up with metrics to base commission on. Instead, they rely on equity awards even though the value of the company is often quite detached from the quality of the software.
The fun of a startup is nice but it’s probably not worth it if you’re getting below-market compensation, crappy healthcare, long hours, and the IOU of an equity stake that’s probably crafted by financiers to screw over regular employees.
Here is a specific example: schedule the company holiday party the night before the one major software release of the year so all the engineers are sitting at the party with heavy GPU laptops coding away on build issues after bug fixes.
Here is another specific example: recently hired workers on the business side become Directors and VPs three out of undergrad while engineers waiting for years for promotions are not given any.
Except fewer of your users will have jobs because the AI multiplier means smaller teams. So your addressable matter will shrink. So another race to the bottom?
I'm sure we'll work it out right..
Reminds me of the Mass Effect games, where AI is essentially outlawed (because they revolted against the humans of course, but I can picture less scifi-ish reasons in the real world). I'm sure they're still allowed to use pathfinding algorithms and such, so they probably defined a level of net negative (to society) AI and just regulated that. Starships for example are manually piloted (surely with intelligent support systems and basic auto pilots) IIRC.
Or let me raise a The Culture argument, where computers/AI is hyper-advanced, AIs are friends, and no regulation whatsoever is needed.
I mean real, observable things, not theories.
Human attention span is a finite resource (we can only do so much in one life), and tech startups can consume a lot of that for relatively little payoff. Building a successful startup is like solving the bitcoin hash on your first few cycles. The barrier for entry is low, but you can hit it big (and consume a lot of cheap, finite* power too).
The payoff is worth the risk since our communication technology is nascent and underexplored. We have an abundance of time right now because of what tech has done for us, but the cultural and environmental costs of growing tech are not well understood.
Use of attention span is difficult to measure right now, but that could change in the coming decades. That said, parent comment seems to use "tragedy of the commons" as a stand in for "human nature."
Except more of your users will have jobs because the AI multiplier means new opportunities to provide cheaper services available to more businesses, new companies that weren't economical before will be founded, entire new markets and whole new professions will be created. So your addressable market will exponentially grow. So another bull run?
I'm sure we will work it out right.
I understand theirs optimism (and pessimism), but optimism in and of itself doesn't make something true.
The products of these new vendors are now available to many big customers in a major city (a single one where we are doing a pilot), and the vendors are reporting they are already getting 2 times the volume of orders they used to get. They didn't even have the means to deliver that much product before - now they are able to do it because their logistics are handled for them by my client (economy-of-scale advantages) instead of them DIYing it, and they use the freed time to do more of their main business.
The customers are super happy because now they're getting fresh food produce from local farmers just days after it's been actually produced, which increases the quality of their products (food in restaurants/catering, usually) and they are already getting significantly more positive reviews thanks to that, which brings them even more new business of higher value. And funnily enough, the products they are getting are cheaper than what they got before, even though the quality is incomparable.
AI is a huge win for everybody involved:
- My client is no longer forced to deal only with the biggest vendors.
- The employees who used to do sales/onboarding, vendor/customer support and product catalog management are still doing it, only now they're handling 10 times more products from 3 times more vendors, and focus on special and more interesting cases instead of doing grunt work.
- The vendors have gained more customers than they ever dreamed of, make more money per unit and have much cheaper logistics that they don't need to think about nor spend their time on (we're talking about guys who used to hop in a truck themselves to deliver their stuff).
- The customers are getting much better quality for lower price per unit. There's also much more product categories they can choose from now.
- It's more environmentally friendly and supports the local economy.
The goal of the company was to provide standard ways to calibrate engineer levels for promotions and performance management.
Guess what happened: Most managers started rating engineers on exactly that rubric. If you miss something in the rubric, you get a lower rating. So engineers started following the rubric precisely. Which meant, every senior engineer spent more time on managing 2-3 junior engineers. Wrote at least 1 RFC every 6 months. And basically checked boxes on the sheet so as to not miss out anything during a performance review.
Nothing got delivered from the team. Morale in the team dropped. And nothing really mattered except the career ladder document.
Engineers spent more time managing the career ladder document than actually delivering anything.
Managers spent more time rating people than actually delivering anything.
Features were half-assed, customers started getting frustrated. And clueless upper management started putting more pressure on engineers instead of looking at themselves and asking how they can improve processes.
Early on, you joined the company knowing exactly who you get to work with. You were probably involved in hiring for a while too.
But at some point 100+, you’re put on a team with people you’d never met, never hired, and might not vibe with.
A direct, “let’s hit the ground running” attitude runs up against a ex-FAANG person with softer personality, prefers a “compliment sandwich”, and wants to write a 50 page technical specification before getting started.
Not to mention the deliverability of software gets affected negatively with more and more contributors to code and things becoming "legacy". More time gets wasted on managing tasks, tickets, meetings, project management, and simple things end up taking exponentially longer now. I feel it's basically the killing of fun in running a startup.
I guess the lesson to be learned is to be very careful when scaling up your organization. Past a certain point change becomes very difficult. I.e. only grow headcount above 100 when you're certain about product market fit.
If a customer is large enough, and their pockets deep enough, you can absolutely justify building what is good only for that customer, and shipping it only to that customer. Keep that branch separate from the general-purpose product you're selling to the pleebs.
Perhaps, though, if you only hire when you need, you can be more competitive with pay.
The product that was the breakthrough is likely (somewhat) wonderful and loved (or at least used) by many and generates the bulk of your revenue. However we all know that solution that has gotten you this far has problems and there are many ideas to be able to go to the next level.
But any idea that is seen to take away from the focus of that main revenue generator will be fought unless there is VERY strong leadership. Anything "new" will impact marketing budgets, Sales incentives and revenue goals, threaten those who are working on the "legacy" project, not to mention external forces who are only interested in the bottom line revenue and EBITDA numbers for the next quarter, not the next 1, 3 and 5 years.
I've had this happen at 2 startups I've been through. Both had successful exits, but could've been more and build a much better future path for themselves.
Now trying to avoid this in my current home.
What if Apple had stopped the iPhone for fear of it cannibalizing* the iPod line of products revenue? * https://www.imd.org/research-knowledge/economics/articles/ap...
I particularly don't understand why an organization would hire a PM for an internal infra team. It's like hiring a PM for Go to design the features of Go. Funny enough, executives from Google love to do this kind of things. I'd thought Google's infra engineers would be perfectly capable of driving the features of their infra services.
It is preventable.
I built an ISP in mid-90s, a digital agency in late 90s, another digital agency and a streaming CDN (world's first VDN) in 00s, as well as worked as chief architect for cloud at world's largest hedge fund and CTO of world's second largest bank. I'm currently an entrepreneur again, co-founding and building a hedge fund from scratch.
My experiences across these, particularly at the digital agencies (where I got to help hundreds of clients go through growth) and the mega bank (where I got to see how things working when small can also work somewhere global), tell me all the goodness from the initial list can be built into the operating model, with a couple caveats.
These are hard[^1]:
1. No domain versus technology divide. If you hear "The business wants..." or "I need I.T. to..." it's not going to work. At a fintech, for instance, all teams should have both fin and tech on the team, owning their outcomes.
2. No command and control managerialism better suited for piecework than building. No project managers. No scrum-masters. Importantly, and apparently pure heresy: no projects.[^2]
Instead of projects, think, what should we do better?
Instead of controlling for budgets and delivery dates, control for focus (like priorities but mostly about saying "no" to things instead of "yes" to everything with stack ranking) and outcome value (e.g. RoI or RoE instead of hitting dates). Then you can manage the money as investments in teams delivering outcomes, instead of budgets for projects.
Hitting dates well becomes easy and fun/rewarding when you scope using focus instead of pre-defining all (probably imperfect) requirements and you ensure teams are equipped with people (will, skill), and resources (tools, space) to own outcomes. (If people are called resources, run away.)
It is preventable, and I'm happy to talk live with anyone building a work management tool that is interested in our approach.
---
[^1]: see wicked problems: https://en.m.wikipedia.org/wiki/Wicked_problem
[^2]: You can do time-boxed work with an outcome. That could look a lot like a project. But the word “project” tends to bring with it a pile of practices that all kill the intrinsic motivation for building things you're proud of.
It's interesting even companies as smart as Linear (the Jira alternative, check out their Linear method pages for a lot of better than usual thinking) don't want to even listen why they should (and could just by allowing renaming a few terms in their tool) support a non-project-centric view of building your company and enjoying doing it.
Projects: the project comes in "on time and under budget" or is "late", but the work is fixed.
Time boxes: The difference is if you are targeting an RoE curve, you can decide when to continue investing in that or pivot to something else. You pick a date to re-evaluate. This is how VC work with startups.
You also make sure have minimum viable outcome well before that re-eval date, and then viable increments. It's effectively just CI/CD for outcomes!
I should mention that by running a video streaming VDN, in the 00s we carried the world's largest streaming events white labeled for other CDNs. TV deadlines are real: the Oscars, or the State of the Union address, are happening when they happen. So you can have to deliver outcomes in a time frame. The way to always always hit that, never miss it, is let the work within that outcome, the "definition of done" be the variable. Somewhere inside the effort is a minimum viable outcome. Ship that, then iterate until your date or additional effort is below your RoE bar.
Managers love to invent deadlines to "motivate" a team, and everyone pretends they don't know the deadlines are nonsense. Actual deadlines -- if you're not working, you're dead -- teach you a different way to work.
A project tries to fix both work and date, which doesn't work and is rarely on time.
A time box fixes the date, not the work. Iterative delivery always hits the date and generally works.
---
Using your weekend desk example:
You could want a wood inlay desk.
For the "job to be done", the desk has to support you doing work.
In this toy example, the wood inlay is a desired constraint, not a required constraint. Business analyst will still call "wood inlay" a requirement, even though that "requirement" might lot let you ship a viable desk within the weekend.
If you do the work project style, you might work the wood inlay for each panel before assembling them into a desk.
The problem is, until you assemble it, the desk isn't a desk, it can't do the job to be done. If inlay takes longer than you thought, because it's your first time doing it and you had to research and built a couple test panels to throw away, then when the weekend is over, you have no desk.
If you do it time-box style, and if "usable desk" is the required constraint, you might assemble the desk first, then do the inlay. Or you might design the desk where panels can be removed and inlaid whenever. Either way, if you ran out of weekend, you can already use the desk, just not fully inlaid.
Certainly, doing the inlay after assembly will require more effort.
So then ask yourself, was the deadline real, or was the inlay requirement real?
If you know in advance that desk with inlay is the absolute requirement, you're willing to take two weekends instead of one, so then the deadline wasn't real.
---
What's funny about this is, within a firm, everyone would jump on me and say the desk and the inlay are requirements.
But if you don't know how to build desks, and need a vendor to provide it, you suddenly become tolerant of the differences in soft and hard requirements.
Say you have to work from home, and you want a desk with inlay, but can't get one in time. You will iterate instead!
You'll work at a table (the minimum viable desk) immediately and for a while, then maybe iterate to an Ikea desk while the custom one is ordered and hand crafted, then iterate to your custom desk with inlay when it arrives, with the added flexibility of arranging shipping to deliver when it's most convenient.
If we handled work among groups internally the same way we understand we have to handle work among groups when we can't control them, companies would have a lot less jank.
It sounds like you prefer to work in an env where there are only fixed-time, variable scope projects. I like that better too.
The problem is the professional definition of project, which comes with project management practices and preconceptions.
Those are generally harmful, because they try to manage or control both time and resources needed to deliver unknowns in advance of an inherently discovery-based process that results in (re-)scoping as you learn:
https://en.wikipedia.org/wiki/Project_management_triangle
> It sounds like you prefer to work in an env where there are only fixed-time, variable scope projects. I like that better too.
I posit it's not just "prefer", it's reality. That all "projects" are in fact "fixed time, variable scope" in hindsight. In other words, "it takes as long as it takes" to uncover and ship a minimum viable scope for the "job to be done".
As an entrepreneur, it's preferable to create a workplace that acknowledges that reality up front, and designs the "way of working" for it.
As an engineer, it's preferable, as you note, to join one.
---
Some more musings:
The OP's post says work stops being fun. A key reason why is all the unfortunate beliefs, management overhead, and recrimination for practices trying to override reality and failing.
Small startups don't care. The cost of 5 people being wrong seems irrelevant compared to charging at the problem and getting it done, or finding out it doesn't work so you can pivot. How many "Show HN" are after a pivot? How many "Launch HN" for that matter?
Enterprises care. The cost of 500, or 5000, building the "wrong thing" seems unacceptable (even if less cost per person!), so big companies keep piling on layers of risk management that delay getting in touch with reality.
One reason they do this is the value of the outcome isn't clear. Perhaps it's political, perhaps it's make-work to keep someone's department full sized, perhaps it's a failure of imagination. So they develop scar tissue about shipping multi-year boondoggles that deliver no value. The problem was, it wasn't valuable in the first place, and if they'd just tried it out in the small and iterated, they'd have learned with fewer man-hours than all the planning.
For a great take on this, see Tom DeMarco (author of Peopleware) rethinking his entire stance on projects after 50 years(!) trying to tell people how to project-manage better:
https://www.computer.org/csdl/magazine/so/2011/06/mso2011060...
He even throws in the towel on estimation with the now famous phrase, "All projects that finish late have this one thing in common: they started late."
He effectively accepts reality: the needful is the needful, the value is the value, so if it's valuable you'll do what you have to do, just start already and get it done.
What I've found is, a big enterprise can understand this. The CEO can hold his business leaders accountable to telling the value that an effort should generate, the CFO can "venture capital" an appropriately sized investment in a fixed capacity team, and the team can focus to deliver value -- or offer a pivot -- before they run out of funding and can't raise another round.
If they're shipping well, and getting market traction, the business leader looks good, the CEO is happy, and the CFO can continue to invest. One neat thing with this is the remarkable "budget" predictability that comes with investing in teams instead of in projects. Control your capacity and focus, you'll always hit your expense numbers, with net higher RoE as a nice side effect. So not only are customers getting value early, boards and shareholders are impressed with "hitting the numbers".
So this solves that iron triangle.
By continually focusing in on shipping what brings high RoE, you can let "the business" pick any arbitrary amount of time (quarterly? annually?) to announce sets of new features as releases. You can keep teams steady and employed delivering instead of wastefully scaling up then laying off as if tacit knowledge loss didn't have a cost.
And people can feel good about building value they can see as they work.
Maybe if you sell to end users. If you have clients with SLAs, requirements etc and legal penalties for missing them, not working to delivery dates isn't going to work. Even in teams with projects, ensuring deadlines are met is still tricky.
https://news.ycombinator.com/item?id=37100090
Telling me "it isn't going to work" is why I call this approach "heresy".
By contrast, I've observed across every size firm from 1 to 150,000, it does.
Not necessarily. At the large companies I've worked at (>200 people), a UXR will drive the interview process with users, starting with compiling a list of questions from engineers, then conducting the interview sessions with users in which engineers can sit in, and then disseminating the insights and setting up a meeting to make the insights into a actionable engineering projects.
Working with UXRs is a dream, as they're trained to conduct interviews in an impartial way, leading to insights that are less biased and higher quality. Contrast to when I worked for startups and I or someone on my team would interview users, very often the feedback would end up contaminated because the interviewer would ask the wrong question, projected their biases into the questions, or even worse into the insights.
* The Mom Test: How to talk to customers & learn if your business is a good idea when everyone is lying to you
* How to Measure Anything: Finding the Value of Intangibles in Business.
Jira is a fine tool in and of itself, just don’t turn it into a religion.
What is the survival rate of companies <5years? What is the survival rate of companies >50 years? The author himself points out that as your organization grows, you become more risk-averse. You have more to lose, but that also means you have something.
When John Qian throws 60% of his total assets at a problem, you can get a few intoxicated engineers to work hard at it and have a lot of fun doing it. What if Amazon, or Home Depot, threw 60% of their assets at an entirely new idea every few months? It doesn't make any sense.
Startups fail all the time because they are doing risky things. Successful businesses take less risk and fail less often. You're taking a strategy that has proven to not work and saying it should work.
Oh cool, I can work super hard to make someone else a bunch of money! What an exciting prospect. At least let me put on some clown makeup first
It's something I've personally seen and have read about so many times. Some make it through this stage but it's extremely difficult because it requires a very different set of skills and experiences. It becomes less about grinding, which in theory is very simple to explain and encourage.
What.
How is an engineer deciding what to work on like this, even at a small startup?!
In fact, many of the best engineers are profoundly bad at figuring out what to work on.
Engineers should do engineering things at startups because nobody else can.
If you have a nonfounder engineer, that person for sure shouldn’t just be doing whatever it is they feel like doing. They need to allow the founders to drive.
The comment is wrong, both in theory and in practice.
The whole point is the founders have the eye, not as much so the engineers.
How do you organise the software development ?
What’s a great way to keep it exciting and fun and productive?