34 ms·
Another "use popular tech because it's popular" article dressed up as engineering wisdom. "Nobody gets fired for choosing IBM" isn't supposed to be aspirational
by tikhonj 3y ago
Another "use popular tech because it's popular" article dressed up as engineering wisdom. "Nobody gets fired for choosing IBM" isn't supposed to be aspirational!
The most effective organizations I've seen have been the ones who are the most willing to both use "non-standard" technologies and develop their own tools in-house. There's a question of causation—are they more effective because they're open-minded, or do they get away with weird choices because they're more effective?—and, from what I've seen, it's a bit of both. But I've absolutely seen, first-hand, that top-down standardization on enterprise "best practices" is absolutely not a recipe for anything beyond passable mediocrity. If anything is a sign of weak engineering leadership, it's that.
I'm not saying that a team should use different technologies for the sake of using different technologies, I'm saying that strong engineering leadership means having a clear technical vision and culture where the popularity of a tool is very low on the list of considerations when choosing what to use.
- yayitswei 3y agoAgree. Another way I like to think about it is to pick the simplest path to solve the problem, which might not be the most popular solution. Choosing postgres by default bakes in a ton of assumptions and often adds extra layers of complexity. Which ORM do you use? What if you want to version your changes?
- kelsey9876543 3y agoThe author makes a horrible assumption themselves right in their opening argument that "most of the things you are trying to do have been done already". How is a business going to find value copying and pasting sql solutions from stack overflow as honestly suggested by the article author? Horrible advice, pick the correct tool for the job, sometimes that tool is brand new because you are doing something brand new. The author completely avoids the real question which is how to select what new technology to use by saying only choose old technology.
- luispauloml 3y ago>The author completely avoids the real question which is how to select what new technology There is a whole section called "When (and how) to use innovative new tech" talking about this, and another one called "My framework for choosing technologies" describing the author's approach.
- blincoln 3y agoIt is not a horrible assumption for the vast majority of developers. Even if the business they're supporting is doing something genuinely new (and IMO that's rare), most of the software written for that business is almost certainly going to do something similar to a bunch of existing software. ChatGPT's Vision add-on is able to do things like generate code for a web dashboard from a screenshot of a mockup because nearly every web dashboard is extremely similar except for the branding and labels on the data/elements. Most developers working for a business are writing that kind of code. It's the dev equivalent of hiring an architect and contractor to build a house. The result may very well be unique overall in some way, but nearly all of it would be based on well-tested designs and components. Most people wouldn't want the contractor to fabricate custom roofing panels out of recycled Russian submarine titanium, because even though it might have a "wow" exotic factor and some tangible benefits, having maintenance done on it would be a nightmare, and there are likely to be surprises no one considered because it was the first house to use them. Software is even worse in some ways. I've seen complex products built on flash-in-the-pan frameworks of the moment that ended up with problems so close to the foundation that fixing them would require a complete rewrite or forking the (now unsupported) framework and making low-level architectural changes there. At least with a titanium roof, the worst-case scenario is having to replace the entire roof. There's some audience bias here, because people who read Hacker News are more likely to be working for startups that do something genuinely new, and maybe even writing code that does something genuinely new, but IMO it's still not very common.
- turtlebits 3y agoDisagree - everything novel has been done already. Technology at its basic form is moving/transforming data. Too many engineers fall into the trap of chasing what's new.
- marcosdumay 3y agoI'd bet the people programing the LHC detectors have plenty of their problems already solved in Stack Overflow. If most of the things you are trying to do were never done, you will never achieve anything, with complete certainty. Not even if you are trying to make art.
- pdonis 3y ago> "use popular tech because it's popular" ...is not what the article is saying. It's saying that you should use boring tech when it is sufficient to get the job done that you need done. "Boring" is not the same as "popular"; indeed, "popular" is often skewed by hype about the latest shiny new toy. "Boring", as it is used in the article, just means "does job X and is proven by much experience to work for that purpose". > I'm not saying that a team should use different technologies for the sake of using different technologies And this is the same point the article is making. The article is saying you should only use different technologies to the extent that you have to to get the job done that you need to get done.
- tikhonj 3y ago"Boring" inevitably means "popular" in these discussions—"popular" in the sense of "mainstream" and "widely used" rather than "trendy" or "hyped", but it's still a popularity contest at the end of the day.
- pdonis 3y ago> "Boring" inevitably means "popular" in these discussions Not the way the article is using the term "boring", or the way the post I responded to was using the term "popular". "Boring" means choosing the tech on the basis of it being proven to work by much experence. That is what the article is advocating doing unless the boring tech simply won't do the job you need it to do. The "boring" tech might well also be popular, but that is irrelevant to what the article is saying because the tech is not being chosen for its popularity, it's being chosen for its technical capability. "Popular" means choosing the tech on the basis of its popularity. That means not even looking at whether the tool meets technical requirements. That is what the post I responded to was describing, and arguing against. But the article is not advocating for doing this, so arguing against it is not arguing against the article at all. > it's still a popularity contest at the end of the day. Not if the criterion is technical merit. See above.
- jf22 3y agoI have never encountered a scenario where "boring" meant "popular".
- deleted 3y ago[deleted]