[HN Gopher] Why Don't You Use
       ___________________________________________________________________
        
       Why Don't You Use
        
       Author : janvdberg
       Score  : 147 points
       Date   : 2022-03-21 16:16 UTC (6 hours ago)
        
 (HTM) web link (www.brendangregg.com)
 (TXT) w3m dump (www.brendangregg.com)
        
       | dasil003 wrote:
       | There's something infuriatingly help-vampirish about asking any
       | question of the form "why don't you do x?".
       | 
       | The pithy answer is because of all the things in the world that
       | someone might propose need doing, I can only do a vanishingly
       | tiny fraction of them. Even the largest, most profitable company
       | in the world can only do a slightly larger tiny fraction of them.
       | 
       | The reason we don't do the things you ask about is because we are
       | focused on doing the things which we've prioritized using our
       | best judgement. The idea that we somehow owe an explanation to
       | internet randos about everything we _don 't_ do is indicative of
       | a personality that must not be allowed anywhere near engineers
       | with work to do.
        
         | tchalla wrote:
         | Honestly, I have learnt to reply with we think Y was the best
         | option to bring the discussion back on track. In the case where
         | the person insists to try X, I ask them - How would you do it?
         | More often than not, the conversation ends there. If not, I ask
         | the to make a proposal and convince the team to do X.
         | 
         | The question of that form is akin to "proving a negative"
        
         | gkop wrote:
         | Infuriating indeed. It's not just internet randos though, it's
         | also (for example) engineering executives lacking in self
         | awareness.
        
           | tapas73 wrote:
           | Internet randos, executives. Next in line should be fellow
           | programmers "Why the f should I tell you my reasons, if you
           | are competent programmer you should allready know
           | everything".
        
         | edgyquant wrote:
         | I've asked other engineers a question in this manner, but I was
         | genuinely curious. E.g. why did you implement this this way
         | etc.
        
       | ape4 wrote:
       | I don't want to rewrite my app when the framework/API inevitably
       | changes.
        
       | thrashh wrote:
       | Personally I don't think it's actually secrecy.
       | 
       | I think it's that you're asking the wrong person most of the
       | time.
       | 
       | From my experience, a lot of the times it's just a few people who
       | really are deciding and everyone else is just part of the
       | meetings and they don't really care that much.
        
       | AdmiralAsshat wrote:
       | Ctrl+F: legacy
       | 
       | > Phrase not found
       | 
       | Aw, come on.
        
       | loudmax wrote:
       | I believe that the kind of company that Brendan Gregg would work
       | for would have excellent reasons to use or not to use a
       | particular piece of software. There are a great many more
       | companies that don't hire people of Gregg's caliber, and a lot of
       | them are quite likely to have many terrible reasons for using not
       | using a particular piece of software. Not being aware of the
       | product being among those reasons. By definition, most workplaces
       | are mediocre.
        
         | justin_oaks wrote:
         | Yes, I believe most companies have poor reasons for the
         | technology they use.
         | 
         | Gregg says:
         | 
         | > People think it's poor technical choices ten times more than
         | it actually is.
         | 
         | I'm skeptical. My experience shows that technical choices are
         | often driven by politics:
         | 
         | - The boss knows the people selling the software so he chooses
         | it based on that
         | 
         | - The boss used this software in the past and he wants to stick
         | with it
         | 
         | - Penny pinching (Superior software is more expensive)
         | 
         | - The boss who chooses the software doesn't have to use it.
         | 
         | - We get this software for free because it is included in
         | another contract. We might as well use it...
         | 
         | And many other bad reasons.
        
       | a_c wrote:
       | Quick searching doesn't yield my "why don't you use" - migration
       | cost. Unless a tool is bringing in functions never used before,
       | e.g. Jira to a team where project management was non-existent,
       | otherwise there are at least data , user behaviour, integration
       | and reporting that need to migrate from. That means most of the
       | time it just isn't worth it
        
         | oriolid wrote:
         | This is how we had people using CVS in 2010 and Subversion in
         | 2020, and why we can never get rid of autoconf.
        
       | bitwize wrote:
       | (robot voice) Why don't you use MongoDB. MongoDB is web scale.
       | Relational databases don't scale because they use joins and write
       | to disk.
       | 
       | (At the worksite I've been known to say "MongoDB is web scale" in
       | a robot voice to remind coworkers to stop and think about whether
       | Mongo (or any noSQL solution) really is the best choice or
       | whether they chose it due to convention or fashion.)
        
         | gqewogpdqa wrote:
         | Oracle V2 was known as the "roach motel of databases". Data
         | went in and it didn't come out. By V5, Oracle was a solid
         | database. Why do people not give MongoDB the credit for growing
         | up from a memory-mapped db to something far more serious, where
         | they say they have ACID transactions, HA, a managed cloud
         | service, etc? The industry memory of that meme is impressive,
         | hilarious...and misplaced.
        
       | lliamander wrote:
       | Curiously, this doesn't include the most common reasons I've
       | seen:
       | 
       | 1. Because we our engineers don't know X, and we wouldn't be able
       | hire people who already know X.
       | 
       | 2. Because we are already invested in Y, and the benefits of X
       | are nebulous and speculative, or can't be connected clearly to
       | business outcomes.
       | 
       | In essence, both of these come down to a matter of organizational
       | inertia, but that inertia can either be good or bad.
       | 
       | A lot of times, organizations don't really have a process to
       | proactively evaluate technology, and the process for making
       | technology changes is ad-hoc. Even when there is a clear need to
       | make a change, it's not clear who all the stakeholders are or who
       | makes the final decision.
       | 
       | Ideally this is something that should be sponsored by senior
       | technical leaders (CTO, VPE, etc) but the decisions should be
       | made by your most senior, boots-on-the-ground technologists.
       | 
       | (Or you can just individuals/teams to use whatever tech they
       | want, with thr understanding that they have to be good citizens
       | with regards to maintenance, documentation, tooling, etc.)
        
       | HeyLaughingBoy wrote:
       | > Technology X may be too expensive because we're using another
       | technology with a special discount that's confidential.
       | 
       | I'm really proud of myself that I didn't insta-rage upon reading
       | this one. Couple years ago, as the software project lead, I
       | suggested a number of processor technologies for a custom device
       | for a specific customer. Any of them would have worked well, they
       | were all very well documented and popular and most of them we
       | already had experience with.
       | 
       | Which one did the company owner go with you ask? The obscure,
       | brand new processor that we had never used, lacked documentation,
       | manufacturer-supplied sample code was either full of bugs or only
       | showed how to use the features in the most brain-dead, trivial
       | fashion.
       | 
       | Why you ask? Well, it turned out that we were some kind of
       | "technology evangelist" for that semiconductor company and we got
       | a substantial kickback for just putting one of these chips into a
       | new design.
        
       | buescher wrote:
       | Two potential answers he left out:
       | 
       | - It ships/deploys next month and you'll find out then
       | 
       | - We've been shipping/using it since 2014 and you really should
       | do your homework
        
       | em-bee wrote:
       | how about:                   it doesn't solve a problem that we
       | have.
       | 
       | if a tool that i am not using doesn't solve any real, urgent,
       | important, serious or whatever problem, then most likely the cost
       | to switch is going to be greater than the potential gain.
       | 
       | it is of course important to actually understand what the real
       | problems are, instead of what they are imagined to be to avoid
       | solving the wrong problems.
       | 
       | most real problems are measured in cost, lost revenue, reduced
       | profit.
       | 
       | beyond that there are only a few more important reasons:
       | user/developer satisfaction and security.
       | 
       | if your suggestion does not affect those then it's probably not
       | important.
       | 
       | if there is something that makes developers happier, then they
       | are probably already using it. (unless they work in a company
       | with lots of red tape and the answer to the question in the
       | headline is: because we we can't (for whatever reason.))
       | 
       | and i mention security separately, because while it is a real
       | problem, it often doesn't affect revenue/profit (until something
       | happens)
       | 
       | the point is, i don't ask why companies don't use something that
       | i think would be better. you do you. but if you present me with a
       | problem that you'd like me to solve then i'll tell you what i
       | think you should change (and then i won't ask)
        
       | swatcoder wrote:
       | > I used to be the outsider asking the big companies, and their
       | silence would drive me nuts. Do they not know about this
       | technology? Why wouldn't they use it?...I finally get it now
       | having seen it from the other side. They are usually well aware
       | of various technologies but have reasons not to use them which
       | they usually won't share.
       | 
       | I can't speak for the OP, but this insight often just comes with
       | experience and rarely needs seeing it "from the other side".
       | 
       | With some exceptions, the reality is that most technologies
       | aren't introducing a new class of tool.
       | 
       | They're not contributing a wrench to a world that had only seen
       | hammers and screwdrivers, let alone a power drill or industrial
       | crane. The innovations they contribute are more incremental than
       | a lot of early-career developers realize: they're a wrench with a
       | more ergonomic handle, or a hammer with a claw on the back.
       | They're a power drill with a simpler way to change bits.
       | 
       | If your organization already knows how to do its job with some
       | other style of wrench or hammer or power drill, there are many
       | reasons you _might_ pick some new one, but few reasons you
       | _should_ pick any particular one at any particular time.
       | 
       | Articulating an answer to "buy why not?" is usually just an
       | exercise you perform for the benefit of juniors, outsiders,
       | marketers, evangelists and people who happened to be used to that
       | tool already.
        
         | totaldex wrote:
         | These effectively boil down to ROI - it's tricky to quantify
         | what return a tool will give, but its even harder to quantify
         | the cost of switching over. At a big enough company, most will
         | shudder at the thought of a massive migration without an
         | equally passive payoff.
        
         | henning wrote:
         | Yes, especially if your entire universe of possible choices are
         | almost identical to what you use now, by definition, everything
         | under consideration offers no new ideas. Anything with actual
         | new ideas is automatically excluded without consideration. This
         | lets old farts talk about "picking the right tool for the job"
         | and not realize how incredibly narrow-minded and intellectually
         | dishonest they are.
        
           | makapuf wrote:
           | Well often the really old timers ( still in tech, so survivor
           | bits here) have seen several waves of tech and know some
           | qualities can withstand the test of time, and other fads will
           | not. And having seen the previous fad come and go, they often
           | are less attached to it than the ones that grew with only it,
           | accepting some of the real benefits of the new tech.
        
         | RealityVoid wrote:
         | But, sometimes, a lot of times... It's just "the way we do
         | things here". Some companies really are insulated from outside
         | inovation.
        
           | alar44 wrote:
           | That and sometimes the connectedness of their tools means
           | that switching to some new technology means opening a massive
           | can of worms. I've moved my company over to M365 but we are
           | going to continue to use Slack rather than Teams due to the
           | sheer amount of bots and integration we have set up in Slack.
           | It's just not worth the time to re-engineer for the marginal
           | benefit.
        
             | bjelkeman-again wrote:
             | That feels like you dodged a bullet based on how I
             | experience using Teams vs Slack.
        
               | alar44 wrote:
               | I disagree completely. If you're bought into the M365
               | ecosystem, Teams is fantastic, everything is in one spot.
        
       | jmtulloss wrote:
       | There's a corollary here for engineering managers managing a new
       | (to them) team. With the caveat that they must be very clear that
       | they trust the team and are there to learn, "why don't you do X"
       | is incredibly valuable for a manager to connect their limited
       | experience with the deep experience on the team. The reasons
       | often fall into one of three categories:
       | 
       | - X is not a good solution outside of internal considerations
       | (what this article mostly focuses on)
       | 
       | - X is a good solution but not worth it for a good list of
       | reasons (ie it makes slightly different tradeoffs than the
       | internal solution and the cost of switching is higher than the
       | benefit of changing tradeoffs)
       | 
       | - X is better than what the team is currently doing but the team
       | hasn't been able to get buy in for the investment needed to
       | change to X
       | 
       | All of these scenarios are great for the manager to understand,
       | but the last one is the manager's dream because they actually
       | have a concrete opportunity to help the team!
        
         | tchalla wrote:
         | Personally, a better framed question which works for me is -
         | "What options did you consider and how did you choose this
         | option?"
        
       | fossuser wrote:
       | When I've asked this question to engineers that work at famous
       | companies they're usually happy to explain what the tradeoffs are
       | and why some decision was made if they know the reason (often
       | there might even be a blog post).
       | 
       | Usually they just don't know the reason unless it's within their
       | specific team or area of expertise and they just say they don't
       | know.
       | 
       | Maybe it's different at the executive level or something.
        
       | [deleted]
        
       | [deleted]
        
       | sergiomattei wrote:
       | I find this article pretty pointless. People are curious, nothing
       | new.
       | 
       | If you're tired of explaining to satisfy their curiosity, write a
       | better rationale and hand it out on a pamphlet.
        
         | bostonsre wrote:
         | I think it's a solid concise article about the various
         | rationales behind making technology decisions. A lot of the
         | reasons given would make for a solid checklist to go through
         | when trying to decide on a technology to use. A lot of the
         | stuff he goes through is not obvious to people who have not
         | contemplated these types of decisions before.
        
         | Delk wrote:
         | Sometimes people ask because they're curious. Sometimes when
         | people ask that, the question really seems to be "I think
         | people should use my favourite tech by default, so I expect you
         | to explain why you've diverted from the Chosen Path". To
         | exaggerate a little, but if you've met one of those people, you
         | get the idea.
         | 
         | I've seen both. The latter seems to sometimes occur with people
         | who have a clear favourite (language|stack|whatever), mostly if
         | they're also somehow overly confident that it's the right
         | choice regardless of your problem.
        
         | mdonahoe wrote:
         | I suspect that's why he wrote the article. Now he can just
         | point people to that.
        
           | sergiomattei wrote:
           | So rude.
        
         | tytso wrote:
         | Part of the whole point of this blog was to explain why it's
         | not possible to explain and satisfy their curiosity, because
         | the reasons can't be disclosed externally outside of the
         | company (either because the reasons are under NDA, or involve
         | lawyer's concerns over terms or conditions, or because the
         | company doesn't want to call out some project leader as a toxic
         | jerk).
         | 
         | The blog post _is_ a general answer of why sometimes people 's
         | curiosity can't be satisfied; pamphlets are so 18th century,
         | after all. Sure, that's what the authors of the Federalist
         | Papers used, but in the 21st century, we use blog posts instead
         | of pamphlets. :-)
        
           | jdougan wrote:
           | Now I'm imagining the Federalist and Anti-Federalist papers
           | restructured as a pair of blogs with links and comments. I
           | like it.
        
       | maerF0x0 wrote:
       | That initial list is a brilliant checklist for before you stake a
       | key part of our architecture on X, answer the following....
       | reworded to the positive                   Does it perform well?
       | Is it inexpensive?         Is it open source?         Does it
       | lack features?         Does it have a community?         Does it
       | have debug tools?         Does it have maintainers? (or other
       | quality symbols)         It is properly documented?         Does
       | it receive timely security fixes?         Does it show subject
       | matter expertise?         Are we the audience it was developed
       | for?         Why isn't our custom internal solution is good
       | enough?         Is it's longevity understood: Its startup may be
       | dead or sold soon.         Have we been in touch with the
       | maintainer?         Does this solution make sense for a
       | reasonable window of time?         Does it have industry
       | credibility?          Is the community Code of Conduct congruent
       | with our values?          Do our lawyers accept its T&Cs or
       | license?
        
         | [deleted]
        
       | atoav wrote:
       | As someone teaching electronics, media technology and programming
       | at a art university I'd argue that the space between those who
       | chose a solution because they didn't know it any better and those
       | who considered every available option and made the rational
       | choice is not only big, but the borders are foggy as well.
       | 
       | At least with my students who are usually not experts at
       | electronics, programming or similar things, the chosen solutions
       | are often ridiculously naive. They would probably also work 90%
       | of the time -- however they would (and do!) pay that naive
       | approach by gaining an unreliable, expensive, overly complex rube
       | goldberg type of system that falls appart when the stars don't
       | align in just the right way.
       | 
       | People like these are _extremely_ grateful when you sit down with
       | them for a while, analyze their problem, explain some possible
       | solutions to them and then in turn discover that there is a
       | solution that is magnitudes less work, has magnitudes less moving
       | parts and will probably also work in a decade. And you can do
       | that without forcing your language or other strong preferences on
       | them.
       | 
       | There are many companies who chose the solutions they chose
       | because they cannot imagine something else, they only have an
       | employee who does x etc as well -- but assuming you can just
       | recommend a thing and everything complicated about the problem
       | would be neatly encapsulated and solved is naive as well.
        
         | oriolid wrote:
         | From the other side of the fence, more often than not when
         | someone offers an open source or COTS replacement to an in-
         | house system the result is that it replaces easily 90% of the
         | functionality, but for the last 10% you need to either serious
         | mental gymnastics to fit your system into the third party
         | system's way of doing things or just put more effort into
         | patching it than doing it from scratch would have needed.
         | Sometimes the 10% is not really needed, sometimes it's the
         | whole reason why the product was built.
        
           | analog31 wrote:
           | To be fair, this also happens if you switch to a commercial
           | system, or from one commercial system to another. I can't
           | count the number of times I've arrived at a health clinic,
           | and was told: "Please bear with us, we just switched our
           | system to **, and it has effectively shut us down."
        
       | tpoacher wrote:
       | worse:
       | 
       | "why dont you _just_ use ... "
        
       | cryptonector wrote:
       | Another common reason is: it doesn't fit our culture. Or
       | variations on that theme, like: we don't have people who could
       | support it because we don't have people who understand the
       | programming language X is written in.
       | 
       | Obviously, the list of possible reasons (good, bad, whatever) is
       | potentially very long. It's enough to consider a sufficiently
       | large list of such reasons to understand why you might not be
       | told a reason or reasons.
        
       | bawolff wrote:
       | > It tolerates brilliant jerks and has no effective CoC
       | 
       | Is an interesting ones. Do big companies actually do enough due
       | dilligence to know? I mean of course things can get to a point
       | where the entire internet knows, but for most products i use, i
       | have no idea what their internal culture is like and whether or
       | not its full of assholes.
        
       | Vanit wrote:
       | Ah, the sibling of my favourite "why don't you jUsT X?" when
       | describing a solution to someone.
        
       | smileysteve wrote:
       | For many of us though, ignorance and fear are blocking factors.
       | 
       | A company used a postgres safe migration gem that blocked default
       | values with a not null constraint that became safe 3 years
       | earlier, but 1) nobody questioned with the tool version changes
       | 2) once you learn a constraint it's hard to forget it.
       | 
       | With the add that you have to take time to upgrade the gem if you
       | want to keep using it.
        
       ___________________________________________________________________
       (page generated 2022-03-21 23:00 UTC)