conway’s law is a consequence of amdahl’s law. the cost of coordination increases the further teams in an organization is. therefore a team is most productive creating things within their team and end up creating things that mirror their organization’s structure
It’s so sad to see how ideologically driven everything is. Open X. It works fine. What doesn’t have bugs? That had huge implications for the rest of the field. But is just ignored as a discussion topic.
Ah, yes, the software that in the weeks and months after firing 80% of the staff started randomly just... not showing comments... in the middle of comment chains, literally the only job of the software, was completely unaffected by the firing of 80% of the staff that happened in the weeks leading up to that starting to be a problem.
Murphy’s Law
Anything that can go wrong will go wrong.
No list of laws is complete without Murphy :)
Well - first april, but I think Murphy's Law is actually a good metric, in the sense that
you can anticipate problems (in code, hardware etc...). Erlang kind of has this built
in as a core philosophy (though syntax-wise, they really should have learned from
python or ruby; elixir improved a few things but is nowhere near as elegant as ruby
either).
Other languages also try to deal with the unexpected, but often is rather awkward -
catch/throw ... I never liked the concept. Even begin/rescue in ruby can be annoying -
once I had to deal with network-related issues. After perhaps the sixth specific
error clause, I wondered what the heck I was doing. (I don't know who or what
recommended to be specific when it comes to handling errors; once the error
handling code became like +50 lines of code, I wondered what I was doing.)
Every time I think something is improbable, I go the extra step to verify that we are still covered.
Kind of like Rust acknowledging that memory errors are issues in C and C++. Whether
Rust is better I have no idea, but Rust kind of influenced both C and (especially) C++ in one way or
the other.
Rust is decidedly better, this coming from a 35 year C++ developer. Of course the problem is that many C++ developers who consider memory errors a 'skill issue' and claim that they have never in their careers had one.
The Twitter example is also nuts, even if the law were true. The takeaway from Price's law should be that you need to be very careful about firing people lest you accidentally fire someone in that small square-root group, which is teh exact opposite of what Musk did. Twitter did fall apart after he slash-and-burned, because his process was adversely selecting to retain the useless group.
See also this classic about chasing away your best talent in the interest of "cost savings".
Research has contradicted it, but if you continue reading, it says that the distribution is even more skewed. Meaning that, on average, fewer than the square root of people do more than 50% of the work.
What's funny though is that this is not a reason to fire people. In a team of 9, let's assume 3 people do the majority of the work. But if you fire 6, then the square root of 3 (so like 1 person) will still be doing the majority of the work.
Really, it's more of a warning about growing team size. If you start with a team of 4, 2 people do the majority of the work. Double it, you pay twice as much, but you haven't doubled the amount of work you're doing. You still have 2 people (although close to 3) doing the majority of the work. Therefore, it's more efficient to keep small independent teams.
Everything that can go wrong will, and by Murphys law, all of these 13 laws are now taken literally by redditors and the uneployment rate skyrocket when company CEOs realized they could take the square root of employees multiple times if the company was large enough - To a certain extent:
Both the square root of 2 and the square root of 3 would lead the company to keep 2 people employed at minimum due to the messy nature and marketing disaster of dividing people into decimals.
Using twitter as an example is also kind of insane - can't tell if the article author referenced the linkedin post merely to show where they first heard about it or if they also agree with the assessment, but yikes
Also, what Murphy originally said is not what we today call Murphy's law.
Murphy's assistant wired a test harness wrong, and according to another person who was present, Murphy said, "If that guy has any way of making a mistake, he will."
Murphy's son said that he had heard his father say, "If there's more than one way to do a job, and one of those ways will result in disaster, then he will do it that way."
In general, non of these are "laws" we understand it scientific terms. They are conjectures that people seem to connect with. But there is zero scientific data behind any of these.
I know that most of these laws are more rules of thumb that are backed at best by anecdotal evidence but this one struck me as particularly dubious so I did a quick search and found that the author was completely misquoting this "law"
Even ignoring the outages, every feature that isn't part of the front page is crumbling. Searching and old archives are pretty much already completely broken.
If we ignore the problems and the huge loss of value of the company. To the point that they're now blackmailing big tech into paying for twitter ads or they government will "investigate" them.
I've been a developer for 20 years. Every single time I tried to ask "why" or what's the value or any question like that, I got a "shut up and do your work" as a response. Not with those exact words, but with that meaning.
So I just do what I'm told, even if I know that's going to make the company lose customers. I do what I'm told, I get paid, and that's it.
I quit a job because I kept asking "why" and they couldn't answer it. They just wanted to be greedy about absorbing as much medical data as possible, and "legally" by close to dark UX patterns.
It sums up every software development team that creates "technical tasks" or "internal user stories." You don't build APIs for yourselves even if you are the consumer. You build them for the business value. Find the business value. If there is none, don't build it.
All accurate BUT: it completely absolves the engineers from any responsibility regarding outcome. (Been an engineer, been in management, switched back and forth many times.)
Engineers can learn how to manage their managers.
Easy statement to make, hard to implement. Company culture, communication skills (the engineers, and the managers), motivation, etc come into play. But successful teams eventually figure it out.
Ie: (as stated in the article) every rule (law) has exceptions and smart people learn to work with them.
Murphy's Law of Thermodynamics..... Things get worse under pressure.
Corollary to Murphy's Law.... Things only ever go right so they can go more spectacularly wrong later.
Corollary to Price's Law.... Quite a few of those sqrt(N) were actively preventing the N-sqrt(N) others from doing their job. ie. Be careful about who you fire.... if you fire the only ones not visibly producing stuff, quite likely you will be retaining those that attempt to dominate any space they're in.... resulting Price's Law recursing. (Hint: Observe how absolute reproducible the Pareto Principle / Power Law distributions are in social media / interactions)
Corollary to Gilb's and Goodheart's... Stop asking what to or how to measure. Ask what will you do if measure X reaches level Y? The answer is usually nothing in which case don't measure, or the obvious, in which case start doing that.
I've encountered all of these in my decades at this, and didn't realize they all had formal names and quotes for them, heh. I still prefer my versions like, "The scope of the problem will expand to consume all resources."
reveil@reddit
Imho missing a very important one: https://en.m.wikipedia.org/wiki/Amdahl%27s_law
bwainfweeze@reddit
Price's Law feels like a consequence of Brooks + Amdahl.
However if you add Amdahl then you also have to add Little.
MVanderloo@reddit
conway’s law is a consequence of amdahl’s law. the cost of coordination increases the further teams in an organization is. therefore a team is most productive creating things within their team and end up creating things that mirror their organization’s structure
bwainfweeze@reddit
Half of dev process is Conway and the other half is organizing code to avoid merge conflicts.
N0t_my_0ther_account@reddit
Well that was almost good until it mentioned Elon Musk firing a bunch of Twitter devs as if it was no big deal.
ProdigySim@reddit
It was a big deal for the people affected but the software did not care much
tall-n-lanky-@reddit
It’s so sad to see how ideologically driven everything is. Open X. It works fine. What doesn’t have bugs? That had huge implications for the rest of the field. But is just ignored as a discussion topic.
SortaEvil@reddit
Ah, yes, the software that in the weeks and months after firing 80% of the staff started randomly just... not showing comments... in the middle of comment chains, literally the only job of the software, was completely unaffected by the firing of 80% of the staff that happened in the weeks leading up to that starting to be a problem.
Schmittfried@reddit
It did.
Enyachan@reddit
Elon fired 80% of the staff, the valuation of the company dropped 80%, pretty much exactly 1:1
gdvs@reddit
There's still a decrease in quality though. It only says it's not linear.
tiajuanat@reddit
No love for Amdahl's law?
darchangel@reddit
You forgot about Cole's Law
Full-Spectral@reddit
There are a provably finite number of ways to make slaw.
One_Being7941@reddit
Yummy
MVanderloo@reddit
big fan of cole’s law
shevy-java@reddit
Well - first april, but I think Murphy's Law is actually a good metric, in the sense that you can anticipate problems (in code, hardware etc...). Erlang kind of has this built in as a core philosophy (though syntax-wise, they really should have learned from python or ruby; elixir improved a few things but is nowhere near as elegant as ruby either).
Other languages also try to deal with the unexpected, but often is rather awkward - catch/throw ... I never liked the concept. Even begin/rescue in ruby can be annoying - once I had to deal with network-related issues. After perhaps the sixth specific error clause, I wondered what the heck I was doing. (I don't know who or what recommended to be specific when it comes to handling errors; once the error handling code became like +50 lines of code, I wondered what I was doing.)
Kind of like Rust acknowledging that memory errors are issues in C and C++. Whether Rust is better I have no idea, but Rust kind of influenced both C and (especially) C++ in one way or the other.
Full-Spectral@reddit
Rust is decidedly better, this coming from a 35 year C++ developer. Of course the problem is that many C++ developers who consider memory errors a 'skill issue' and claim that they have never in their careers had one.
mareek@reddit
Price's law is not about work don but about scientific publication:
And even in its correct form, it's not a very acurate "law":
source : https://en.wikipedia.org/wiki/Price%27s_law
General_Mayhem@reddit
The Twitter example is also nuts, even if the law were true. The takeaway from Price's law should be that you need to be very careful about firing people lest you accidentally fire someone in that small square-root group, which is teh exact opposite of what Musk did. Twitter did fall apart after he slash-and-burned, because his process was adversely selecting to retain the useless group.
See also this classic about chasing away your best talent in the interest of "cost savings".
Whatever4M@reddit
How has it fallen apart?
mixedCase_@reddit
I've been able to access it just fine. Have you checked your DNS settings?
Ghi102@reddit
Research has contradicted it, but if you continue reading, it says that the distribution is even more skewed. Meaning that, on average, fewer than the square root of people do more than 50% of the work.
What's funny though is that this is not a reason to fire people. In a team of 9, let's assume 3 people do the majority of the work. But if you fire 6, then the square root of 3 (so like 1 person) will still be doing the majority of the work.
Really, it's more of a warning about growing team size. If you start with a team of 4, 2 people do the majority of the work. Double it, you pay twice as much, but you haven't doubled the amount of work you're doing. You still have 2 people (although close to 3) doing the majority of the work. Therefore, it's more efficient to keep small independent teams.
joao8545@reddit
Is this an example of Cunningham’s law?
Plank_With_A_Nail_In@reddit
Its just a bit of fun, none of these are real rules lol.
shevy-java@reddit
Actually Murphy's law is kind of a semi-rule. You kind of have to expect the unpexpected even when writing code after all.
PineapplePiazzas@reddit
Everything that can go wrong will, and by Murphys law, all of these 13 laws are now taken literally by redditors and the uneployment rate skyrocket when company CEOs realized they could take the square root of employees multiple times if the company was large enough - To a certain extent:
Both the square root of 2 and the square root of 3 would lead the company to keep 2 people employed at minimum due to the messy nature and marketing disaster of dividing people into decimals.
ikeif@reddit
Somewhere, an MBA student is reading this and will convince themselves they can use this idea.
It will create a blog, then a book deal, then a book tour where he goes to companies and tells them how they should follow this "law."
zaidesanton@reddit (OP)
It never helps to add the caveats 😅
pertraf@reddit
Using twitter as an example is also kind of insane - can't tell if the article author referenced the linkedin post merely to show where they first heard about it or if they also agree with the assessment, but yikes
shevy-java@reddit
Well, it is the first april after all. :)
TheGoodOldCoder@reddit
Also, what Murphy originally said is not what we today call Murphy's law.
Murphy's assistant wired a test harness wrong, and according to another person who was present, Murphy said, "If that guy has any way of making a mistake, he will."
Murphy's son said that he had heard his father say, "If there's more than one way to do a job, and one of those ways will result in disaster, then he will do it that way."
Euphoricus@reddit
In general, non of these are "laws" we understand it scientific terms. They are conjectures that people seem to connect with. But there is zero scientific data behind any of these.
mareek@reddit
I know that most of these laws are more rules of thumb that are backed at best by anecdotal evidence but this one struck me as particularly dubious so I did a quick search and found that the author was completely misquoting this "law"
all_is_love6667@reddit
downvoted because it did not mention Wirth's law
https://en.wikipedia.org/wiki/Wirth's_law
r0ck0@reddit
Did you actually downvote because of that? Or just a joke?
all_is_love6667@reddit
I did
it's the only law that really really matters to me, and it's not even in the list.
software bloat is real, and it's really bad that it's not mentioned in the list.
cazzipropri@reddit
You lost my respect when you brought that up.
Twitter did in fact, collapse. X/twitter has had a lot of glitches, the last 2 days ago https://www.it-daily.net/en/shortnews-en/x-down-again-thousands-of-users-report-outages
levir@reddit
Even ignoring the outages, every feature that isn't part of the front page is crumbling. Searching and old archives are pretty much already completely broken.
hackingdreams@reddit
Well they also used a bunch of Dilbert comics, so, it was going to be shit from literally the get-go.
Scottz0rz@reddit
Well if you ignore all of the problems, it did actually work well!
the_bighi@reddit
If we ignore the problems and the huge loss of value of the company. To the point that they're now blackmailing big tech into paying for twitter ads or they government will "investigate" them.
BeyondLimits99@reddit
Thats amazing.
The backend team builds APIs based on their own assumptions
This sums up a problem I had today 😂
GoTheFuckToBed@reddit
in general, developers jump straight to writing code, not asking what problem does it solve
ClickableName@reddit
I think that is one of many things that seperate a Medior from a Senior developer
the_bighi@reddit
I've been a developer for 20 years. Every single time I tried to ask "why" or what's the value or any question like that, I got a "shut up and do your work" as a response. Not with those exact words, but with that meaning.
So I just do what I'm told, even if I know that's going to make the company lose customers. I do what I'm told, I get paid, and that's it.
ikeif@reddit
I quit a job because I kept asking "why" and they couldn't answer it. They just wanted to be greedy about absorbing as much medical data as possible, and "legally" by close to dark UX patterns.
I wanted no part of that.
Br3ttl3y@reddit
It sums up every software development team that creates "technical tasks" or "internal user stories." You don't build APIs for yourselves even if you are the consumer. You build them for the business value. Find the business value. If there is none, don't build it.
jelder@reddit
Does every software engineer’s personal blog have one of these posts? I just published mine: http://www.jacobelder.com/2025/02/24/eponymous_laws.html
choice-clam@reddit
Yours doesn’t offer any additional insights or funny webcomics.
thesamim@reddit
Retired old guy here.
All accurate BUT: it completely absolves the engineers from any responsibility regarding outcome. (Been an engineer, been in management, switched back and forth many times.)
Engineers can learn how to manage their managers.
Easy statement to make, hard to implement. Company culture, communication skills (the engineers, and the managers), motivation, etc come into play. But successful teams eventually figure it out.
Ie: (as stated in the article) every rule (law) has exceptions and smart people learn to work with them.
choice-clam@reddit
It also says they are not laws, rather they are mental models.
TheAxeOfSimplicity@reddit
Murphy's Law of Thermodynamics..... Things get worse under pressure.
Corollary to Murphy's Law.... Things only ever go right so they can go more spectacularly wrong later.
Corollary to Price's Law.... Quite a few of those sqrt(N) were actively preventing the N-sqrt(N) others from doing their job. ie. Be careful about who you fire.... if you fire the only ones not visibly producing stuff, quite likely you will be retaining those that attempt to dominate any space they're in.... resulting Price's Law recursing. (Hint: Observe how absolute reproducible the Pareto Principle / Power Law distributions are in social media / interactions)
Corollary to Gilb's and Goodheart's... Stop asking what to or how to measure. Ask what will you do if measure X reaches level Y? The answer is usually nothing in which case don't measure, or the obvious, in which case start doing that.
TurboGranny@reddit
I've encountered all of these in my decades at this, and didn't realize they all had formal names and quotes for them, heh. I still prefer my versions like, "The scope of the problem will expand to consume all resources."
jdehesa@reddit
Illustrating Cunningham's law with anything else than XKCD 386 is just wrong.
zaidesanton@reddit (OP)
Wow thanks missed that one! Updated the article :)
quantum-aey-ai@reddit
I completely forget that there are people who don't know these. Also, eager for email are we...
Jaarmas@reddit
Great read. Really good points in there.
NewExplor3r@reddit
Funny. Sent it to my teammates and we all had a good laugh.