Live data from Hacker News

Goodbye, and Thanks for All the Bikesheds

queue.acm.org

261–270 of 285 posts

Re: Goodbye, and Thanks for All the Bikesheds

#261
post #182

Earlier quoted context omitted.

This often massively discounts the cost of reversing decisions. People often work to build things without any thought given to those who have to maintain it afterwards. Especially when it's not them. I worked at a large, publicly-traded multinational where decades prior and they were still just a 4 man startup they decided the database server and all timestamps should be in the local timezone. They are still using ES…

There seems to be some general pattern here that you can find pretty often in "dev war stories" contexts: (1) We're a small startup/new product team/etc, let's just build the MVP and keep everything simple! (2) Now we're not small anymore and suddenly have all kinds of nonfunctional requirements we never imagined before! But our simple architecture from before is making everything a pain now! The natural instinct is…

In addition to Second System Syndrome that has already been covered, I think there are several other things going on here that lead to the tug of war.

In another reply I already mentioned a flavor of Sunk Cost, which is resistance to any change to the code that 'made us successful' because they consider they have already won and taking it away now is some sort of revisionist history effort instead of just Progress. Hofstadter's Law, which tells you we still have plenty of time, despite three initiatives already having finished long past the point of maximum tolerable pain already.

But more damningly, I have worked with a lot of people who want to skip from Make it Work straight to Make it Fast without Making it Right in the middle. Those are the people who, among other things, reach for caching too early, and then declare the war for cost reductions over before they've even started, because there are no perf analysis tools that can see past and around the caching logic to find the issues that caching either didn't fix or made much much worse.

I'm not advocating for making hot decisions at every point along the way. I'm advocating for people having enough experience and foresight to understand which 20% of the code flow is Architecture from which is just feature factory work and making sure that 20% gets 80% of the design thinking and timely preventative maintenance.

On a couple projects I've just done all that myself. But it is a quick road to being a bottleneck and then to burnout. You have to aggressively recruit people to be bus numbers on all of those things. This is part of why I do so much mentoring.

Re: Goodbye, and Thanks for All the Bikesheds

#262

Earlier quoted context omitted.

This often massively discounts the cost of reversing decisions. People often work to build things without any thought given to those who have to maintain it afterwards. Especially when it's not them. I worked at a large, publicly-traded multinational where decades prior and they were still just a 4 man startup they decided the database server and all timestamps should be in the local timezone. They are still using ES…

>> People often work to build things without any thought given to those who have to maintain it afterwards. Especially when it's not them Because for maintenance there is a different team and budget. Same goes about the meetings. Recent example: it's okay to blow $1000 in man-hours to discuss and reject an increase of the compute capacity of my virtual workstation. I bet the cost associated with request was ~$25 of i…

I've been doing this a long time and I've rarely seen a separate team and budget for maintenance.

Except for "all of the original team left and we're just here to keep the lights on."

I think it's important to distinguish between situations where the business intentionally made this decision from ones where it was forced upon them. Because the delusion of thinking we can still go on after we scared off all of the people who made this thing leads to a very different dynamic.

Re: Goodbye, and Thanks for All the Bikesheds

#263

A bit of an aside, but after someone introduced me to the notion of Reversible Decisions, it quickly became apparent to me that the solution to the bikeshed problem is to throw money at it before the roosters can start preening about which color the shed should be. Decisions that are reversible should just go with the instinctive answer of whoever volunteers to work on it. I've been in many meeting rooms where, becau…

In accounting this is the concept of "materiality". If some asks "is this material?", they are asking if it's worth spending significant time looking at it or deciding. Remember to * 3 when assessing. Choose wrong, and you do the job, undo it, and do it again.

Always fun when they manage to categorize it wrong 3 times in a row.

One of the hardest parts of my job is trying to convince people where the pool of blood on the floor is coming from. We are forever stitching up the wrong wounds and missing others entirely.

Pain sneaks up on people and they often don't realize they're in pain until someone takes it away. This is probably why Refactoring is one of my favorite tech books. It's a set of tools and justifications for chipping away at that pain bit by bit, instead of tolerating more and more while productivity grinds to a halt.

At the end of the day, if only three people really have to care about a thing and they're fine with it, is it their business to run the project the way they prefer/tolerate? It does matter if the opportunity costs and externalities are affecting other projects. If they don't have time to work on other features because of the mistakes they never correct. If other people's flow is constantly interrupted trying to work around their quirky stuff. But if we don't see any of that, or only rarely, then it's more that my internal architect trying to be bossy rather than lift all boats.

Re: Goodbye, and Thanks for All the Bikesheds

#264
post #230

A bit of an aside, but after someone introduced me to the notion of Reversible Decisions, it quickly became apparent to me that the solution to the bikeshed problem is to throw money at it before the roosters can start preening about which color the shed should be. Decisions that are reversible should just go with the instinctive answer of whoever volunteers to work on it. I've been in many meeting rooms where, becau…

This reminds me of my experience as a senior contractor joining teams that seem to enjoy endless discussion. For example, when implementing a new feature using an open-source library or framework they will want to make a prototype of all possible libraries, make a report about each of them, have some big discussions about which to choose, and only _then_ start the real implementation. My advice is always to just pick…

I don't know what the black art of tool selection is, but I'm at least a couple std deviations above average on picking libraries that have legs. Nobody gets it right every time, but some people seem to get it wrong every time.

Be sure the work is given to someone who puts some intention into tool selection and you'll probably be okay though. We don't need three different tools doing the same kind of tasks. But sometimes the old old stuff gets moved to the new tool because the old tool couldn't handle that scenario.

Re: Goodbye, and Thanks for All the Bikesheds

#265

A bit of an aside, but after someone introduced me to the notion of Reversible Decisions, it quickly became apparent to me that the solution to the bikeshed problem is to throw money at it before the roosters can start preening about which color the shed should be. Decisions that are reversible should just go with the instinctive answer of whoever volunteers to work on it. I've been in many meeting rooms where, becau…

> but I've seen a couple cases where the bus number for a module wanted a solution with fewer consequences but the group wisdom wanted something flashier but also more brittle. Only a couple? This is some peoples entire job, we can refer to them as "enterprise architecture". Lived experience is a decade ago, and you once saw Kafka solve someone's queuing problem so now everyone's api interface has to run over Kafka.…

Let me rephrase that. I've seen a few cases where it became a major issue, rather than just being a fact.

Often people are smart enough to not ask questions they don't want the answer to. If the three people trusted to handle a problem all are in agreement as to how, then the peanut gallery may just be confounding issues in order to pad resumes or to feel important and involved.

Re: Goodbye, and Thanks for All the Bikesheds

#266

First read of this pissed me off, but subsequent reads gave a much different opinion. Do yourself a favor and read this, a few times, and take a moment to actually try and see what the author's getting at.

I detest this writing style, where you assert arguments you don't actually believe in and know are in bad faith, in that sniveling "prove me wrong" tone, to provoke some kind of reaction. Well, mission accomplished, reaction provoked. I'm not going to read this multiple times. I'm going to fire off this comment and remove it from my brain forever.

[deleted]

Re: Goodbye, and Thanks for All the Bikesheds

#267
post #249

Earlier quoted context omitted.

This often massively discounts the cost of reversing decisions. People often work to build things without any thought given to those who have to maintain it afterwards. Especially when it's not them. I worked at a large, publicly-traded multinational where decades prior and they were still just a 4 man startup they decided the database server and all timestamps should be in the local timezone. They are still using ES…

I sort of agree. But I kind of think it misses the point. Bike shedding means no decision is made. That is the worst possible outcome as it provides absolutely zero value. Even a wrong decision provides at least some value even if it fails horribly. Maybe we paint the shed black and it burns down due to excessive heat, but it’s a bike shed so who actually cares if we need to rebuild the entire thing and paint it whit…

Bike shedding means no decision of consequence is made. People wanted to participate in something, and they sucked all of the oxygen out of the room for other decisions.

It's that important decisions were either not made or got insufficient scrutiny that's the problem. So aggressively shutting down bike shedding that is actually bike shedding by picking a solution and moving on or tabling the discussion to let a team of 2 solve it offline is what you're after.

Sometimes though, bike shedding can be a delay tactic. We have a decision we are not ready to make that someone is forcing a vote on, and there's a silent conspiracy to derail the conversation to avoid the vote for one more meeting.

And then there's people learning not to be responsible for anything, either as a career choice or due to previous trauma at this business. So they are asking for too much input so any consequences are not their fault alone. As you say, being a coin flipper in such situations becomes its own soft power. I've worked at a couple places where a handful of people clearly followed my advice solely because they knew I'd say it was my fault if things went wrong. They just wanted a Decider and I sounded like one so they did things the way I wanted them done. Their motivation was to avoid having to deal with being yelled at. I did my yelling in private, instead of turning it into an opportunity for public humiliation.

Re: Goodbye, and Thanks for All the Bikesheds

#268
post #183

I have met women in tech who have been privacy conscious and paranoid about state control. Or even a healthy stream of non-tech women worried that it will be used to attack their sex and to discriminate. I don't think the author is correct in his belief that there are not a considerable amount of women worried about privacy. And to make such a board claim, and in light of my experience, would indicate either hubris o…

[dead]

I was never great at spelling. But at least it now has the plus of showing I'm not AI.

Re: Goodbye, and Thanks for All the Bikesheds

#269

Earlier quoted context omitted.

You should've kept reading: > During the past couple of decades, rampant neoliberalism and “globalism” allowed the U.S. tech industry to capture almost the entire European IT market, including all “social media.” This has recently proved to be a ghastly mistake, and now the EU, along with its member states and companies, are scrambling to claw back their digital sovereignty. This is not a partisan political statement…

The term neoliberalism has no meaning, it's purely used in a pejorative way by leftists. If you want to talk about world markets, just say world markets. Or "free market", but it has free in it so it makes the effect less powerful. Also, the reason the EU does not have that many tech companies is not global competition; it's that it takes 6 months to hire someone, you cannot fire them ever, and nations tax you based…

I'll fully grant that the vast majority of the time when I use the word neoliberal, it is indeed derisively. Doesn't change that this is, again, simply an observation that names the thing. Markets, localized or world, free or not, do not function in vacuums. They are shaped by ideologies, including that of the neoliberal school of thought.

It's frankly far more derisive of me and any reader really to say that because "free market" has the word "free" in it that the majority of people will cosign it happily with no further thought. Do you also think the DPRK is a democracy because it says so?

The EU has a large menagerie of businesses, successful and otherwise. If hiring friction and tax policy were the whole story, you'd expect the EU to lag in all capital-intensive industries, not just have a specific gap in hyperscale tech, which is the one sector most directly shaped by network effects and first-mover advantage from a market that let a handful of US firms scale first.

Additionally I'd push back on the premise that "doesn't produce hyperscalers" is even a mark against a system in the first place. They're what you get after competition has mostly finished collapsing into a handful of winners who then run the supposedly free market. Funny how the same people who'll lecture you for an hour about the sacred competitive forces of the free market go quiet the second vertical integration and monopoly-adjacent scale start choking those forces out.

Post reply on HN