Remix.run Logo
firefoxd 3 days ago

They are pretty insightful. Particularly this one:

> 3. Bias towards action. Ship. You can edit a bad page, but you can’t edit a blank one.

I have my own version of this where I tell people that no amount of good advice can help you make a blank page look better. You need to have some published work before you can benefit from any advice.

sowbug 3 days ago | parent | next [-]

I liked that one, too, but for an additional reason.

Typing that first character on the page reveals the problems you didn't even know existed. You don't have a keyboard. You do, but it's not plugged in, and you have to move an unexpectedly heavy bookcase to reach the USB port. You need to learn Dvorak. You don't have page-creation privileges and need to open a ticket that will take a week to resolve. You can create the page, but nobody else is able to read it because their machines aren't allowed to install the version of the PageReader™ plugin that your page requires (and you'd need a VP exception to downgrade your PageGenerator™ toolchain to their version). And so on.

All these are silent schedule killers that reveal themselves only once you've shipped one full development (and deployment!) cycle. And as ridiculous as these example problems seem, they're not far from reality at a place as big and intricate as Google.

llmslave2 3 days ago | parent | prev | next [-]

I wish Google would be biased a little more towards quality and performance. Their user-facing products tend to be full of jank, although Gmail is quite good to be fair.

In general I think the "ship fast and break things" mentality assumes a false dilemma, as if the alternative to shipping broken software is to not ship at all. If thats the mentality no wonder software sucks today. I'd rather teams shipped working, correct, and performant software even if it meant delaying additional features or shipping a constrained version of their vision. The minimalism of the software would probably end up being a net benefit instead of stuffing it full of half baked features anyways.

sdenton4 3 days ago | parent | next [-]

When you're not shipping, you're not learning from users. As a result, it's easy to build working, correct, performant code which doesn't fit what anyone actually needs.

anonymars 3 days ago | parent | next [-]

I think you can also learn from users when they complain en masse about the current atrocious state of software quality. But I guess that doesn't show up in telemetry. Until it does. Looking at you, Microsoft!

otterley 3 days ago | parent | next [-]

I believe one of the main reasons why Windows 11 is getting so much vitriol is that Microsoft is focusing on customers, which aren't always identical to users. Most of the time, when you buy a Windows-based device, you're not their customer: you're the OEM's customer, and for the OEM, every nickel of expenses counts. On the other hand, direct Microsoft licensees, such as corporate ("enterprise") customers, get much more attention from the company and a significantly better experience.

astrange 3 days ago | parent | prev [-]

You can't learn from this because users always complain no matter what.

The trick is they just complain about the last thing they remember being bad, so it's a good sign when that doesn't change, and it's bad if they start complaining about a new thing.

llmslave2 3 days ago | parent | prev [-]

Figuring out what is useful for people is not some difficult problem that requires shipping half baked slop. That's just an excuse.

sdenton4 2 days ago | parent | next [-]

This is analagous to the problem of premature optimization - if you try to optimize performance without benchmarking, you end up eating a lot of time and effort on things that don't matter. Likewise for product: it is very easy to solve the wrong problems.

websiteapi 3 days ago | parent | prev [-]

ridiculous.

> Figuring out what is useful for people is not some difficult problem that requires shipping half baked slop

what have you shipped? paying sees literally hundreds of thousands of dollars a year to ship out fledged out software that no one wants is exactly why Stadia lasted both way too long and got cancelled anyway.

figuring out what is useful is the hardest problem. if anything that's Google's biggest problem, not shipping fast enough, not iterating fast enough.

llmslave2 3 days ago | parent [-]

Yeah if only Google shipped more crap software that they then go onto cancel, their software would be so much better!!!!!

samiv 3 days ago | parent | prev [-]

I wish people who ship crappy software didn't ship it and would let someone else ship something better instead.

It really sucks when the first mover / incumbent is some crappy half assed solution.

But unfortunately we live in a world where quality is largely irrelevant and other USPs are more important. For example these little weekend projects that become successful despite their distinct lack of quality

Linux kernel - free Unix.

JavaScript - scripting in browser

Python - sane "perl"

Today on GitHub alone you can probably find 100 more featured and higher quality projects than any of these were when they launched but nobody cares.

ryandrake 3 days ago | parent | next [-]

While we're wishing for things that are never going to happen, I wish users would stop adopting crappy half-assed first-mover software, causing them to gain momentum and become the defacto/dominant solution.

samiv 3 days ago | parent [-]

That's the other side of the value added coin. Users sometimes find value even in the half assed software.

Someone was once talking about the "solving the right problem wrong" vs "solving the wrong problem right".

disqard 3 days ago | parent [-]

> "solving the right problem wrong" vs "solving the wrong problem right".

That's a really useful framing!

ghaff 3 days ago | parent | prev | next [-]

WRT Linux. Sure, 1991 or really even mid-90s Linux was clearly immature. But Wall Street was adopting it instead of Solaris by the turn of the century. Plus "open source" so it wasn't the case of a new proprietary Unix just emerging from the sea foam which no one wanted anyway but Linux becoming the good enough Unix standard which is what people did want.

websiteapi 3 days ago | parent | prev | next [-]

existing is better than not existing and those who move fast and ship crappy software first will win. learn the lesson :)

willi59549879 3 days ago | parent | prev [-]

how does the Linux kernel lack quality?

ghaff 3 days ago | parent [-]

It did in the early days, especially up until 2.4 which was generally considered the first enterprise-ready kernel version. (You can argue about whether the old "enterprise-capable" definitions still applied but they were a benchmark for a lot of people.) Of course, lots of ancillary stuff too in userspace and outside the kernel related to filesystems and the like.

throwaway2037 3 days ago | parent [-]

Wiki (https://en.wikipedia.org/wiki/Linux_kernel_version_history#O...) tells me that version 2.4 was released in early 2001. That is a long time ago. Most of the commercial world was running SunOS, Solaris, HP-UX, or AIX. So is it fair to say that the Linux kernel has been "quality" for 25 years now?

rswail 2 days ago | parent | next [-]

2001 was immediately post dotcom crash and so all the people that had bought into the Sun "the network is the computer" were tossing out expensive E4Ks, and getting cheap intel servers to survive.

HP-UX and AIX were already legacy.

Linux 2.4 was when it hit critical mass because of the publicity of the dotcom boom and it was like what was left after the "tide went out and the market found out who was swimming naked".

ghaff 2 days ago | parent [-]

Certainly. The 2.4 kernel and IBM embracing Linux at around that time pretty much made all proprietary Unix legacy.

The desktop took longer with less well-defined transition points and, arguably, MacOS with its BSD foundations (and command line option) ended up being a good alternative for a lot of the non-Windows crowd--though Windows is still dominant as a desktop/laptop OS. (Windows/Azure are, of course, still major in backend corporate environments as well.)

ghaff 2 days ago | parent | prev [-]

Quality by the standards at the time or at least a good value for most purposes. Yes.

crystal_revenge 3 days ago | parent | prev | next [-]

The problem is I've worked at at least 5 companies that professed a strong "bias for action" and it nearly always meant working nights and weekends to ship broken things that ultimately hurt the user and then moving on to the next big leadership project to do the same thing again, never looking back. The exception of course would be when leadership finds it's broken in 5 months and complains about poor engineering practices and asking why engineers can never get things right.

I've heard all the truisms listed in that post in my 14+ years at many companies that aren't Google and in all cases there's a major gap between the ideal and the reality.

This entire list reads to me as "I got paid 10s of millions of dollars to drink the Kool Aid, and I must say, the Kool Aid tastes great!"

fuzzythinker 3 days ago | parent | prev | next [-]

Disagree. There's levels to this. Not all bad pages are better than blank ones. Ones that harms user data or worst is worst than blank pages.

dartharva 3 days ago | parent | prev | next [-]

The problem with this approach is that once you've started with a "bad" draft and enough people have signed on, you're locked in to its trajectory and can't do foundational rewrites even if you were within the feasible window. It'll just end up being a bad product overall.

Starting right is important.

eikenberry 3 days ago | parent | prev | next [-]

Sounds a bit like a rephrasing of the old "it is better to ask forgiveness than to ask permission".

astrojams 3 days ago | parent | prev | next [-]

I’m a big fan of Amazon’s leadership principles. One of them is bias for action. I worked at AWS for a few years and I’d be in a meeting and someone would say bias for action and we’d all know what we needed to do.

tjwebbnorfolk 3 days ago | parent | prev | next [-]

Same. Mine is: existence is the most important feature.

rapidfl 3 days ago | parent | prev [-]

It is good only if the whole team believes it.

If the team mates have a different mindset, they see it as half baked or hacky. And if there is ever some bad feedback, they just use it as a "I told you so" and throw you under the bus.

sowbug 3 days ago | parent | next [-]

If your self-esteem is sufficiently resilient, you can exploit the same human tendencies behind Cunningham's Law (the best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer). Check your crappy end-to-end proof of concept into the team repository, and your teammates will be so horrified and outraged that they'll fix it faster than any sprint could have planned.

rapidfl 3 days ago | parent [-]

yeah there are ways, but is it good for your career lol

Also the one person who has to review it before checking in needs to be resilient too

songodongo 3 days ago | parent | prev [-]

Bad feedback can be more helpful than good and is often the only type of feedback a product gets. And you may not have received that feedback if you didn’t ship. It’s better to get that information early.

rapidfl 3 days ago | parent [-]

I personally agree with the premise to ship early, with some rough edges, etc. But teammates may not be supportive. You need the whole team to have that mindset/culture.