5 ms·
I think companies like Google, Apple and Microsoft have realized that QA departments and software quality aren't worth it. People have gotten used to buggy soft
by fredsted 5y ago
I think companies like Google, Apple and Microsoft have realized that QA departments and software quality aren't worth it. People have gotten used to buggy software. At Apple, there's no Steve Jobs that cares about whether things actually work. Releasing new features to get media attention is more profitable than making sure the features actually work. We'll never see something like Snow Leopard again with its "no new features". Internally at these companies, there's also no reason for developers to care about quality. It's not rewarded by the managers.
Additionally, we as developers keep building software using more and more complicated tools that seem fancy and new to us, but are brittle and don't deliver good software in the end. We keep adding more and more layers of abstraction, both on the frontend and backend. Why? To put it on our CV. Things are moving so fast that we're afraid to get left behind. We're at a point where things just keep getting more and more complicated – actually keeping something alive (let alone building new features or making those features work) takes more and more man hours.
- prox 5y agoThis comment made me sad. I always believe in excellence as an art and something that is good to strive for as part of a pursuit interest, and what makes life more meaningful, and beautiful. Steve Jobs probably understood that.
- accountofme 5y agoDid he? To quote Steve from the iphone4 antenna issue: "You're holding it wrong."
- burntoutfire 5y agoI think that was just his asshole-businessman side trying to save company from a PR disaster and billions in lost sales.
- accountofme 5y agoYou know I am coming to hate the word "just". Mainly because in modern vernacular it is always used to excuse behaviour that would otherwise be described as wrong. Just is the one word that the normalisation of deviance relies upon. If Steve cared about the user he wouldn't have had to say it. Because they would have found that bug in testing. So either they knew were incompetent and didn't know about it or they were incompetent knew about it and said fuck it the idiots would buy it anyway.
- ChrisMarshallNY 5y agoI have always considered myself to be a craftsman, as opposed to a programmer. I take pride and joy in the sheer Quality of my work. I am quite aware that most corporations consider the way that I develop software to be “inefficient” (i.e. doesn’t result in inbound cash flow). But I work surprisingly fast. I often have to pause, in order to let the team catch up. That is what comes from over 30 years of programming experience, where Quality techniques become rote habit. My approach doesn’t always win friends. The people I work with, absolutely love the results, but everyone else seem to think that I’m a “snob” (may have a point). I’ve learned that it’s best to just keep my opinions to my own work (or the work of others, that I plan to integrate into my work).
- WJW 5y agoFor some reason, the term "craftsman" has come to mean "obsessed with quality" in programming circles. I'd just like to point out that most traditional crafts (ie tailors, carpenters, metalworkers, etc) both today and in the past are absolutely not obsessed with making heirloom quality stuff all of the time. As long as the customer is happy and they get a competitive price for their time, they will be happy to take your project on. Also as any historian will tell you there was a LOT of shitty quality stuff produced back in the day as well. It's just that nobody bothers to keep a wooden cabinet or a woolen greatcoat for multiple centuries unless it is absolutely magnificent. You can still get great quality bespoke furniture/clothing/etc today btw, but don't expect IKEA prices.
- ChrisMarshallNY 5y agoI'm not necessarily "obsessed" with Quality, but I have learned that Quality today, means less time spent, scooping up kitty litter, tomorrow. I also worked for a corporation (Japanese) that is pretty much synonymous with "Quality." It was a religion, there. In most American companies, the running joke has always been, that if you have "Quality" in your job title, your career is over. At this company, it meant that you were a high priest.
- salawat 5y ago
- gpas 5y agoHe knew. Below is a quote from Isaacson book. Fifty years later the fence still surrounds the back and side yards of the house in Mountain View. As Jobs showed it off to me, he caressed the stockade panels and recalled a lesson that his father implanted deeply in him. It was important, his father said, to craft the backs of cabinets and fences properly, even though they were hidden. … In an interview a few years later, after the Macintosh came out, Jobs again reiterated that lesson from his father: “When you’re a carpenter making a beautiful chest of drawers, you’re not going to use a piece of plywood on the back, even though it faces the wall and nobody will ever see it. You’ll know it’s there, so you’re going to use a beautiful piece of wood in the back. For you to sleep well at night, the aesthetic, the quality, has to be carried all the way through.”
- mwcampbell 5y agoOn the other hand, when push came to shove, an arbitrarily chosen deadline trumped all else. Taking the original Macintosh as an example again, see chapter 7 of Steven Levy's book _Insanely Great_, which describes how the Mac software team scrambled to get a barely working version of MacWrite done in time so the Mac could be announced at Apple's yearly stockholders meeting and available in stores the day after.
- crgwbr 5y ago> “When you’re a carpenter making a beautiful chest of drawers, you’re not going to use a piece of plywood on the back, even though it faces the wall and nobody will ever see it. You’ll know it’s there, so you’re going to use a beautiful piece of wood in the back.” As a professional programmer and amateur cabinet maker, this is a weird quote. I get the point of what he’s trying to say, but the truth is that all the most beautiful wood goes to the veneer mill to make very expensive, very nice plywood. Plywood is not MDF or particle board and there’s absolutely no reason not to use it for the back of a cabinet.
- baal80spam 5y agoWhile I agree that bugs can be infuriating, the big question is when a feature is "good enough" to be marked as done. You just have to set a goal post somewhere, otherwise we'd still be in the software stone age.
- Retric 5y agoNew features have diminishing marginal utility. Everyone using Word notices if typing words has lag before letters show up, most people notice if you can’t set the font, fewer people notice if it can’t set the margins, down to features that almost nobody is aware it has. Raising the quality bar quite high before you call a feature done is generally the correct call. Yes, your software might not check off every box on some list, but you can ensure the features people care about work well.
- lmz 5y agoThat only works if the ones purchasing it care about quality instead of which one checks the most boxes.
- creshal 5y ago> actually keeping something alive (let alone building new features or making those features work) takes more and more man hours. And the people who made the brittle architectural decisions aren't the ones suffering the fallout increasingly often; with companies shunning internal promotions and substantial raises, more and more developers turn into nomads who switch companies every other year just to keep up with inflation. They rarely if ever get a chance anymore to grow with a single codebase and learn what makes it stable and easy to iterate on long term.
- hk1337 5y ago> And the people who made the brittle architectural decisions aren't the ones suffering the fallout increasingly often; Ugh. Ain’t this the truth. I’m stuck working with Laravel because of this. The two people that pushed for Laravel the most are now gone.
- drran 5y ago> And the people who made the brittle architectural decisions Bitrot is unavoidable, unless code is rewritten from scratch. Complexity rises proportionally to the number of links, which is `n(n - 1) / 2`, where n is a number of nodes, or `n²/2` for large n. It takes significant effort and lots of experience to beat n², to keep code simple. The easiest way to reduce complexity is just to rewrite code from scratch. The harder way is to drop some old nodes (concepts, files, database columns, cases, fields, steps, etc.) when introducing new ones, which may shock somebody who has no formal training in software engineering.
- 2rsf 5y ago> Steve Jobs that cares about whether things actually work Did he? at least according to my experience Apple cared about the looks of things and not whether they actually work flawlessly.
- sirwhinesalot 5y agoJobs cared deeply about the details, both UI and UX, it's just that the details he cared about and how he prioritized them might be ones you and me disagree with. He almost never sacrificed form for function, but he certainly did care for both. That attention to detail was one of the reasons people loved Apple products and why so many Mac-only or truly Mac-native apps exist. Contrast with windows where most "native" apps are either Qt-based or some WPF monstrosity full of custom controls. Microsoft Office has its own UI stack ffs. That doesn't mean his vision was always good though, or that he was a good designer (he was good at picking things and making sure they fit, but he didn't come up with them himself)... Some decisions are just baffling to me, seriously how long did macs stick with 1 button mice?
- latexr 5y ago“It just works” used to be a motto. One of Jobs’ most quoted phrases is “design is not just what it looks and feels like; design is how it works”. Snow Leopard was advertised with “zero new features” because the focus was on improving what existed. There are plenty of other examples, in interviews and stories from internal events, which corroborate he cared deeply about Apple products working well.
- ffhhj 5y agoJobs as a QA engineer would be doing smoke tests by "eating his own dog food". He would make sure that at least the fundamental tasks of software/hardware work flawlessly.
- taubek 5y agoBig projects, big turnover of people. Each team develops its own unit. Maybe they don't even see the final product. I wonder how many of then even try to run it once it is done?