How to Lead Your Team When the House Is on Fire
peterszasz.com
peterszasz.com
Real wartime footing:
1. Direction and technical decisions are driven by priorities of board-level members and often arrive in email form late on Friday evening. The entire organisation is expected to pivot immediately. A new senior leadership team member starts scheduling daily read-outs on project progress, and half the organisation spends the weekend frantically hallucinating project plans into Google Sheets.
2. Engineering staff react with dull-eyed disbelief on Monday; they knew this was coming, because the same thing happened a month ago, and six weeks before that.
3. Emails come from HR that there are are new, even-more-labyrinthine approval processes for expenses, and shrinking budgets for anything not directly related to whatever the projet du jour, which will be fed enough to make it look like it's succeeding until the next Friday evening email kills it.
4. There is wide-spread burn-out across Engineering teams, and people are reduced to reactive, sarcastic automatons.
5. A creeping understanding seizes the better engineers that things cannot improve; they sign articles of Armistice, pretend to comply, and start interviewing elsewhere.
6. An email arrives on Friday night...
> Focus on the positive aspects of the job that can be taken for granted, like the opportunity to work on cutting-edge challenges, the company's still existing perks and benefits, the amazing team you have, the chance to work with a modern tech stack, or how your product is helping its users. Showing your team how you appreciate what's still good can help with morale.
If HN supported gifs, there'd be several in this spot.
Either way, the effect tends to be the same.
The fish rots from the head.
But you’re still cashing their paychecks right?
That model could work really well when done bottom-up, with individuals defining what they see as most important in their context and managers rolling that up into coherent strategies at each level as it goes up. Effectively, managers should be puzzling together what those closest to the product and customer find rather than forcing down goals and metrics.
Unfortunately companies don't work that way and leadership fundamentally doesn't trust their employees, especially employees they are a few layers away from in the org chart. OKRs ended up being just another name for leadership slamming goals down the org, no different than the Company Pillars I would see at Microsoft 15 years ago.
People want to believe the things that they do matter and are often willing to gussy up their jobs to make their contributions feel important, to make themselves feel important, to feel like the world needs them. It's the same thing that motivates mall security guards to dress up in tactical outfits. "If I spend all my time doing this thing that doesn't matter and isn't super important, then I don't matter, and I'm not super important." They convince themselves that whatever this current thing is Truly Does Matter, and then are willing to run themselves into the ground to prove the point that they contributed to the thing that matters.
I see the sort of self-aggrandizing "identifying as your job" behavior that leads to this mindset in software more than a lot of other jobs. People get into software and their personality becomes "I'm a software engineer" or "I'm a coder." They're better than the average - they're a highly-compensated expert who understands concepts like "UX" and "Architecture" and "Infrastructure" and they are going to run a Beta Test and Have To Stay Late To Deploy The New Version. They have an Important Deadline! The things they are doing Matter. I think lots of people in software had this idealized image of themselves as a core contributor to a product that's broadly loved and people care about and are unwilling to accept that they are toiling away to marginally reduce the time to first meaningful paint on yet another shopping cart page which only a few people use because the company they work for is niche, not particularly innovative, and not interesting.
I don't think a lot of people are doing this for the promotion - I think they're doing it for the validation. So they can believe that what they do actually matters. The sad reality is that 95% of software is bad and uninteresting and the people working on it are mashing together lego pieces to re-solve completely solved problems for management that doesn't get what they're doing and customers who don't like their work, and the desire to create importance where there isn't any is a self-defense mechanism more than anything.
Breaking out of this mindset was a key development in my career and I've not seen any less success but I am substantially more happy.
It starts from a person or persons who don't know what they are doing, but are really good at selling themselves. So their only goal is to show themselves in a good light to leadership and fool them by surrounding themselves with people who will agree with everything they do.
Edit: make things more clear.
Like many/most of us, I've been through this, but by virtue of luck and experience, haven't in a while. I think I've learned to spot the symptoms early enough that I avoid the companies/teams/projects that are on that path.
For those who think this is inevitable and unavoidable in a tech career, take heart in the fact that it's not!
I have a pretty high threshold before pressure at work actually stresses me out, so I've stuck around for a while after seeing the warning signs before leaving a team on this path.
Warning signs are always there in my experience, you just have to pay attention. The real challenge is paying attention as the problems start to ramp up, its easy to get distracted fighting fires and not see the bigger picture.
"Technology is dominated by two types of people, those who understand what they do not manage and those who manage what they do not understand."
[0] https://en.wikipedia.org/wiki/Putt's_Law_and_the_Successful_...
So many of the current apps we use now have been buried in adware and bloat due to the decisions of non-visionary minds leading as product owners... Most notably with Twitter/X, and frankly, it frustrates everyone and scuttles very mission critical operations that grow to rely on tools and services that were originally created by actual tech visionaries that learned and accelerated in the art...
Also, "learning on the fly" should not be a normal practice on mission critical operations... The ideal of under-bidding contracts and under-paying employees, and even hiring tons of junior employees for mission-critical development efforts is really destroying and undermining the entire industry.
Sometimes we need to just turn down the opportunity to work in a burning bowl of spaghetti, the resulting products & services always reflect the process applied to create them, no matter how many "smart" work-arounds are created.
If your company finds itself in battle mode and the senior leadership doesn't move aside for a hired gun, be very worried and polish up that resume.
Once peace time arrives, same thing in reverse.
For the manager trapped between their hopes and reality, this blogpost is basically therapy. It comforts with a classic remedy: level up your game and you can win the game. Replace negativity with a "bias heavily toward action". Tell yourself and your reports: "perfection is the enemy of done", have "ruthless prioritization", be "laser-focused on shipping what matters most“. Believe in this all until you get a new position (with real agency), then you can discard this illusion along with your reports.
An older phrase for this phenomena, absent the management aspect, could be "hustle porn." If you ignore ethics, and work crazy hard and crazy smart, you'll win https://www.inc.com/serhat-pala/alexis-ohanian-says-hustle-p... . Though in my experience, you'll just end up crazy.
No amount of "existential threat" pressure on teams to perform will replace leadership going through the balance sheet and figuring out where profits/growth/etc is getting it's highest return on investment and where it's not. Then planning for how to change that.
I was at a newly IPO'd company a few years back and it was almost laughable the gap between leadership's fantasies about profitability and the raw data in the earnings statement. Not a single decision planned or statement made addressed the mathematical reality of the balance sheet.
A simple "We need to get X% more out of this, and reduce the cost of that by Y% and we'll be good, here's our plan..." would have been endlessly more productive then feel good speeches and pressure on teams to improve performance in unspecified areas.
This signifies a weak CEO.
Not that the board was collectively trying to be CEO.
But in a wartime/survival situation, I would hope the board had some opinionated members. If only to make sure the right CEO was in place.
It’s a lie. Executives and VPs and all those folks that earn 5x what a normal engineer earns, don’t really care about the company they work for. All they care about is to keep receiving the big pay checks until the ship sinks. Obviously you cannot just mandate “normal mode”, otherwise it wouldn’t look as if everyone is doing their best to keep the company afloat.
I hope in 10 years or so, we’ll see “wartime software engineering” with the same eyes we see today Agile and Scrum masters: snake oil.
Overseas BigCo means permanent contracts and being very hard to let go, but that doesn’t seem to be the case in the US (e.g. Elon Musk Twitter).
Obviously this is just one person’s opinion.
Thats the moment you get a chance to re-engineer or develop new capabilities - the moment when the MBA outer bark layer holding us all back cracks and gives.
The above is mostly about times when all conversations start with "for the procto-cull: I was against this and that" and lots of ass covering.
Pretty often people that heavily emphasize the competition and push arbitrary timelines have taken shortcuts, or at least aren't being transparent enough to satisfy the team. They may also just be competitive by nature and insecure due to a lack of experience, and bad at communicating - also, due to a lack of experience.
Agile / Scrum: people quickly realized that they had to give up control in order to be agile.
It's possible to do Agile and to structure a waterfall software project into smaller chunks that feel agile, but you need PM's who know how to do that, and they need to show their work to the team in order to get buy-in. It's too bad the jargon got abused to the point of garnering resentment.
In particular, Scrum is only there to establish rituals that enable empiricism in decision making. A sprint is a reporting period to keep the team from spending too much time in the weeds. A standup is there to keep the team working together. The andon cord (which is often missing I find) is there when the facts have changed so utterly profoundly that everyone needs to regroup.
Anyone who's been through RTC ("boot camp"), and even some who haven't but have lived vicariously through others, understand that being constantly yelled at by RDCs ("drill instructors") on how you make your racks and fold your clothes is all about building certain habits and only tenuously related to what you'll be doing after A-school. It all has more to do with building trust that the rest of the folks in your ship will help carry you when the going gets tough. Scrum, at its core, is kinda like that.
I really dislike the term "Scrum Master." They're a team captain. The more military-minded might be keener to use "gunnery sergeant" or "chief petty officer:" they're just the most senior person in the rating group^W^W^W^Won the team. (Though, I'd probably take more inspiration from the Marines than the Navy here: a culture of servant leadership seems to bring out the best in people.)
The most popular implementations of Scrum tend to come with a ridiculous amount of meeting and tool baggage, and it's so unnecessary.
Use Excel. Hold your standups at the close of the day so people can go home. Write your product backlog items in delivery order so that sprint planning is less about sitting in one room playing poker and more about just getting valuable shit done.
That said, what isn't unnecessary, however, is kneecapping command a little: the engineering officer of the watch has comparatively little understanding of the actual operation of the machine. They just know that they want operational excellence. However, that excellence also sometimes comes with the watch supervisor—a subordinate—publicly calling out mistakes that the watch officer makes.
Originally that term was supposed to be a temporary role that someone (rotated each time) would take on during a scrum meeting, and referred to them being charged with keeping the meeting on track.
It tends to work pretty well in an environment that both lacks a bug tracker (so that individual people aren't assigned things) and has a culture of pairing or mobbing.
I'm currently involved with two programs run by project managers who probably haven't written code for 30 years (if ever), and it's a nightmare.
I have no explanation for why /that/ is, mind; except - well, look at the result: the blame and hatred is aimed at Agile and its priests, not at management. Cui bono?
You can't have an employer offering a 20% bonus for keeping them alive. It's an insultingly low payoff or the crisis was a lie.
There is definitely such a thing as wartime software engineering. But such moments offer a clear path to millions of dollars or generational glory. Otherwise, you're being fed koolaid.
At will employment, baby
I've told my direct reports something similar. "Don't stress out about this. If it were a real problem, someone would have noticed 3 months ago when it broke / was never completed before [employee] left." Most of these crises are painfully fake.
I too do that often to my direct reports. Not worth the stress. But of course it helps to pretend that one is working hard and stressed :) .
As a freelancer I had to interact with these people and was constantly annoyed by their lack of efficient communications. If you are a freelancer your own time is actually valuable to you, wasting time is not a luxury you might be willing and/or able to afford, depending on your agreement.
If your company/project is constantly in emergency mode you should reconsider the quality of that companies/projects managment. Personally most companies/projects where I have wittnessed emergency mode the emergency was not only self-inflicted by mismanagment, it was also routinely self-inflicted.
If your emergencies could have been avoided by a thin veneer of foresight that emergency is on you. If you routinely get into emergencies without learning: congrats you're stupid.
If you conjour emergencies out of thin air to squeeze more work out of your employees you suck as a human beings.
If you think working under emergency mode makes for quicker, cheaper or more reliable results you probably never witnessed how quick, cheap and reliable a well planned project can be finished.
Sometimes, the ‘amazing’ reward is not going bankrupt, and that is enough.
It doesn’t have to be a nice juicy carrot to be sufficient motivation for things to happen.
A real engineering manager, when the execs say "Its Wartime" says "Wonderful, is everyone on the c-suite taking on call rotations so the engineers can focus or just the CEO and CTO ?"
1. Value individuals and interactions over processes and tools
2. Value working software over comprehensive documentation
3. Value customer collaboration over contract negotiation
4. Value responding to change over following a plan
And then there are the 12 principles:
1. Customer satisfaction by early and continuous delivery of valuable software.
2. Welcome changing requirements, even in late development.
3. Deliver working software frequently (weeks rather than months).
4. Close, daily cooperation between business people and developers.
5. Projects are built around motivated individuals, who should be trusted.
6. Face-to-face conversation is the best form of communication (co-location).
7. Working software is the primary measure of progress.
8. Sustainable development, able to maintain a constant pace.
9. Continuous attention to technical excellence and good design.
10, Simplicity—the art of maximizing the amount of work not done—is essential.
11. Best architectures, requirements, and designs emerge from self-organizing teams.
12. Regularly, the team reflects on how to become more effective, and adjusts accordingly.
So in total 16 points to cirisize! For everyone who hates Agile so much, please make it concrete.
"Value individuals and interactions over processes and tools". So, rather than put an update in a Jira ticket, DM it to a single person in Slack?
"Value working software over comprehensive documentation". So, never write documentation? And how do you define "working" software? What about features in development? (etc)
"Value customer collaboration over contract negotiation". Lol. I have never talked to a customer, in my entire career. I have also only heard about contracts, and usually they are ridiculous. I guess this is supposed to be different... but kinda hard to make it different if you aren't allowed to get close to a customer or a contract negotiation. (Why the fuck is this in an engineering guideline?? Do you find a lot of developers doing contract negotiation?)
> Value responding to change over following a plan
?????????? Does anyone know what the fuck this means?
....
The rest of the "12 principles" are equally stupid and nonsensical. They only "seem right" if you don't think about them for more than 5 seconds, and you live in some kind of fantasy world. It is absolute bullshit, completely disconnected from reality. (But boy do executives love to eat this shit up, because they will never have to figure out how to implement it)
For example your
>> Value responding to change over following a plan
> ?????????? Does anyone know what the fuck this means?
In waterfall, once you start developing, it's very hard to change something during the process. Due to Agiles iterative and incremental approach (principles 1 & 3), it allows you to change priorities, features, integrations, etc, during development.
New technology also allowed this iterative approach. For example in the past, software was released on disk or CD-roms, which meant a huge release cycle. Nowadays with SaaS, you can constantly release and improve your products (using CI or CD for example, widely adopted now).
Maybe you have to look into other software development processes to really understand what sets Agile appart, for example Waterfall, Spiral, Incremental, Rational Unified Process, etc. A good overview is here: https://en.wikipedia.org/wiki/Software_development_process
Stand up. Walk out of office. Get on train. Arrive at user’s office. Go sit next to user. Spend afternoon understanding how they use the software you are supposed to be building.
Bin the sprint planning, retros, gantt charts, standup and whatever fucking sprint poker is.
Go. Speak. To. User.
> “Value working software over comprehensive documentation".
> So, never write documentation?
Read the phrase again, with a slightly different word in place
Prefer working software over comprehensive documentation.
I.e. working on building the thing instead of obsessing about gant charts.
You can do a Gantt chart if you want. But focus primarily on the software. That’s more important.
> And how do you define "working" software? What about features in development?
Intentionally left vague. “Working”depends on many factors that only the people involved with the building of it can know.
Mainly by getting on a train and sitting down with your users to figure out exactly what they consider to be working software. See above.
> “Value customer collaboration over contract negotiation"
You’ve not been around much contract consultancy work then?
Hey, company X we’d like some software that does Y.
Do you
1. Enter into a lengthy process to establish exact requirements and agree on exactly what needs to be delivered up front, without having touched any software, and trying to cost it all out etc etc
2. Get on a train and sit with the user developing some proof of concepts quickly to figure out what the hell it is they want.
1 is waterfall and contract negotiation. 2 is responding to change. example is a user saying “oh, actually, could we try the page header in pink instead please” after asking for it to be blue last week.
> lol. I have never talked to a customer, in my entire career.
You’ve never spoken to a user?
You need to start.
Ideally right now.
Stand up. Walk away from your desk. Find a user to speak to. Ask them what they think of the software.
> Why the fuck is this in an engineering guideline?? Do you find a lot of developers doing contract negotiation?
Well it’s not in the contract so I’m not going to work on that feature because we won’t get paid for it.
Even though some enterprising engineer went and got on a train and sat with the user for a day and figured out “oh shit, we’re actually building the wrong fucking thing”.
Nope, not in the contract. User doesn’t get what they want because we negotiated a contract.
> Value responding to change over following a plan
Waterfall: We have an agreement and WILL ONLY BUILD ACCORDING TO THE PLAN. We will never deviate from the plan. The plan must never change. Ever.
agile: shit, I went and got on a train and sat with the user and we’ve been building the wrong thing. Time to rethink this.
> The rest of the "12 principles" are equally stupid and nonsensical. They only "seem right" if you don't think about them for more than 5 seconds, and you live in some kind of fantasy world. It is absolute bullshit, completely disconnected from reality. (But boy do executives love to eat this shit up, because they will never have to figure out how to implement it)
A lot to unpack here.
No, they’re not stupid. They may be “of their time” but they’re definitely not stupid.
They seem more right the more I think about them. I think about agile a lot and how to teach the attitudes contained within the principles to my juniors.
Just to reiterate the important point there — the principles are a collection of attitudes. They are not explicit instructions.
No, it’s actually useful. Would I base an entire team methodology solely on this? No. But it informs a significant part of it.
Executives don’t care about by he agile manifesto. Mostly because no one posts about it on linked in and they’d rather pay someone ridiculous sums of money to make the team “Scrum” and fuck about doing whatever the fuck sprint poker is (execs always want to spend money instead of doing the work).
According to the LinkedIn post it made some other team really efficient. They read about it on linked in. It must be true.
—
FYI — just because you don’t understand or see the value in something does not mean it isn’t valuable.
Secondly, you are downvoted right now, which comfirms why I didn't want to put in the effort ;D.
It's clear people don't want to talk to users. But in the end, it gives people like us an excellent advantage.
> It's clear people don't want to talk to users. But in the end, it gives people like us an excellent advantage.
The best kind of user to me is the one who is convinced they’re “dumb” when it comes to software. I always get so much more useful info from them compared to the folks who think they know something.
>> So, never write documentation?
>
> Read the phrase again, with a slightly different word in place
I spent way too many years working at an Agile shop that had been doing Agile for a very long time. (This is me saying "This place definitely wasn't Doing Agile Wrong.".)At that place, "Prefer working software over comprehensive documentation" ended up actually meaning "Do not write documentation. Go speak verbally to the SME for that thing or section of code if you ever have questions. Documentation maintenance is a cost that we never have time to pay. Ditto for code comments... all code MUST be self-documenting.".
It -uh- didn't work out so well.
> You’ve not been around much contract consultancy work then?
Honestly? IME, this is about the ONLY environment where the Agile stuff makes sense. It's just such a very, very, very poor fit for long-running projects that require continuous work that may extend for decades.
> Honestly? IME, this is about the ONLY environment where the Agile stuff makes sense. It's just such a very, very, very poor fit for long-running projects that require continuous work that may extend for decades.
I disagree. Like, I was just working at a place that did both analytics consultancy and in-house products. Go. Speak. To. User. worked in both.
For consultancy, yeah we had to go off and sit with the customer and figure out with them exactly what they needed. Do iterative PoCs. Eventually work out, together, what the 'user'/customer wanted to get out of the project(s).
For product, I sat down with one of the lead scientists and asked her what she actually wants. Like, be real with me. It's me here. I don't care if you want to use the products or not. I want to help you do the job you want to do and help you solve those problems you face on a daily basis. What will help you do this.
Answer: Bin the vaporware in-house software product and move to an established off-the-shelf third party system (Benchling).
Repeated the same thing with Data Science.
(Eventual) Answer: Bin the vaporware in-house software product and move to an established off-the-shelf third party system (databricks).
Of course, that didn't fly with the management people who wanted their magical 'guaranteed revenue stream' (which didn't exist). They weren't Go. Speak. To. User.-ing. So they were divorced from the reality of what was going on and stuck in the blue sky management vision.
Agile-manifesto-agile doesn't just apply to engineering. You can apply the principles of Go. Speak. To. User. And. Stop. Making. Gantt. Charts. To. Solve. The. Real. Problem. to a lot of places.
Yes, but "Go speak to the fucking users so that you build the right thing" is such a tiny slice of Agile shit, and it's a product management rule that predates Agile by ages. This is like one of THE big things that Product and Field people are supposed to do, and has been for roughly forever.
As for the rest of Agile? Maybe the idealized Agile (just like the idealized Marxism) works great, but my personal experience at a place that very, very, very much was NOT Doing Agile Wrong[0], along with the personal experiences of an assload of others who work at Agile (and "Agile" shops) indicates that Agile as she is implemented in the real world is incompatible with long-running continuous [1] projects.
[0] I'm afraid you're just going to have to take my word that I know what I'm talking about here.
[1] "Continuous" as opposed to the "parachute in, mitigate the biggest problems, and then airlift out" engagements that are SOME of what contract shops are hired to do.
It's mind-boggling that people can be confident that they're building the right software for their users without ever actually talking to their users.
It's fairly easy for me to get to grips with agile tbh because I live daily with another 12 principles thing.
Had a big "oh shit, hell yeah, this makes perfect sense now!" moment when I re-read the manifesto one day.
Manifesto is the one with a small a.
Big A Agile is an exercise in making management happy because they read about it on LinkedIn while having a poo. It usually involves paying several consultants a lot of money.
The problem is that the Agile that is pushed in the corporate world is nothing at all related to the spirit of the manifesto.
Management took over to keep control over developers.
So you have scrum, you have scrum masters, product owners, t-shirt sizes poker, ... All of that bringing more stress to devs than having empowered them to be trusted to deliver what the real client wants.
"Value individuals and interactions over processes and tools", says the Agile consultant as they open the meeting; they then proceed to shut down any interaction between individuals that is not on the agenda, or that is on the agenda but takes longer than a sentence or two.
"Value working software over comprehensive documentation", says the Agile consultant as they open the sprint planning. "These tickets should contain enough detail that a new hire coming to them cold can pick up the work."
"Value customer collaboration over contract negotiation", says the Agile consultant. "Value responding to change over following a plan. Also, these items must be delivered by end of Q4; let's schedule some meetings with management to discuss why the team's burndown chart is going up and not down."
Agile is like true communism: always preached, never reached. It is a fig leaf for toxicity. The ideal true Agile practitioner cannot be faulted; and you will never encounter them. The word "Agile", when encountered in real-world corporate scenarios, does not mean the things described in the manifesto, though the manifesto will often be quoted; rather, hearing it invariably means the frog has reached boiling temperature and it is well past time for anyone who can still flee to flee.
"Agile consultant" is the modern term for an outsider that management have brought in to whip the thoroughbreds so that the resulting negativity falls on the outside party - which can then be let go again - and not anyone permanently employed by the company. We may want the word to mean nicer things, but that is not how it is actually used.
A ticket that tells you what needs to be done / reviewed / tested is indeed in the pursuit of working software. Having detailed class diagrams drawn 18 months ago that you have to follow is what this point is talking about.
The question is how can people collaborate? That is the question. Complex Adaptive Systems (CAS) begins to help us think about how we can do that. Simplistically we can just throw bodies at problems and we get "the mythical man month" mentality. Or we can do it with militarism - we all get marching orders. Unfortunately, good programmers do not do well with this mentality.
So is there another way? At this point, as a community, we do not really understand how people work together. Despite the face that millions of people can live in a large city, we have no clue as to the mechanism that allows this to happen. $. The city does not degrade as the Mythical Man Month predicts, nor are the people ordered about in a militaristic manner. So what gives? How does that work? $.
Why do I keep putting $ in this post? Because $ is a "messaging bus". (You tell me a better word - signalling system?). Everyone can read (get money) and write (spend money) on this messaging bus providing signals to other people.
Agile is a very fuzzy attempt to provide a messaging bus. But if you have no clue as to the mechanism, you can descend into madness - for example "If one scrums are good what if we do ten a day?".
Face to face communication as opposed to asynchronous communication brings less objectivity to the topic at hand.
I normally hate sports metaphors, but as an alternative to war, framing a tough business situation as “fourth down and 10” or whatever is a lot healthier way to think about it.
I guess the equivalent in a software shop would be adjust expectations way lower and focus on what's achievable without running the team ragged and risking getting nothing done, postponing loftier goals until the team/business is in a better position to address them.
And maybe that means that now is the time for your star playmaking quarterback and receivers to be on the bench planning the play for when the pendulum swings back, and some different players should be center stage.
Or maybe metaphors are just metaphors.
I first read this book when I was starting out as a Dev some 20 years ago. It made a huge impression and is still relevant. Some things I remember off the top of my head.
- It was the first time I came across Occams Razor. This really helped me understand how to approach debugging issues and generally dealing with problems.
- It discusses the dangers of people who don't understand areas at a technical level being in charge of programs that depend on those technical things. Even more so when they have an inflated ego. Apparently Churchill was very good at seeing through this.
- If I'm remembering correctly, there was a section about a practical joke someone played on their apartment neighbour that involved swapping out their pet tortoise for gradually larger versions. I very recently read a Roald Dahl childrens book to my kid which had this exact story. Now I have no idea if this actually happened as RV Jones wrote, or if it was a well known story at the time that Roald Dahl also adapted.
- The dangers of making assumptions.
I'm sure there are more. It's a worthwhile and highly entertaining read regardless.
https://www.pbs.org/newshour/nation/ex-coal-chief-gets-one-y...
I think he eventually figured out not to sweat it so much.
I've said this out loud a few times. But I've said it quietly to myself far more often when someone is trying to make me feel stressed for no reason. It's very effective.
E.g. this incident cost us $5 million - this type of money could be used to save many lives.
By not earning the money (or losing it), you're not actually impacting anyone's life.
Top-down influences have and always will drift from topic to topic and resources will follow. Demand for any given approach will wax and wane and wax again over a career. Often, some core fundamentals will seem in-volatile but even they aren’t.
I try not to fight these tides, and just accept them. Sometimes ignoring them.
[0] https://www.goodreads.com/book/show/698034.Time_Out_of_Joint
sadly i think im numb to ppl speaking this way. genuinely: thanks for the reminder this language is inappropriate
This is slightly OT, but I believe wartime in the UK and US forced a number of cultural changes towards egalitarianism and what would nowadays be called "diversity" because things had to actually work. Being upper class in the UK would not save you from German bombers. The normally exclusionary system had to let a gay man break codes and a woman design Spitfire engines because those were the best people actually available and the outcome mattered more than saving face. This also got us the postwar settlement of universal healthcare and education.
Not in the US. Only in BigCorps.
I don't know enough about Spitfire engines to comment, but is that true about Turing? I thought he kept his sexuality a secret.
Taken at face value, the article is a recipe for burning out first-level managers, while the building is burning down. It neglects to focus on stopping the fire, because the author would rather his reports hustle around the fire instead.
Most of us don't actually have to stay at a company that is on fire. Plenty of companies (and managers) will try to convince us to stay at a company that "feels" on fire. That's what I hate about this "wartime software" bullshit. Like, if you enjoy being at war, cool, go at it. But if you don't want to feel horrible, find a different job. There is no prize to win for being a hero. Just a life of pain from an entity that will drop you as soon as is convenient.
I can say that I'm staying because I hunted for this job last year through the "winter of tech" and that nearly broke me as much as this toxic workplace does. So I have reasons not to jump ship, and I can't imagine I'm the only one. So for anyone reporting to me who would also rather not leave, I should do what I can to reduce the shittiness for them as much as possible.
From the article:
> When you receive a new headcount, you need to prioritize hiring experienced, self-sufficient, autonomous engineers who can tolerate (even better, strive) in high-stress environments and are experienced enough to contribute immediately.
Yeah, such people would be able to spot and smell "this BS" from a mile and trying to sell it to them by re-packaging won't exactly help raise motivation. I would wager that most of them can probably appreciate the truth behind "this is what we are paid to do so we need to do the best we can for what needs to be done" - they are probably exercising that discipline in their personal lives too.
Seems obvious - don't hire people when you can't give them what they need to succeed in-role. But I think the blog author wasn't trying to say much more than that with the sentence you quoted.
This can get pretty tricky when the fire is your very boss... (and honestly, been there and didn't know how to handle that, and still don't know (top management did, they fired my boss, but I burnt out before..)))))
In peacetime you have more time, goals are not that clear. So a lot of people suddenly have different opinions and they must somehow be negotiated. There is a huge risk of a bureaucracy to de developing that can't be constrained.
It's the same in politics. Wartime leaders like Churchill get a lot of credit but I think it's much harder to keep things running halfways efficiently when things are going well.
I've found myself warning the people I work with that we need to do things to stabilize the core of our software and infrastructure.
When things are going well it's hard to get buy-in and the time to do any necessary, and sometimes radical changes.
And you probably may say at this point: "well if things are going well why would you do anything radical?" but I generally mean well as in not falling apart, but not ideal, as in every week we keep seeing the same issues reported in our day-to-day. Cause eventually, it only takes something else to go wrong to expose major issues and vulnerabilities with the operation.
Nevertheless, when shit goes sideways, as it usually tends to happen especially when you don't slow down and maintain enough, people then just want you to fix the problem, and do whatever it takes, including those aforementioned risky things you were proposing to avoid the shitty times to begin with.
1. Are you or others in immediate danger? If so, get out and help others get out.
2. If not, then determine if someone addressing the fire. One would expect that higher ups are aware of the fire, but this is not always the case. Sometimes the higher ups are not aware. Sometimes they are too busy saving themselves to address the fire.
3. If someone is addressing the fire is there a way you can assist?
I do not mean to be snarky in this- there are real people who work for real companies that are not doing well. If you are a manager, your team's well being should be high on your list.
Wanting to help folks out is great, but if there's one role going in some related company, and there's a few on your team who are going to be out of work, then I don't think there's going to be too many advertising the job posting to others.
This is awful advice. You can only operate in this mode for at best 2-3 months before your entire SDLC grinds to a halt because it's been the wild west in github.
> Bias heavily toward action - it's better to decide and be wrong sometimes than to paralyze the team with analysis.
This is...more awful advice. My startup has gone through COVID and the financial slowdown and the only reason we've succeeded is because we never stop measuring.
The very next paragraph after "decentralize everything and communicate heavily" is "allow your team to focus and centralize administrative duties."
And the the NEXT paragraph is "work closely with your team and even write some code."
This entire blog post is all over the place. It reads like each paragraph was written by a different person with completely different experiences.
If you want to manage your team while the house is on fire, don't change anything. Communicate clearly, ensure that the culture and philosophy of the team bend when necessary but don't break, and work on alleviating the real problem. One of: lack of product market fit, burning cash like it's going out of style, or no clear path to profitability or the next raise.
Your engineering team is probably not the problem if your startup is failing.
FB is operating that way with tens of thousands of engineers. More approval layers don’t necessarily mean more order, but it always means slower processes
So far in my career this has never been the case.
While article is named "How to Lead Your Team When the House Is on Fire" - if your business is constantly on fire you are doing something terribly wrong, I don't think you understood the main points.
With the point being, if all of your team members are elite, then everyone ’yeeting into main’ can be wildly productive. But it’s not good general advice, as you say, where most organizations have a range of talent.
If that happens, you decentralised more than was possible ("as much as possible" doesn't mean "completely"). You removed too many important barriers. A bit more concretely, you gave authority to those that weren't capable of handling it, or weren't supported properly. You removed an approval layer without supporting your team to check these things for themselves.
The advice here is to challenge what actually needs to be centralised.
Identify things that could be safely delegated. For example, why does a list of managers and an exec need to approve a $10 per month subscription that saves a bunch of engineering time by managing cascading PR merges?
And identify safe ways to delegate. For example, if we move container image vuln scanning into CI/CD pipelines, the dev team can update dependencies themselves without a security team being involved to do it for them and approve.
These might seem like silly examples to someone working at a half decent start up or tech first org. But these kinds of centralised control structures are the norm for most large organisations until they are very strongly challenged.
These things have merit, but increasingly less the more you move away from "whole" plans in which they make sense. These particular ones are troublesome because they fall closer on the spectrum to "reduce executives". If you're pushing decision-making downstream, it should also be reduced upstream. If you reduce it upstream, you have less (not zero) need for leadership there. That has to manifest either in fewer leaders or leaders doing a better job at their other duties. In particular, they need to be producing much clearer stronger vision for the downstream folks to align their decisions to. Vision is perhaps the hardest task in the org and when it's hard it's easy to shirk on. Often, when leaders talk about trying to move to a bottom up culture, they are (unconsciously?) trying to absolve themselves of the vision work. And they're usually doing it while still gatekeeping information and resources they were meant to have because they were decision makers.
This is going too far, but directionally: Leaders should largely not be advocating for delegation and bottom up decision-making. It's not that this can't be better for the company, it's that they could be executing the goal better by quitting or firing their peers. It's more of a catch-22/worst of both worlds situation—leaders shouldn't be advocating for it because they shouldn't be there to advocate for it.
No amount of wartime valor is going to overcome a lack of product market fit.
Wartime is an in house propaganda shop running posters that say Carthago Delenda Est, mid-level product managers discreetly but reliably dispensing Adderal, Ritalin, and Modafinil, open disdain for people who leave the office two days in a row, and paying enough that your people are just in a meaningful sense smarter than anyone else.
Every company gets to pull that maybe once, so it has to count. And it’s a hell of a place and time to see.
But if you’re not going the whole way, you’re far better off doing reliably good engineering in a repeatable way and poorly served by analogies to war.
How do you lead your team when the house is on fire? However the hell you can. I'm sure a firefighter can chime in here and tell you that if you aren't trained for firefighting, you sure as hell won't learn how to do it right when the roof is caving in on you.
Literal war: Many human lives - both combatant and non-combatant - and the future prosperity or collapse of all societies involved
Company in survival mode: for most employees, their income level this year.
Describing the operation of a software business as "Wartime" is nonsense.
Then you get help.
Then, if you can do it without putting yourself back in danger, you look for opportunities to help out.
If you don't know this, you failed childhood.
Now, on to the metaphor: emergencies don't last forever. If your emergency is lasting indefinitely, it's not an emergency and the house is not on fire. It is quite possible that you are being manipulated. If emergencies keep happening, senior management has a big problem, and it's up to them to fix it.
The thing with fire fighting is that you 1) need to recognize that you are doing it. 2) put a stop to it.
Firefighting simply doesn't work. You have a 100 fires to put out and you put out 1 or 2. The house will still burn down. And you will be too stressed to do a good job at what little you are still actually doing. So you'll cause a few more fires in the process. Firefighting leads to more fire fighting. Also the constant context switching actually means you are less productive.
In terms of people management (including yourself), fire fighting is not sustainable for very long. It just makes people miserable, stresses them out, and eventually they leave, get burned out, etc. And that includes yourself. You have a breaking point and you want to stay on the right side of it. In my case, if I step out the company dies. It's that simple. So, I use my weekends to recover, not to work my ass off. Coming in well rested on Monday is more important than getting whatever done on a Sunday.
So, take the tough decisions you need to make (who gets to stay, which things to cut, etc.) and then stabilize at whatever level is sustainable. De-prioritize the things that won't get done anyway. Stop pretending that you are even doing them. Ruthlessly prioritize what needs doing and filter that list by do-ability and then by available resources and then by short term priority.
Smaller teams mean things actually get easier. Less need for meetings, less conflicts, etc. I'd run this thing differently if I had a ten person team. But I just don't. So a lot of management is just me freeing up time so I can actually do things myself.
Then proceeds to encourage managers to gaslight folks into believing leadership is fine in the next paragraph.
In my experience, during this "wartime" the author discusses, management knows the ship may be sinking/is sinking and are making their way towards the lifeboats. They still need to be seen as doing something though, so they string along the ICs hoping they can keep being "productive" even though management is completely checked out, and a lot of the ICs will be laid off or not survive the upcoming aquihire/turn down.
As an IC, never believe a manager at face value - they will promote you if it's good for them, they will pacify your concerns as it's what they are paid for, and they will fire you if its good for them. This is the nature of the relationship.
I had one manager like this after an acquisition, he literally threw his head back laughing when I said I was up for a promotion and raise (documented prior to the acquisition) and said a number which was what everyone at $ex_company with that title made. He said no, and that he was the one who got to decide if I get a promotion— I quit less than a month later for an actually good manger.
They pay had better be incredible to make playing those kinds of political games worth having your soul drained.
In my experience, pay increases linearly with soul drainage. As I started working for larger and larger companies the amount of nonsense and pay increase by the same order.
Responsibility decreases by the same magnitude, so while I was responsible for the whole IT operation/decisions of a small company for the lowest pay I ever had, I’d now be able to coast for half a year without anyone really noticing. BigCo is fucking weird.
Nothing is infinite and managers are both people and have their own constraints. In my experience, expecting otherwise will just select for either managers who work really hard but fail to get you much (due to lack of political skills), or those that are very good liars that say they're helping you but never do (and you never realize otherwise).
A really solid engineer I know was working with a failing mobile payments company, got an offer somewhere else and like a fool took it to his manager, who matched the new offer and the guy accepted... for 2 months until the company went bankrupt and he was back at square one looking for a job.
Why the assumption that goals are frequently changing? If you're making something that's actually valuable and not just looking good by surfing trends, I would think that the virtue would lie in having a clear vision and sticking to it.
> If you've got a big customer making 20% of your revenue who's threatening to jump ship (not an uncommon scenario for small to medium sized companies), you simply have to deliver whatever they want as fast as you can and worry about your vision later.
But that's one new requirement (or set of), not a changing environment. If that customer is changing their requirements as they go, so that you're constantly shifting focus, you need to either pin them down to one goal, or cut them loose and deal with the fallout. They don't see or care about the "war mode" they've created, and placating them will just invite more demands, and you can't keep it up forever.
The one time I've seen a "war mode" succeed was making a change that was a precondition for acquisition, when a set of requirements was laid out in the acquisition offer. It couldn't be altered once it was accepted, so the "war mode" had a fixed goal and deadline. Apart from something like that, it's just going to result in a spiral.
I don't understand how wartime makes this easier.
Pre-wartime, you could've also had short-turnaround tasks, and the realities of generous funding of nonviable businesses mean you'd have more luxury to rollback dropped balls.
Seems like wartime means that you have to be more responsive and successfully.
Or, just stop using over-bloviated metaphors for first world marketing creating fictional scheduling crises.
Not making you dev schedule is not a "fire", much less a "war".
Maybe try getting outside once in awhile and clearing your head of this make believe bullshit...
It's a vile way to treat people.
It's yet another attempt for software enginerds and managerial bullshitters to make themselves feel more important than they are, because god forbid they say it like it is and just call it "how to lead a team when the cushy years stop"
All those years of ZIRP investment scams, and sprint theatre, the industry generally wasn't doing "quality" (and, on average, wasn't capable of quality), so we were already posturing about "getting it done"...
Don't you need to tell a lot of people something *different* than before?
Maybe, when you have to deliver and can't afford huge mess-ups and delays and inefficient boondoggles, and people can't job-hop fast enough to escape their roosting chickens, what you actually need is *smart, aligned people*?
Not to give people permission to flail around incompetently, and make huge messes, pretty much just like before, but now rationalize it as "Getting It Done: Wartime Edition".
> [...] due to the current job market you have more luxury now than a few years ago. Consider allowing 2-3 candidates to pass through all rounds, and choose the best fit from them.
If that's what you need to hire smart, aligned people, then OK.
If it's just most of the same techbro flakiness, now dressed up as "Wartime", then not OK.
If your business required zero interest rates, you're not in war mode. You're in stupid mode. It was never a successful business. (See WeWork, etc.) Get out.