Hacker News new | past | comments | ask | show | jobs | submit | hn_go_brrrrr's comments login

It makes a lot more sense if you view it as "we're really gonna stick it to Google" and not "we're going to make a more competitive marketplace".

If you think that you either weren't around or have just forgotten. Google was "do no evil" and seemed to actually mean it. They had a ton of goodwill.

at the time they were the underdogs, even after they reached massive success... they were making data widely available and free and easy to find! this upset so many traditional industries

now that they're at the top — they vacuum all the data up, give you shit results, and sell more data than you probably even know about yourself to advertisers


I didn't forget. That was just PR.

What's wrong with "best practices"? I get the feeling the best practices you're complaining about are TPS reports, whereas I'm thinking more like "don't ship to prod on Fridays".


> I get the feeling the best practices you're complaining about are TPS reports,

I’m talking about the actual term “best practices”, and not the actual practices themselves. The term is an ineffective way to communicate something.

Managers and engineers alike should be able to explain what they do in terms that can be connected with concrete actions / concerns and understandable business goals. Terms like “best practices” are ineffective at doing that. Just like there are code smells, this is a “communication smell” and makes me suspicious that there are underlying problems or weaknesses in the speaker’s ability to communicate clearly. “Best practices” also implies some kind of independence of situation which is fictitious.

“This team doesn’t use best practices for deploying code” -> unclear.

“This team doesn’t use CI/CD, engineers spend too much time resolving merge conflicts, and we see too many regressions make it into production” -> clear. If you need to put it in a bullet point, you can say something like “improve velocity”, “ship fewer bugs”, or “less downtime”.

I’m a fan of ambiguous or unclear language, but “best practices” strikes an unfortunate balance of sounding like it means something but wasting your words saying not much at all.


> “Best practices” also implies some kind of independence of situation which is fictitious.

If you, say, have 30 teams whose projects come together into a product with a 99.9% SLA, you can’t have each team make completely independent judgments of what practices are best for their situation. You can try to, and many growing companies do. What you inevitably find is that the aggregate set of problems is too large, even when every team has a plausible story for why their individual situation makes sense.

The only solution is to write down a “best practices” manual and insist that everyone must follow it, even if they don’t think some practice or another is necessary in their situation.


Sure, you can invent a scenario where the term “best practices” is a half-decent term. I’m not speaking in some kind of absolute. I still think it’s not a very good term here. It’s not really describing best practices, is it? It’s just describing the practices that the teams are choosing to follow.

I would name the document something like “development standards” or something like that. I’ve this called “meeting the bar” or “engineering excellence”. I like “meeting the bar” because the implication is that you haven’t succeeded if you don’t do what’s described. I like “engineering excellence” because it implies that you’ve gone beyond the minimum. I don’t like “best practices”.

I also wouldn’t insist that everyone must follow it. You have minimum standards (everyone must follow) and a set of expectations which are higher than that (everyone should follow). I think it is a kind of common error to make long lists of standards that everyone must follow. It’s better to prioritize. The minimum standards should be short and connected to the most critical concerns like security, privacy, or legal liability.

IMO, 99.9% SLA is not really that hard anyway, but I get what you mean. That’s like 2 whole hours of downtime per quarter.


I pretty much agree with what you’re saying, although I wonder how much it’s a euphemism treadmill. You don’t hear people talk about gold standards much these days. I’ve definitely seen overstuffed practices docs that end up as pointless (and ignored) checklists.


“Best practices” is a bad term partly because it has some kind of gravitational pull that attracts junk, partly because you almost always need some clearer term (it’s vague), partly because it describes something that isn’t relevant.

Alternative terms for your practices docs: just call it “development practices” or something. This makes it a little more clear that it’s not a dumping ground for every practice people think is good / best, but only for what people actually care about, which is the development practices that your team has adopted. You can say something like, “Best practices according to research is X, but our team is adopting Y because we believe Y is promising.”


the word best is highly problematic. best in every possible situation? impossible. only an idiot would believe something so stupid. so it must be best under certain circumstances which means others are best under different circumstances.


Would you say that only an idiot believes in speed limits? Again, the point isn’t that some practices are ontologically best, but that you must limit the freedom of individual teams to decide what’s best in order to achieve organization-wide standards.


The problem is the actual term itself, “best practices”. It really seems like we might be speaking past each other… the question is not about whether the thing you have, which you call “best practices”, should exist. It seems like you are arguing that best practices, the thing, should exist. But I am arguing that “best practices”, the term, should not be used.


I had no interest in sailing or the Royal Navy before reading these books, but I sure do now.


Is AIPAC a foreign agent (are they required to register with the US government as such)?


De facto, yes. There is substantial evidence that AIPAC and the broader Israel lobby coordinates closely with a foreign government.

However, due to their enormous influence, they have avoided de jure registering as such.

By your logic, the Romanian dark horse can't possibly be a Russian op because they never officially registered as a Russian agent.


I was very careful in my wording: someone who is required to register by law may choose to not do so.


"you need 5-6 people" is moving the goalposts. The root comment said nothing about minimum team size.


If the company has enough people in the team, someone just works the night shifts or on scheduled weekends. No one needs to be on-call because there would be someone taking care of it already.


Is the argument here that every software team should have engineers whose normal working hours have 24/7/365 coverage?


If you expect your team to provide 24/7/365 assurance, then it's hard to see how that isn't a perfectly reasonable idea. The only counter to it is that keeping people on call shifts financial cost off the business in the form of psychological cost to its employees. Not very convincing.


Would you take the night shift? Everyone I've seen promote this idea seems to expect that they'll be the lucky ones who get to keep a normal schedule. If you have a service that needs 24/7 uptime, and you transition from an oncall model to a shift model, at least 2 out of every 3 engineers on the team are going to have to change shifts or quit. If the entire industry shifts, high-availability software would simply join the ranks of fields like nursing or manufacturing where many people have no realistic option to work normal hours.


I'm the one who wants to do the night shifts. I miss the time when I worked with a 13-hour time difference due to time zones. But now I don't have the option of working at night, everyone has to be at work during 'business hours', and yet the company I now work for has an on-call policy, and they only pay a tiny bonus to people who join the initiative.


The sane way to solve that problem is to hire people in different time zones to get coverage. Some still need to do weekends but even those are not the same in every country (e.g. Israel).


Sounds like a pretty typical junior engineer to me.


Imagine the chaos that would ensue if each IC had four to eight juniors to supervise... :)


That's literally what "senior engineer" is supposed to be doing according to what I hear are current industry norm, which makes as much sense as what your comment makes it sound. Basically a hidden management role, with all the responsibilities but none of the power.


The chaos would be great for the bean counters. "Productivity" will be up for a month or two. Until it isn't.


They effectively wouldn't be ICs anymore if an important part of their job is to supervise


It's not "Open Source", to use the capitalized term the OSI attempts to gatekeep. It fits most non-zealots' definition, though.


How is it zealous to prevent people from co-opting and diluting the meaning, like you have done here? If anything, companies are trying to misuse "open source" for their source-available code.


Sounds like you need a different manager.


Even if the shares are his collateral, they're still his for now, which means he still has outsized influence on the company. The GP is arguing that if he were to sell a bunch, that might be better for the health of the company.


Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: