9 ms·
I think that's what's offensive to the purist engineer mind. These aren't engineering decisions, they're business decisions (or maybe the closest thing you coul
by rdiddly 5y ago
I think that's what's offensive to the purist engineer mind. These aren't engineering decisions, they're business decisions (or maybe the closest thing you could call them would be "financial engineering" decisions). The best thing, by pure engineering criteria, is not what gets built. The best thing for the business is what gets built. In that context it's a complaint as old as the hills.
...and not specific to computers either, or even the private sector. In a past career I was a civil engineer, and I learned about how traffic light green times (how many seconds a signal stays green for one direction vs. the cross street) usually have a "right answer" from an engineering standpoint, which as you can imagine, has to do with maximizing traffic throughput and/or minimizing delays to each individual vehicle. And then the mayor of the town shows up out of the blue and says no, this direction is going to have a longer wait, I'm going to delay people intentionally, so that when they're stuck in traffic, sitting there, they'll have more of a chance to see signs/placards of, and contemplate patronizing, nearby businesses, whose owners are my political backers. That made a big impression on me... must have, because I feel like I've told that story in an HN comment before... but anyway... yep.
- stemlord 5y agoWell it's a net negative for the end user, which should have been the priority for everyone involved, and what you're describing sounds like a corruption of this system. So I wouldn't call it an engineering thing, it seems far more general than that.
- hellisothers 5y agoUnless the product would have never been shipped if it could only be done natively.
- wtetzner 5y agoSometimes no product is better than a bad product.
- ReactiveJelly 5y agoIt's not corruption. I'm just mad that my Qt skills are worthless now. It's hard detaching my ego as a programmer from the economics of programming.
- Kye 5y agoI'm sure COBOL programmers thought the same. Some day all the existing QT programs will need people to convert them to something else. Keep those skills sharp.
- phs318u 5y ago> it's a net negative for the end user Indeed it is, however the end user is probably not the customer of the business. The business is serving its customers. Sometimes end user = customer. But often they are different sets of stakeholders with their own priorities. I'm not saying businesses go out of their way to piss off end users, but customer needs trump end user needs.
- bruce511 5y ago>> Well it's a net negative for the end user, which should have been the priority for everyone involved I feel like you're missing the point. Let's say you are a product manager. Here are your options; A) increase the product price so the budget can be bigger. Understand that increasing the price will lower customer numbers, but net inflows may be larger. (does this option prioritise the end user?) B) spend all your budget on platforms with the most usage. Ignore less-used platforms completely, but deliver the best possible for your selected platforms. So 100% spend on the Windows client - - and of course ignore Apple and Linux desktop. (does this prioritise the end user?) C) build a cross-platform solution that is sub-optimal on all platforms, but targets multiple platforms on a limited budget. This reaches the most people, but the experience from an engineering point of view is less than ideal for all of them. (does this prioritise the end user?) How you answer depends on who you consider the end user to be. If you see them as "people who have bought our system on our preferred platform" then option B makes the most sense. If you see them as "people who could use our system to improve their lives" then option C makes the most senses. If you see them as people who can afford fine engineering then go with option A. On the up side, no matter which one you choose you are prioritising the end user, so it fulfills your premise.
- emodendroket 5y agoI don't consider it a "net negative" that I can use a bunch of stuff on every device I own rather than just one or two. And frankly, if you happened to be involved in the sysadmin world during the long, slow death of Windows XP, you might even appreciate the benefits of Web apps even from the technical standpoint.
- goto11 5y ago> Well it's a net negative for the end user If it reduces cost, it is really a net negative? A lot of effort went into making the Apple II cheaper. Was that a "net negative" for the customer?
- aemreunal 5y ago> These aren't engineering decisions, they're business decisions All engineering (including "real" ones like civil or mechanical) is about fitting your requirements within budgets. When one's building a skyscraper, you try to build it in a way that minimizes the cost while satisfying all requirements (it shouldn't fall down given such and such conditions, etc.) Engineering is largely the art of solving problems that fit in real-world constraints and one such [major] constraint it cost. When you build software, you're not given 10 years, a research team and infinite money. You're given just enough resources to build something that satisfies requirements and is the lowest cost (financially and temporally). There's always a way to build things "better" but that's not the point.
- pc86 5y agoIf HN had an equivalent of Reddit Gold, this comment would deserve a couple of them. Engineering without constraints is easy, but it's not engineering.
- xboxnolifes 5y agoEngineering without constraints is theory.
- biztos 5y agoOr Product Management?
- bfung 5y ago*Marketing. Imagine a world where our currency is decentralized and the user owns their own data! kek.
- tremon 5y agoProper engineering also takes into account the end users, even the ones that aren't paying for it. If other engineering disciplines were as hell-bent on cutting corners as SWE, these situations would be common-place: - "cars older than 5 years are not supported on this bridge" - "Sure, we can perform maintenance on this bridge, but with every round of maintenance work, the maximum speed across the bridge will be lowered by 5mph" - "No, I'm sorry, you can't call our office from a landline. We only accept support calls from a Sprint mobile device, and the contract must be less than a year old" - "What do you mean, you need to replace a fuse? You can't do that, they're built-in. Please contact our office to buy a new house". - "Sure, our new Model T does 5 gallons to the mile, but look at its color! It's not just black, it's Vanta Black (tm)! And look at these rounded bumpers, aren't they a marvel of engineering?"
- JoeAltmaier 5y agoIts best to understand early that an Engineer deals in two commodities: money and time. Their job is not to create ivory-tower ideal solutions. The whole problem, the reason Engineers exists, is to manage technology such that the constraints of money and time can be met.
- dachryn 5y agoyeah but the problem is: which budget are you optimizing? That of the company of course. You offload a lot of bullcrap onto the end user. Like the author said, wasting electricity and battery life and thousands of devices just because you cant be bothered to generate html on the server to serve simple text is a common thing for news sites. This is wasting the time as well of the end user, because its slower to load, and lower performant on the device itself
- masklinn 5y ago> yeah but the problem is: which budget are you optimizing? That of the company of course. The budget of the company is predicated upon what the user will be willing to pay for the service. You’re wasting electricity and battery life of thousands of devices of users who don’t care or want to “vote with their feet”. Now obviously users are also constrained by what is made available to them, but time and again the shiny and early to market wins out even if it’s a literal trash fire…
- argiopetech 5y agoThe saying about optimization goes, "Time, Cost, Quality: Choose two." You've chosen the two that most profit-minded entities choose, but they are not the only choices. Optimizing for quality and time can be a winning solution, particularly if you can achieve novelty as well. Countless corporations and founders have had success with the strategy (Apple under Jobs comes to mind.) Optimizing for quality and cost is also viable: Deming preached it, and e.g., Japanese car manufacturers have showed it to be a highly successful strategy.
- JoeAltmaier 5y ago
- emodendroket 5y agoIs it really the best "pure engineering" decision to make like 10 clients instead of one Web application?
- blub 5y agoLet's not pretend that such business decisions are following rules written down on stone tablets passed from above. They're nothing more than going with the flow and following the path of least resistance in a market that painted itself into a corner of inefficiency and technical inferiority. Chiefly because of Google's empire building, VC money and the quest for millions of users. Those two facets of quality, or the lack thereof in the applications which are being discussed are undeniable and the offence will continue to be perceived until the underlying problems are resolved. Watching the rhetoric of the web dev community over the years, I have the impression that previously they thought that the one big technical improvement will come and that will allow them to compete on equal footing with native applications. Now they've given up and just mumble something about Electron being cheaper - an improvement, even if far from the ideal :-)
- the_gipsy 5y ago> the mayor of the town shows up out of the blue and says no, this direction is going to have a longer wait, I'm going to delay people intentionally, so that when they're stuck in traffic, sitting there, they'll have more of a chance to see signs/placards of, and contemplate patronizing, nearby businesses, I knew it! Ha!
- matheusmoreira 5y ago> And then the mayor of the town shows up out of the blue and says no, this direction is going to have a longer wait, I'm going to delay people intentionally, so that when they're stuck in traffic, sitting there, they'll have more of a chance to see signs/placards of, and contemplate patronizing, nearby businesses, whose owners are my political backers. You gotta be kidding me! Not only are we subjected to this constant visual pollution in the form of advertising but these politicians deliberately make traffic less efficient in order to force us to "contemplate" this garbage? That's extremely offensive and not just in the purist engineer sense. The audacity of these people to think they can literally hold you down and force their little commercial interests into you.
- gitgud 5y ago> "The best thing, by pure engineering criteria, is not what gets built." How do you define the "best thing, by pure engineering criteria"? The least memory/CPU? Or the smallest download size? These are somewhat irrelevant vanity metrics in most cases... they're especially vain, if optimising them loses you potential clients and makes the project a failure...
- WhyNotHugo 5y ago> [...] usually have a "right answer" from an engineering standpoint, which as you can imagine, has to do with maximizing traffic throughput and/or minimizing delays to each individual vehicle [...] Another common problem is when an Engineer is told to maximise a specific variable, rather than apply their wisdom to determine _which_ variable to optimise. Optimising for more cars usually means that public transport can't improve, and moving around gets worse for pedestrian/bikes. Ultimately, mobility does not improve, and you just need more cars and more car lanes. Car flow improves, but nobody stops to think if that's really the most important thing to improve.
- zerotolerance 5y agoEngineering a product without taking business context into account is not great engineering.
- rdiddly 5y agoI knew it: https://news.ycombinator.com/item?id=28110790 https://news.ycombinator.com/item?id=28110790