Hacker News new | past | comments | ask | show | jobs | submit login

I highly recommend reading the Linux kernel management style guide at https://www.kernel.org/doc/html/latest/process/management-st....

It has this gem of a quote:

> It helps to realize that the key difference between a big decision and a small one is whether you can fix your decision afterwards. Any decision can be made small by just always making sure that if you were wrong (and you will be wrong), you can always undo the damage later by backtracking. Suddenly, you get to be doubly managerial for making two inconsequential decisions - the wrong one and the right one.

It goes on to mention that most technical decisions fall inline as small changes and why.




This observation is profound, and also resonates with my experiences across different companies, some of which had highly mission critical / reliable systems.

I used to imagine from the outside that such places must have highly elaborate testing regimes, backup systems, and genius-level developers. However, my lived experience is that they're just really good / disciplined about reverting to the previous known good state and backtracking. Much like a source control system lets you undo a bad change and go back to a known good solution, they do that with their releases and entire system.

Some anti-patterns are "roll-forward" with a fix for a problem (if you failed to reason about the original change with the problem properly, how can you be confident that your "roll-forward" / hotfix / patch will work? Roll it back, try again in dev, roll forward again.

This also means avoiding changes that can't be rolled back (because they wrote data in a new format that the previous version doesn't understand) wherever possible (and it usually is).


Different domains, too: it comes up frequently in my - admittedly limited - experience with woodworking: _"Don't cut it 'til you need to cut it!"_.

There are some one-way doors (cutting a long piece of timber), or doors that inflict a big cost if you back-track through them (gluing a precisely cut joint), and you're well served by minimizing them and planning your operations to make sure those ones safe.

So, you 'sneak up' on a cut line incrementally rather than cut directly to it, allowing you to check fit as you go and ensure your final, precise cut is removing not a big, clumsy chunk but a tiny controllable shaving.


At $company, this is core to how decisions are made. There's no need to get stuck for an extended period of time on "two-way door" decisions; they can always be reverted. Inversely, decisions that cannot be reverted require due consideration. When there are multiple pending decisions, categorizing them into "one-way door" or "two-way door" decisions can help greatly.


Is $company a large Seattle-based ecommerce and cloud computing company?

Because that company talks about one way and two way doors a lot.


I also worked there and what I like about the phrasing in the quote above is that it surfaces the possibility of turning a one-way-door into a two-way-door.


Can you explain the last sentence of the quote? Seems ambiguous.


"Doubly managerial" is what threw me, but it's meant to be a little tongue in cheek. The linked source is specifically the Linux Kernel "Management" Style Guide, and is poking fun at management in general.

Another tongue in cheek line from the source is this:

> First off, I’d suggest buying “Seven Habits of Highly Effective People”, and NOT read it. Burn it, it’s a great symbolic gesture.


If you mean this:

> the wrong one and the right one.

The context comes right before it:

> if you were wrong (and you will be wrong), you can always undo the damage later by backtracking

Ie: do a (small) wrong, then do a (small) right to fix it. That's my reading of it anyway.


> Suddenly, you get to be doubly managerial for making two inconsequential decisions - the wrong one and the right one.

You get to wield the power of being the person who makes big decisions, some might say the finest decisions: decision 1 pick wrong path - decision 2 backtrack and pick correct path.

I guess in contrast to the person who wont decide - everyone has stood around in a meeting room staring at the senior manager fumbling with the most basic of choices.

Having the knowledge and conviction that it doesnt really matter anyway makes decision 1 appear decisive and strong. If it turns out to be wrong and you have to backtrack, you arrive in the correct place, and can take credit for correcting the course.


I think it means that when you are conducting your evaluation, you are doing more than just solving a technical problem.


This passage just helped me describe something I do and teach a lot at work: how to turn big decisions into small ones.




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

Search: