zlacker

[parent] [thread] 77 comments
1. onion2+(OP)[view] [source] 2021-08-06 08:37:00
The problem that the article doesn't address is that users don't actually seem to mind using terrible software so long as it solves the problem they face better than not using it. I could list literally hundreds of half-assed, broken, bloated applications that I've encountered in the past 25 years that have done very well simply because they kind of solve a problem a bit for the user.

Pushing out something completely broken that doesn't do what it's supposed to is definitely not going to work (duh!). Pushing out an app that solves the problem of managing shopping lists that has a bug where it doesn't work given a particular set of circumstances will still lead to many people using it if the users don't have any alternatives and it's better than using a piece of paper.

Software quality is important to companies because it means that they can spend more time building features instead of fighting fires, and because low quality represents a threat that a competitor could launch a better, less buggy app. Users mostly don't care so long as the app works well enough to do what they need it to do (but they're not dumb, they'll still pick the least buggy option if there are alternatives..).

A high level of quality in software is not important unless you're entering an already well-served market. I wish it was.

replies(20): >>chesch+a1 >>rusk+32 >>hipiti+n3 >>knuths+85 >>andrub+Ca >>ameliu+Xe >>narag+hf >>illumi+Ii >>PaulKe+rn >>indigo+Ts >>bishop+4t >>ChrisM+Bt >>Causal+Kx >>occz+SD >>taneq+oF >>kongol+cL >>TeMPOr+wO >>spotty+851 >>avidia+p81 >>coffee+iF1
2. chesch+a1[view] [source] 2021-08-06 08:47:14
>>onion2+(OP)
Just guessing, but I suspect this is because most software is designed to extract some minimum acceptable investment per person from maximum people, and simply focus on scaling.

When software is designed to focus on extracting maximum investment per person, and focus on whaling vs scaling, then you get loot boxes. Suddenly overall software quality matters a whole lot to the user base.

replies(1): >>pjc50+R7
3. rusk+32[view] [source] 2021-08-06 08:54:24
>>onion2+(OP)
Depends on where the “terrible” is. People are happy to work around UI/UX issues so long as they can get the job done (chronic ergonomic issues notwithstanding perhaps) but anything “back end” or “low level” can have catastrophic implications for mere usability. It’s funny because we often seem to ascribe higher priorities to the more visible stuff.
4. hipiti+n3[view] [source] 2021-08-06 09:09:12
>>onion2+(OP)
There is also a difference between buggy for the first time, which tends to cause a user to dismiss the app, versus sometimes buggy after the app is well established as useful for the user. At that point, there is a different dynamic at play for competitors, they need to be perceived a significant percentage better than the incumbent to overcome and justify the effort of the user changing. I have no sources to back that up sorry, just something observed.
5. knuths+85[view] [source] 2021-08-06 09:28:49
>>onion2+(OP)
I agree. I've been naive at the beginning of my career, thinking that a great product sells itself, but it's simply not true.

There's so much trash everywhere that is earning millions (book reading apps, silly chart-db software, proprietary SQL databases etc.).

I was quite shocked by the levels of disfunctionality in the software engineering sections of the company I worked at yet still, the company has huge success. We basically got requests from the product team to make something work in a day or two and even though it was completely horrible code that absolutely paralyzes us at some moment in the future, the company still reigns.

◧◩
6. pjc50+R7[view] [source] [discussion] 2021-08-06 09:56:15
>>chesch+a1
> whaling vs scaling

This is a great phrase that I'll have to remember. Pretty much all enterprise sales is "whaling".

replies(1): >>andrub+ja
◧◩◪
7. andrub+ja[view] [source] [discussion] 2021-08-06 10:21:11
>>pjc50+R7
And yet, what I see is that enterprise software seems much less polished than consumer software.

My assumption is also that enterprise software contains _more_ bugs than consumer software.

replies(3): >>chesch+Pc >>pjc50+Ie >>crucia+RU1
8. andrub+Ca[view] [source] 2021-08-06 10:23:02
>>onion2+(OP)
You are right.

Solving the right problem the wrong way is more important than solving the wrong problem the right way.

As an engineer, that has been one of the most important lessons for me in my career so far.

replies(1): >>Lorkki+Dl
◧◩◪◨
9. chesch+Pc[view] [source] [discussion] 2021-08-06 10:49:01
>>andrub+ja
That's probably why articles like this get written so often. The companies who create enterprise software seem to think they're still working on scale.

And I don't intend my loot box reference to be taken too seriously. The gaming industry isn't any better. As an obvious example, Cyberpunk 2077 was delivered as a hot mess only to meet overhyped timelines.

But look at games like Apex Legends, Fortnite, etc. They work very diligently to ensure the core gameplay is solid so streamers will provide eyeballs, driving lootbox sales. Whales provide the biggest investments there, with some individuals spending thousands of dollars for cosmetic lootboxes in what would otherwise be a free game.

Then look at games like Quake Champions which should've been successful in the same way, and completely failed because they didn't focus on making the core game tech (net code specifically) rock solid before attempting to monetize. They immediately lost the pro crowd and failed to convert the people playing Quake Live (or even the die hard Q3A players).

Enterprise software often doesn't spend enough time improving core process loops, or worse, provides too many core loops making the experience disjointed and unproductive.

◧◩◪◨
10. pjc50+Ie[view] [source] [discussion] 2021-08-06 11:07:59
>>andrub+ja
Yes, the "whale" is the single huge client who pays a lot of money for the enterprise software. The client is not the users. The sales pitch for enterprise software is where the polish goes.
replies(1): >>hef198+hs
11. ameliu+Xe[view] [source] 2021-08-06 11:10:24
>>onion2+(OP)
> A high level of quality in software is not important unless you're entering an already well-served market.

And don't get me started on security/privacy issues.

12. narag+hf[view] [source] 2021-08-06 11:13:59
>>onion2+(OP)
The problem that the article doesn't address is that users don't actually seem to mind using terrible software so long as it solves the problem they face better than not using it.

I've been saying that for a long time, but I don't see as a problem in itself, but as a fact of life.

The problem comes because people get the wrong impression that "state of the art" is always a compliment and terrible usability is best of possible worlds.

I'm reminded of this every time I try to teach my mother anything about Android or Windows. Or even when I must deal myself with a new app with its quirky "state of the art" GUI.

replies(1): >>hobs+uJ
13. illumi+Ii[view] [source] 2021-08-06 11:43:06
>>onion2+(OP)
” A high level of quality in software is not important unless you're entering an already well-served market. I wish it was.”

I’d say better way to say the same thing would be ”Unless you are building something truly innovative and unique that people must use anyway no matter how bad the experience is, software quality matters.”

replies(1): >>namdna+ll
◧◩
14. namdna+ll[view] [source] [discussion] 2021-08-06 12:02:57
>>illumi+Ii
The thing is, 90% of software is “unique”, in the sense that it solves a specific business requirement
replies(1): >>illumi+yr
◧◩
15. Lorkki+Dl[view] [source] [discussion] 2021-08-06 12:04:28
>>andrub+Ca
Or: Assuming a vacuum, solving the right problem is more important than solving it the right way.

But also, solving it the wrong way may create an opportunity to do better.

16. PaulKe+rn[view] [source] 2021-08-06 12:16:12
>>onion2+(OP)
The first mover advantage is huge. Once users have already chosen to use your software it will take something substantially better over an extended period of time for most to move over to a competitor that has solved it better. The risk of that happening when you are already making money and solving the problem and have most of the market is small. If you keep irritating your customers and they have a better alternative then you will slowly loose share of the market.

The cultures that tend to ship buggy software also tend to be the sort of cultures where the quality doesn't improve in response to a competitor however. But so far almost every software business has ultimately failed so being on top for a decade because you shipped some of the solution earlier works better. Customers are more than happy to buy exceptionally buggy software and games.

replies(1): >>Retric+vp
◧◩
17. Retric+vp[view] [source] [discussion] 2021-08-06 12:30:19
>>PaulKe+rn
The first mover advantage is an illusion. Google didn’t invent search or online Email. Microsoft didn’t pioneer personal computing, spreadsheets, or word processing. Facebook wasn’t the first social network. Apple made most of it’s money from markets it entered late iPod, iPhone, and then iPad where the Newton failed. Intel wasn’t the first to build a microprocessor. IBM didn’t invent the computer.
replies(2): >>dagw+rq >>iso163+3S
◧◩◪
18. dagw+rq[view] [source] [discussion] 2021-08-06 12:35:12
>>Retric+vp
The first mover advantage is an illusion.

I wouldn't go that far. All the cases you cite are of products that definitely classify as substantially better than what they replaced.

Before Gmail took over the market from Hotmail there had been several other companies that failed due to only being slightly better.

Yes you can beat the "first mover", but doing so is hard and requires an almost revolutionizing better product.

replies(1): >>Retric+ss
◧◩◪
19. illumi+yr[view] [source] [discussion] 2021-08-06 12:41:26
>>namdna+ll
I guess it depends how you look at it, but regarding my point it isn’t.

For example most ecom apps/sites are surely ”unique” based on how you described it, but customers have nearly unlimited options/alternatives these days.

replies(1): >>namdna+Ou
◧◩◪◨⬒
20. hef198+hs[view] [source] [discussion] 2021-08-06 12:45:12
>>pjc50+Ie
For Enterprise software I take auditable, stable processes and performance over a polished UI every single time. Also talking as a long time user of the poster child, SAP. Enterprise software doesn't have to be pretty, it has to do its job. And that requires a lot effort, I'd argue more effort than developing a polished consumer facing app.
◧◩◪◨
21. Retric+ss[view] [source] [discussion] 2021-08-06 12:46:25
>>dagw+rq
I am not saying it’s easy to beat them, rather first movers also generally die or move on. Atari, Electronic Controls Company, Mosaic, etc simply aren’t around any more. Sure Yahoo isn’t dead, but it’s also moved on from it’s initial success.
replies(1): >>dagw+lu
22. indigo+Ts[view] [source] 2021-08-06 12:48:41
>>onion2+(OP)
> A high level of quality in software is not important unless you're entering an already well-served market.

Even then, it's not what's important. The core important thing in the product is that it does a job the customer needs done. If you write a program that provides complete feature parity with the incumbent with better engineering principles, you're going to lose because the engineering principles aren't the job the customer needs done.

Where it will make the difference is that your company will be able to respond to changing requirements better than the incumbent.

So solid software engineering is never the product for the customer. It might be the product for the company, depending if the company actually needs the improved developer efficiency and happiness it provides.

23. bishop+4t[view] [source] 2021-08-06 12:49:54
>>onion2+(OP)
>The problem that the article doesn't address

Another. Industries that are oriented towards tradeshow or holiday launches. It ain't like they're going to move NAB or Christmas just for you. Inevitable feature pruning occurs.

Having said that, I wonder how many of the great fortunes have been built on horrid, half-finished websites and associated software that were all about being first out of the gate and heavy marketing.

An interesting subcase is software that is difficult or impossible to update vs. immovable deadlines. I guess in a world that consists entirely of one silly internet surveillance marketing company after another is doesn't really matter much anymore.

replies(1): >>iso163+FR
24. ChrisM+Bt[view] [source] 2021-08-06 12:53:47
>>onion2+(OP)
Personally, I write software that I consider extremely high-quality. The folks that use it, seem to agree. It isn't eye-candy fancy, but it works very well, in a not-in-your-face manner.

The idea is that it does what it says on the tin, without fanfare, robustly, usably, accessibly, localizably, and dependably; providing a user experience that gets out of the way of the user, in a manner that does not surprise the user (even "good" surprises can be an issue. Boring software can be just what the doctor ordered).

In my book, that's the definition of "quality."

I'm working on an application that has been over a year in the making. Its functionality is something that I could have popped out in a month, but making sure of the Quality of the app has necessitated that I spend a great deal more time, "polishing the fenders."

If this were a commercial app (it isn't), then it would have been unbearably expensive for a startup.

I tend to write test harnesses in a day or two, that have similar levels of functionality to this application.

High Quality is significantly more expensive than even "decent, but lesser" quality.

replies(4): >>onion2+Yw >>tkiolp+2x >>stavro+vG >>umvi+RJ
◧◩◪◨⬒
25. dagw+lu[view] [source] [discussion] 2021-08-06 12:57:50
>>Retric+ss
first movers also generally die or move on.

Sure, but before that they generally make a lot more money than the second and third mover. When all is said and done, Atari and Yahoo did much better than Colecovision and Lycos.

The risk with being the first mover is that, having easily seen off competition from the second and third mover, you become complacent and stop moving.

replies(1): >>Retric+fB
◧◩◪◨
26. namdna+Ou[view] [source] [discussion] 2021-08-06 13:00:10
>>illumi+yr
I was referring to enterprise internal or b2b software
◧◩
27. onion2+Yw[view] [source] [discussion] 2021-08-06 13:12:15
>>ChrisM+Bt
Professional developers should strive to write the highest quality code they can given the constraints of the project. That's pretty much a given. I'm only arguing that customers don't seem to care, not that we shouldn't care.
replies(1): >>ChrisM+Ry
◧◩
28. tkiolp+2x[view] [source] [discussion] 2021-08-06 13:12:29
>>ChrisM+Bt
You worked on that app yourself alone, right? If so, I believe your app belongs to a different plane of existence. Programming (one programmer working alone without too much money/time pressure imposed by others) is quiet different from software engineering (multiple programmers, stakeholders, designers, etc., with time and money constraints). Everyone loves programming (and so doing programming usually leads to high-quality and useful products), almost everyone hates software engineering.
replies(3): >>ChrisM+2y >>jagged+dy >>datalu+GE
29. Causal+Kx[view] [source] 2021-08-06 13:16:26
>>onion2+(OP)
This is true, although there are other aspects. For example, if the best available solution to a problem is using software I hate then I'm going to develop a resentment towards its developers and consider them last when trying to solve future problems.
◧◩◪
30. ChrisM+2y[view] [source] [discussion] 2021-08-06 13:18:35
>>tkiolp+2x
Yes, I've been writing it alone, but my "alone" work is at a different level, from what many folks do. Approaching every bit of work I do as "ship," is one of my oddities. I have as much fun, shipping, as I do writing.

I consider everything I do, "engineering." Been doing that, all my adult life.

Feel free to look at the stuff I do (I link to it in my HN profile). The app I'm working on isn't there (yet), but a number of its components are. It's still "under wraps."

replies(2): >>grepfr+tz >>stopna+bP
◧◩◪
31. jagged+dy[view] [source] [discussion] 2021-08-06 13:19:13
>>tkiolp+2x
I don't like this definition of Software Engineering that necessitates a team of Other People. Perhaps I'm outright wrong that such a definition just shouldn't be. Even in that case, I just don't like it. :)
replies(1): >>shalma+3X
◧◩◪
32. ChrisM+Ry[view] [source] [discussion] 2021-08-06 13:22:05
>>onion2+Yw
Exactly.

I read a book, where one of the characters is a smith. It has this exchange, between him, and another character:

    "Always do the very best job you can," he said on another occasion as he put a last few finishing touches with a file on the metal parts of a wagon tongue he was repairing.
    "But that piece goes underneath," Garion said. "No one will ever see it."
    "But I know it's there," Durnik said, still smoothing the metal. "If it isn't done as well as I can do it, I'll be ashamed every time I see this wagon go by -and I'll see the wagon every day.”
replies(3): >>moonch+cE >>phlaka+5H >>manana+hK
◧◩◪◨
33. grepfr+tz[view] [source] [discussion] 2021-08-06 13:25:40
>>ChrisM+2y
I hear you, but this problem becomes exponentially harder as your engineering org grows.

I witness on a daily basis PRs that have no body getting merged with absolutely zero comments and a blanket approval as long as it passes our (broken) CI pipeline. I witness obvious poor quality in the code, but engineers want to seem like they are working and will just blanket approve PRs, while i'm in the middle of writing up my code review denying the PR.

If you are a developer on a team and want your codebase to be high quality, you end up no longer writing the code and instead spend all of your time gatekeeping via code reviews. This leads to burn out.

replies(2): >>ChrisM+vA >>gkrime+9B2
◧◩◪◨⬒
34. ChrisM+vA[view] [source] [discussion] 2021-08-06 13:30:35
>>grepfr+tz
Yeah. It can be a real challenge, ensuring quality on a team.

The obvious answer, is to hire experienced, skilled, capable engineers, and instill in them, the same reverence for Quality that you have.

Like I said, Quality is expensive. Very few companies like to pay the premium.

replies(1): >>grepfr+7G
◧◩◪◨⬒⬓
35. Retric+fB[view] [source] [discussion] 2021-08-06 13:34:36
>>dagw+lu
Many arguably most first movers simply flopped, look at social networks or MMO’s for example. The bias of only remembering successful first movers is exactly the illusion I am talking about. Generally if a slightly different business model works it’s a first mover if it fails it’s a bad idea.
36. occz+SD[view] [source] 2021-08-06 13:47:12
>>onion2+(OP)
I like what Peopleware says on the matter - the market has squarely selected low quality software over high quality, but if you try to drive your teams to build low quality software you will lose because you will be unable to retain good developers.
replies(1): >>Joeri+BI
◧◩◪◨
37. moonch+cE[view] [source] [discussion] 2021-08-06 13:48:31
>>ChrisM+Ry
One reason I like this kind of work is that it implies when someone spent that much effort on an irrelevant detail they probably paid attention to important parts as well. Not always the case but yeah.
replies(1): >>ChrisM+xJ
◧◩◪
38. datalu+GE[view] [source] [discussion] 2021-08-06 13:51:07
>>tkiolp+2x
I would say a lot of this confusion comes from the word engineer. Building software is not like building a bridge. You can't design it first and then go and build it.

So I would say engineer is a poor term, but also the only one we've got for now.

replies(8): >>ordu+BK >>clover+GP >>dnh44+n31 >>blacks+ea1 >>Rd6n6+5h1 >>motion+Hm1 >>cfcfcf+GL1 >>branko+sY2
39. taneq+oF[view] [source] 2021-08-06 13:53:41
>>onion2+(OP)
> users don't actually seem to mind using terrible software so long as it solves the problem they face better than not using it

This is true and, once you get over the myopic code focus that most of us shared in university, incredibly self-evident. "Users prefer to use the thing that solves their problem better than not using the thing." I mean... yes?

The real takeaway is that "software quality" means something very different to users than it does to developers. Developers want efficient, ergonomic libraries, aesthetically pleasing logical structures, and elegant software designs. That's what we call "quality". Users just want their damn problem solved, and if they can GET software like that which solves that problem, then you bet they'll buy it, but if they can't then anything which actually solves their problem is far better than doing it by hand.

This was the first big lesson I learned out of uni and it's stuck with me ever since. If you're interested in making commercial software, you're not there to solve the problems YOU think are important, you're there to solve the problems YOUR CUSTOMERS think are important.

◧◩◪◨⬒⬓
40. grepfr+7G[view] [source] [discussion] 2021-08-06 13:58:38
>>ChrisM+vA
This does not work at scale. My company does pay the premium and a lot more.
replies(1): >>ChrisM+pH
◧◩
41. stavro+vG[view] [source] [discussion] 2021-08-06 14:01:03
>>ChrisM+Bt
> I'm working on an application that has been over a year in the making. Its functionality is something that I could have popped out in a month, but making sure of the Quality of the app has necessitated that I spend a great deal more time, "polishing the fenders."

What happens if you release it and it turns out that nobody likes it? I'd have preferred to spend a month releasing a lower-quality app, and then spent 11 months improving it (while people use it and I learn more about what they want) rather than take a year releasing a high-quality app nobody wants to use.

This assumes you aren't just building it for fun, though, in which case building it is the point, and you don't even need to release it afterwards.

replies(1): >>ChrisM+rI
◧◩◪◨
42. phlaka+5H[view] [source] [discussion] 2021-08-06 14:04:18
>>ChrisM+Ry
I, too, am a firm subscriber to the Goodman Durnik school of development. With an occasional bring-a-flaming-sword-into-a-meeting-room-to-emphasize-your-point twist.
◧◩◪◨⬒⬓⬔
43. ChrisM+pH[view] [source] [discussion] 2021-08-06 14:06:28
>>grepfr+7G
It does, but it ain't easy. I worked for a company that did it at scale.
◧◩◪
44. ChrisM+rI[view] [source] [discussion] 2021-08-06 14:11:32
>>stavro+vG
You are correct, and that's the classic rationale for "MVP."

But I also follow a development methodology that I call "paving the bare spots."[0] It adjusts the design, as the project progresses. Not for the faint of heart. It means that I may toss out a month's work, because it does not fit the user experience (which is under constant revision). We have also made a couple of major pivots, during the project, to fit new realities.

I have probably tossed out three months' worth of work, as the project has progressed. Happy to do so. The best code, is the code I don't write.

The nice thing is, is that the product is constantly at "ship" Quality. Makes demos, user testing, and begging for money, easier.

[0] https://littlegreenviper.com/miscellany/the-road-most-travel...

◧◩
45. Joeri+BI[view] [source] [discussion] 2021-08-06 14:12:37
>>occz+SD
Well, the market does not select for low quality, it just selects for an attribute that often coincides with low quality, like time to market or low cost.
◧◩
46. hobs+uJ[view] [source] [discussion] 2021-08-06 14:18:06
>>narag+hf
Android apps dont solve problems better than anything else, they are just more available so this doesn't gel for me.

Windows and Android keep reinventing the same wheel even though (especially Windows) is basically still in "Windows 95" mode - getting fancy with a phone ui is just trash.

◧◩◪◨⬒
47. ChrisM+xJ[view] [source] [discussion] 2021-08-06 14:18:18
>>moonch+cE
"We are what we repeatedly do. Excellence, then, is not an act, but a habit."

- [Probably erroneously] ascribed to Aristotle

But naysayers will say we are "bikeshedding."

Meh. Whatevs. I do things the way I do.

replies(1): >>cpach+uhr
◧◩
48. umvi+RJ[view] [source] [discussion] 2021-08-06 14:20:03
>>ChrisM+Bt
It's easy to make high quality software as a team of one - you never have to compromise, after all. You are basically a god of the project. When working on a large team though you have to make all sorts of trade offs at all sorts of levels and it's way harder to produce high quality software because you are no longer a god that controls every single aspect of the project.
replies(1): >>waynes+vL
◧◩◪◨
49. manana+hK[view] [source] [discussion] 2021-08-06 14:21:37
>>ChrisM+Ry

  In the elder days of Art,
    Builders wrought with greatest care
  Each minute and unseen part;
    For the Gods see everywhere.
(from Longfellow, The Builders, 1850)

I’m not sure to which extent I agree with this piece’s medieval outlook of seeking and expecting perfection in the past, not in the future, but it doesn’t detract from the quality of this piece of writing. (Same for Tolkien, for example.) (And the poem actually talks about improving on the past, not venerating it; citing this part in isolation is a bit misleading.) (Now that I’m comparing these two quotes, the difference between “because the gods will see” and “because you’ll know it’s there” is... probably not worth overanalyzing, but at the same time intensely amusing.)

◧◩◪◨
50. ordu+BK[view] [source] [discussion] 2021-08-06 14:23:08
>>datalu+GE
As I see it, it is more nuanced. When engineer designs a bridge she does a very similar work to a programmer. Programing it is like designing a very complex bridge without constructing it really, because when you finished your design it had been built already.

So it is not exactly like you've said:

> You can't design it first and then go and build it.

You can design, but you cannot build.

A process of building by a design can be paralleled with deploying software -- suddenly there is a hairy real world, not all the hair was considered at the design phase, and either we hack around existing software (i.e. design plans), or call a programmer to redesign.

51. kongol+cL[view] [source] 2021-08-06 14:24:48
>>onion2+(OP)
I agree with that last sentence, but IMO even in a well-served market things like brand loyalty, familiarity, and social momentum can often be major deterrents to switching just for the sake of quality and often times unless the major players in a market are really messing up users will not see much of a reason to switch.
◧◩◪
52. waynes+vL[view] [source] [discussion] 2021-08-06 14:25:43
>>umvi+RJ
I don't buy it. You don't have to own the _ENTIRE_ application to be a developer of one. I've seen many developers that were solely responsible for a specific feature and shipped what I'd consider poor quality.

Large software project, whether you're a developer of one or a team (and probably more commonly occurs in a team since it's large) will have warts. It's harder to manage complexity as the projects size increases since it accumulates and it accumulates fast.

53. TeMPOr+wO[view] [source] 2021-08-06 14:38:40
>>onion2+(OP)
> Users mostly don't care so long as the app works well enough to do what they need it to do (but they're not dumb, they'll still pick the least buggy option if there are alternatives..).

In other words: users do care. They just don't have a choice.

That's not the same than users "not minding" bad software.

◧◩◪◨
54. stopna+bP[view] [source] [discussion] 2021-08-06 14:41:32
>>ChrisM+2y
I wonder if the nuance being identified by the other commenters might be the tragedy of the commons that can play out in collaborative settings. I'm right there with you, btw. Mine is also a non-sexy, non-commercial app and I'm happily a one man band. But a younger me, a junior member of a team, under pressure without close supervision would probably commit a certain amount of half baked spaghetti and be part of the governance problem.
replies(1): >>ChrisM+wR
◧◩◪◨
55. clover+GP[view] [source] [discussion] 2021-08-06 14:43:37
>>datalu+GE
> You can't design it first and then go and build it.

You can't design it in full in one go, but you can design it and then incrementally update said design. Sadly many (companies) do not. But you can define the problem(s), the scope, the scale, and then design a solution appropriately to meet those needs (for a defined period of time). That's what distinguishes software engineering from hacking. They both have their place. Many companies claim to do the former but are mostly doing the latter. Software is still early in its life and as various kinds of system designs stabilize, so will the formalizations around what it means to be a software developer. Reading a book like Designing Data Intensive Application's you can't help but see those formalized topics budding.

◧◩◪◨⬒
56. ChrisM+wR[view] [source] [discussion] 2021-08-06 14:51:24
>>stopna+bP
Yup.

It's not exactly a "one-man show," but I'm the chief architect, and the only one developing one of the three servers the app uses (I was also the original architect for another server, that is now being run by a different open-source team), I am also the only one developing the native iOS application. I may be writing some adjunct apps, once the main one has been released (like Watch, Mac and TV apps).

But we're a team. It's a 501(c)(3), with a mission to Serve a specific demographic. We have the advantage of being intimately familiar with the demographic. So far, we haven't had to shell out much. If they decide to write an Android version, then it may take some extra dosh. The good news is, the app is in "constant ship" state, so asking for funding is fairly straightforward. We just need to loop the person into the TestFlight group, and Bjørn Stronginthearm is your uncle.

◧◩
57. iso163+FR[view] [source] [discussion] 2021-08-06 14:52:12
>>bishop+4t
October will be interesting, wonder how busy NAB will be. I know one supplier from the UK who's planning on quarantining in the carribean for 2 weeks ahead of NAB because the US still wont let people from Europe in (other than Nigel Farage)
replies(1): >>bishop+wU
◧◩◪
58. iso163+3S[view] [source] [discussion] 2021-08-06 14:54:01
>>Retric+vp
Google search was two orders of magnitude better. Gmail launched with 1G storage when hotmail offered 10M. Both products launched with exponentially growing customer base too.

Despite that, hotmail still exists.

While first mover doesn't guarantee success, it's certainly an illusion.

replies(1): >>Retric+3Y
◧◩◪
59. bishop+wU[view] [source] [discussion] 2021-08-06 15:04:03
>>iso163+FR
I think that eventually the vendors will decide that it's a waste of money.
◧◩◪◨
60. shalma+3X[view] [source] [discussion] 2021-08-06 15:15:00
>>jagged+dy
If you broaden the definition of Other People to "you, 6 months from now" and "you, 6 months ago", then many SE principles still apply. Where SE principles don't apply is toy, one off scripts that you just hack together to get a single thing done and require no maintenance like a lot of stuff in science.
replies(3): >>tharku+Ld1 >>ChrisM+mg1 >>tkiolp+d02
◧◩◪◨
61. Retric+3Y[view] [source] [discussion] 2021-08-06 15:19:56
>>iso163+3S
Two orders of magnitude is a serious exaggeration. I remember swapping back and forth through multiple search engines well after Google showed up. Search index size and update frequency used to be a much larger issue for me.

Early on I swapped from yahoo mail to gmail to hotmail because gmails spam filtering wasn’t good enough. Among my fiends Gmail really won on UI not space.

◧◩◪◨
62. dnh44+n31[view] [source] [discussion] 2021-08-06 15:40:37
>>datalu+GE
No it's not like building a bridge. It's like thinking you're building a bridge but then the client decides he needs it to be moveable so then you have to give it legs so it can walk. Then the client's manager decides he wants it to be able to get to the moon so you then have to strap rockets and parachutes to it. Then after it gets installed and someone finally speaks to the users you realise all they needed was a canoe.
63. spotty+851[view] [source] 2021-08-06 15:47:03
>>onion2+(OP)
> A high level of quality in software is not important unless you're entering an already well-served market. I wish it was.

Somewhat weird mindset. It is natural that when a new market gap is discovered, the first iteration of products are crappy and do the job just barely. Applies to software, cell phones, forestry machines, water toilets. Having a mindset where everything should be perfect from the start will get you nowhere.

64. avidia+p81[view] [source] 2021-08-06 16:00:04
>>onion2+(OP)
A classic screed on the same topic: https://web.stanford.edu/class/cs240/old/sp2014/readings/wor...
◧◩◪◨
65. blacks+ea1[view] [source] [discussion] 2021-08-06 16:07:12
>>datalu+GE
Hmm, 'developer' has a cheerful kind of vagueness about it - it comes close to describing the iterative process of starting to write something one way, then realizing your original approach wasn't quite right and rewriting it. At least, I don't think mechanical engineers do that too often...
◧◩◪◨⬒
66. tharku+Ld1[view] [source] [discussion] 2021-08-06 16:22:40
>>shalma+3X
Absolutely true. Not even 6 months needed.

When I do stuff for myself I apply the same principles I apply at work. It's insane how easy it is to change stuff later on. Didn't think about this use case before but now you do? Because I have properly maintainable code that is readable its very easy to change and changes are only needed in one place instead of all over the place. Knowledge of the right thing is kept in the right place instead of implicit knowledge all over the code etc.

It also helps to have 'one team be responsible for each service' instead of 'everyone can work on everything'. It's insane how fast you can move if you know the code well and it's maintainable.

◧◩◪◨⬒
67. ChrisM+mg1[view] [source] [discussion] 2021-08-06 16:33:04
>>shalma+3X
I'm the poor schlub that usually needs to maintain the code that I write.

I also pretty much never get questions about the code that I pass on to others.

I write about my process here: https://littlegreenviper.com/miscellany/leaving-a-legacy/

(Long screed. Few read it).

◧◩◪◨
68. Rd6n6+5h1[view] [source] [discussion] 2021-08-06 16:36:05
>>datalu+GE
In Canada, engineer is a protected title. There are software engineers and you get professors who stress to you the importance of testing and safety, and there are safety and ethical requirements. It’s not very strongly enforced though, lots of people here get away with using the title
◧◩◪◨
69. motion+Hm1[view] [source] [discussion] 2021-08-06 16:57:48
>>datalu+GE
I mean, I'm and audio engineer, a fire protection engineer by degree, and a software engineer. Your bridge building analogy doesnt hold up, there is always changes and refinements of guestimations.
70. coffee+iF1[view] [source] 2021-08-06 18:20:08
>>onion2+(OP)
> The problem that the article doesn't address is that users don't actually seem to mind using terrible software so long as it solves the problem they face better than not using it. I could list literally hundreds of half-assed, broken, bloated applications that I've encountered in the past 25 years that have done very well simply because they kind of solve a problem a bit for the user.

This is ZERO snark, but I'm genuinely curious for lots of examples. I ask because I'm confronted with this problem ALL THE TIME working at startups that obsessively focus on visual elements that won't move the needle, versus being obsessive about solving pain better than others.

I need to start building a list that I can just pull out at a moments notice.

Would love to hear more!

◧◩◪◨
71. cfcfcf+GL1[view] [source] [discussion] 2021-08-06 18:56:38
>>datalu+GE
Yes, I personally find developer or programmer more accurate, although neither is without its own connotations and baggage.

As a designer I’m a bit embarrassed by the trend to describe ourselves as product designers. To me a product designer makes chairs and coffee tables.

◧◩◪◨
72. crucia+RU1[view] [source] [discussion] 2021-08-06 19:52:23
>>andrub+ja
I am guessing it has to do with the style of product managers in enterprise. A lot more non-technical PMs, people with BI backgrounds?
◧◩◪◨⬒
73. tkiolp+d02[view] [source] [discussion] 2021-08-06 20:24:34
>>shalma+3X
Strangely enough, software engineering is mostly about humans rather than about software. Take any side project of yours (no matter if it has been hacked together or if the best practices out there have been applied): add pressure to make money out of it, pressure to deliver it at a given date and a bunch of individuals you must collaborate with to push the project live, and right there you get SE.
◧◩◪◨⬒
74. gkrime+9B2[view] [source] [discussion] 2021-08-07 00:54:40
>>grepfr+tz
Please come work at Google! This place has the best overall code quality I have ever seen. That's not to say it's always great or bug-free, but it is almost always well maintained. There is very little dead code. Giving and receiving high-quality code reviews is the norm.
replies(2): >>ChrisM+eI2 >>grepfr+yN2
◧◩◪◨⬒⬓
75. ChrisM+eI2[view] [source] [discussion] 2021-08-07 02:09:37
>>gkrime+9B2
That’s one company that would almost certainly not have me, but I very much appreciate the thought.

Apple also displays extremely high quality code, in the areas that are exposed to the public.

I have not seen too much Adobe code, but I’m told you can eat off the Photoshop codebase.

For myself, I need to keep my scope fairly humble, but I get great joy from it.

It sounds like a gratifying environment. Good show!

◧◩◪◨⬒⬓
76. grepfr+yN2[view] [source] [discussion] 2021-08-07 03:19:44
>>gkrime+9B2
Hey, I found your email on another thread.. I will reach out!
◧◩◪◨
77. branko+sY2[view] [source] [discussion] 2021-08-07 05:47:21
>>datalu+GE
It's exactly like building a bridge... if nobody never built a bridge before.

The only reason you can design a bridge beforehand is because (millions?) bridges have been built before so you can apply the lessons learned. Even if your bridge is "unusual", it will still be similar enough to older bridges so you don't have to invent the vast majority from scratch.

Other kinds of engineering don't have the luxory of leaning on the prior experience so much, simply because there is less of it. SpaceX's reusable rocket could not have been be fully designed before built, simply because nobody built a reusable rocket before. But it could be done through iteration, which is just another name for experimentation.

Software tends to be less like bridges and more like rockets... all of which falls within the spectrum of "engineering".

◧◩◪◨⬒⬓
78. cpach+uhr[view] [source] [discussion] 2021-08-15 15:24:39
>>ChrisM+xJ
It’s a paraphrase, but the origin is indeed Aristotle.

http://www.universalethics.org/Ideas/Virtue_as_a_habit.htm

[go to top]