Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wonder this about a lot of "tier 1" software, whenever I get easy to access critical business logic breaking bugs in Amazon, eBay, etc...

I just find it utterly unacceptable. I'd drag my developers over hot coal if they somehow released what I see from these trillion dollars companies.

I wasn't able to "add to cart" with my Amazon app for instance and things like YouTube and Instagram constantly crash when I'm adding new content. And many banking apps totally freak out when I use a password manager. This is pretty core operation. It's really amazing.

I really don't know how the valley operates sometime.

I'd imagine they supposedly have entire departments and dozens of people who are supposed to make sure this stuff works.

Sometimes I find it so unbelievable that I try multiple devices to take the possibility that it's just me out and it's invariably reproducible on all.

Maybe nobody at the company uses Android or maybe nobody uses their own product? (Maybe people who work at, say, Facebook don't actually like using it...thats understandable, but also unacceptable)

I really don't know how it happens. Maybe their tests are 100% automated and no human checks it? I don't know.



Maybe their quality control can be improved, but you give no insight in QA practices they are obviously skipping. Unless you're counting "dragging developers over hot coal" as your advice. In which case, I have serious doubts the system you're comparing them with is actually of better quality.


It's a problem with many developers. They think that because there can be a root cause analysis, they didn't fuck up.

But there are times when something simply shouldn't be, definitionally. As in, if X happens, it doesn't matter what the root cause analysis is, something is wrong.

To give a real life example, if you're driving drunk, the events and reasons leading up to the act don't really matter. They're not without value, but they're not important for determining that someone fucked up.

This is what the poster you're responding to is saying. That the problems are so goddamned egregious that they simply shouldn't be. It's not up to the aforementioned poster to fix the problems, it's up to the companies in question wanting to be better.


Fair point, but that's obviously not true. All evidence we have points to both amazon and google following excelent software development practices. They are even drivers of good practices in certain parts. So, we'd need stronger evidence to show that they are not doing their due diligence before releasing new versions. I'd say that releasing software without tests, code review and incremental rollout would be akin to drunk driving. However, I believe they do all of that and more.

Moreover, I don't know about the many developers you have experience with, but if the developer considers the behaviour to be a bug, I have a hard time believing they don't consider the behaviour to be a failure (ie. someone made a mistake somewhere). Though, I can definitely see people shifting the responsability to someone else, specially if there's a blame culture in place. Obviously, that's easier to do once you know the root cause. However, a company will be better off by putting solid QA practices in place and measuring "fuck ups" as a decrease in productivity instead of measuring it as the number of times each developer break production.


Maybe the issue they are doing too much dev and less contact with real users. You can unit test all your code but you can't cover all possible real data, so you need to accept user feedback. Sometime ago in one of our products there was an issue with RTL languages, as a developer it was first time I hit this concept, I got the report, I informed myself, I fixed the issue,the ticket was closed,the user was happy. In this case it is clear the developer assumed that they can always find someone picture, the assumption is wrong but probably all the TDD and good dev practices won't catch this issue until someone listens to the user reports.


I think they are passive aggressively telling you something essentially. The public complaints bin would wind up such a useless cesspool of entitled idiots and nuts complaining about "bias" because it doesn't conform to their warped worldview or issues that aren't even theirs like slow boot times. Actually processing that would be a massive sisphyean task with little actual gains from it. You know the "fire your bad 20% of customers that take 80% of your time" advice? Their numbers at large are looking far worse so just didn't hire them preemptively essentially. Strategically it makes no sense to do so.


Google does offer a feedback button in the knowledge panel. However, I assume they are unlikely to take any actions unless there's at least a certain amount of agreeing feedback.


I am wondering if they also put an algorithm to decide when "a certain amount of agreeing feedback" is reached. But TBH compared to other search engines Google is much better in general, my doubts are on the "summary" Google is doing presenting stuff as fact instead to just link you to the source directly.


^ exactly this.


^ this is exactly the attitude I'm referring to. Let me give you an anecdote to further illustrate.

Last friday my internet went out (Cox) and I called into support. The first thing the guy told me? My equipment is too old.

This is simply unacceptable as a reason why my internet stopped working at 6 in the morning. I suspect it was an attempt to upsell me a new modem, but I have a docsys 3 that's under 5 years old. It doesn't matter. Any series of events that results in technical support leading with blaming "old equipment" on the outage is wrong, period. Maybe the equipment went bad, it happens, but that's not what you lead with. Certainly not before trouble shooting.

This is what I mean when I say "definitionally". It doesn't matter what their motivation is. It doesn't matter if it's possible that my equipment died. That employee fucked up.

This isn't about technical excellence or software practices. This is about decision making.


I'm not sure if that employee fucked up. That may be company policy. Support people usually follow a script and they very rarely venture much beyond that. Partially because they lack technical knowledge and partially because it could actually get them in trouble. If I understand it correctly and you were calling your ISP at 6am, I don't think the person you were talking to was a developer. That said, I have no expertise in customer relations, so I wouldn't know if they were following good practices or not in that instance.

I get your point that people make bad decisions, but in software development, those bad decisions shouldn't break the user experience, but decrease the developer's (and/or the team's) productivity instead. Doing root cause analysis is part of the process to achieve that, as it can give insight on how to avoid that class of problems in future. That said, if someone is not doing a good job, they'd hopefully figure it out by themselves, but constructive feedback can also go a long way. Ultimately, if you have a good process in place, it should help you to make an educated assessment of who is underperforming (eg.: their PRs take very long to merge, they are full of beginner's mistakes, their code is never properly tested, their releases are always rolled back a few times until they get it right, etc). All of that without playing the blame game on the (hopefully) rare ocasion that a major bug is found in production.


To a user "The employee fucked up" and "Management fucked up" and "The developers fucked up" are indistinguishable.

Your blame-free production line won't help you if you're making the wrong thing and/or your UX doesn't help the user.

Example: someone at Google decided that if you make a general area-based query - e.g. vets in SF - street view is disabled.

It doesn't matter why they made that decision. To a user, it's an annoying inconvenience. The fact there may - or may not be - some kind of management rationale doesn't make it less annoying or less inconvenient. Nor does the fact that the code doubtless passes the tests it's designed to pass.

The same applies to Amazon's search options. I don't want to see results for 1.5TB external hard drives or any internal drives at all if I search for "external hard drive 12TB". I also don't want fake reviews, or reviews for unrelated products.

I don't want my own videos with my own music hit with fraudulent copyright claims when I upload them to YouTube. Especially if "my own music" is white noise. [1]

I don't want to have to deal with bugs like Heartbleed, Meltdown, or Spectre. I don't want Excel in Office 365 to fail to respond to double-click select. I don't want my card to be declined for no reason when I'm buying groceries.

I don't want the airliner I'm on to crash because management cut corners.

And so on.

Some of these issues are serious, some are less serious. But what's lacking is seriousness across the industry as a whole. There's an underlying attitude that software is either an annoying cost which can be pared to the bone, or a financial optimisation process, or an interesting puzzle to tinker with. And there seems to be too little deep understanding that it exists outside of a laptop screen, and when it fucks up it causes very real issues for very real people.

[1] https://www.bbc.com/news/technology-42580523


> Your blame-free production line won't help you if you're making the wrong thing and/or your UX doesn't help the user.

Blaming someone will not help either. As you said, the user doesn't care who fucked up.

Some of the problems you listed are still open research areas, so I wouldn't call not solving it lack of seriousness. And for the street view thing, given that there's no clear right or wrong, the best they could do is look at the data and see which approach seem to improve the user experience. I hope they've done that, but I don't know.

Then, there are bugs in excel, online shopping, aeroplane systems. Maybe those would be explained as a lack of seriousness, but I don't see how blaming someone would help avoiding those issues.

Finally, there's the recent intel/amd bugs. They were out there for a long time and it took quite a bit of time and ingenuity to find that there was a security flaw there. I think we can hardly classify that as lack of seriousness or understanding that it can have bad effects to people's lives.


This is probably going to come across rude, but I feel like it needs to be said.

nothing in your post was really relevant to this discussion. The fact that it may have been a company policy or that the person wasn't a developer is completely irrelevant to the larger idea. It's literally missing the forest for the trees.

I've been doing software dev for over 20 years and one of the things I'm known for is building very stable systems. Part of the way I do this is by not allowing myself to use these sorts of things as a defense.

When designing and/or building a system I ask: What should not be? Then I build the system to actively look for those situations. Put another way, I don't build systems with the assumption that there are no bugs. Too many developers push the responsibility outside of themselves. As if bugs are inevitable, therefore the fallout from bugs is inevitable. You just do a root cause analysis and move on rather than asking what you could have done differently to avoid the fallout.

I've lost count of the number of times systems I've built have actively refused to do something and then sent out a notification explaining why.

My point here is that you're doing yourself a disservice by insisting that root cause analysis should be enough. Yes it's important, but it's not enough. Some things simply should not be, and they're avoidable.

The problem is that many companies don't really care.


I don't think it's rude to point out someone is missing the point, though I can see why you're considering that given the overall aggressive tone of your messages. Let's backtrack, then. My main point is that scolding an individual for a problem in production is not going to improve the quality of the software produced by a company at all. Do you disagree with that?


Not relevant. You responded to another poster, I responded to that response to try and explain what the other poster was trying to say.

Neither of us said anything about scolding anyone, that's a strawman.


Hm, then is your point that many developers become careless while programming because they are in an environment with safeguards in place to avoid screw ups?


I think the main reason is that they can afford to not care. There is no pressure. They can afford to be inefficient because they know that as long as the core features work, customers will not leave.


Maybe the reason they are trillion dollars companies because they care about more important things than obscure or unprofitable bugs and berating their staff.


Because they care about filling their pockets and mostly nothing else, that’s the reason.


True. Apple has bugs that have been posted on their forums for like 10 years that haven’t gone away and rack up hundreds and sometimes thousands of comments. They don’t care. In some cases they block further comments without ever fixing the bug. They figure something that only affects 1 percent of people Of whom only half of them will actually get annoyed, they don’t need to fix at all. It really adds up though when you have hundreds of bugs.


Seconded, I think they don't want an internet where there is 0 pictures available of some known figure and that's why they don't take such a case into consideration.




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

Search: