Live data from Hacker News

Uncomfortable Truths in Software Engineering

buttondown.email

61–70 of 400 posts

Re: Uncomfortable Truths in Software Engineering

#61
post #37

Earlier quoted context omitted.

great is a relative term. It's much better than feudalism, and certainly better than the most prominent socialisms that've been tried (USSR, China etc). However, it does not align incentives towards the things we think are "good", like maintaining open source software, securing software, etc - so it certainly isn't ideal.

Yea I mean nothing is perfect. While capitalism doesn’t lend well to maintaining open source software (which I find to be a surprising comment given that GitHub exists) it does lend well to things like having a house, or being able to save money for retirement, or to creating markets where you get products you want. YC for example has enabled lots of founders to create brand new companies and services we all use. So…

> While capitalism doesn’t lend well to maintaining open source software (which I find to be a surprising comment given that GitHub exists)

Github doesn't maintain the open source software they host.

> it does lend well to things like having a house

Capitalism isn't the originating point of houses though. However, it is the originating point of mortgages, and the massive profits banks draw off of them. I'd say it's a double-edged sword on that front.

> The world’s most capitalist countries also have the highest standards of living (Norway, Sweden, etc.).

Those countries are social democracies - they invest a lot into welfare and the state. The US is probably the world's most capitalist country, that or South Korea. Both have terrible standards of living for poorer people.

Fundamentally, the incentives of capital drive towards maximising profits and minimising costs - everything else is surplus to requirements. I'm not on board with the people who think capitalism is the worst thing ever, but its incentives are pretty bad and it's usually better off mixed with taxes, regulation, nationalisation etc into a mixed economy.

Re: Uncomfortable Truths in Software Engineering

#62
post #33
post #17

Earlier quoted context omitted.

Capitalism is a handful of people who own the means of production and the rest of us trying to get by. The bad apples exploiting it are the people who own the means of production, and saying they're the bad part of capitalism might as well be saying "capitalism is only bad because of what makes capitalism what it is".

> Capitalism is a handful of people who own the means of production and the rest of us trying to get by. Well, good thing then that the "means of production" for software development consist of a 500€ laptop, which is well within reach of just about every programmer in the Western world.

>Well, good thing then that the "means of production" for software development consist of a 500€ laptop, which is well within reach of just about every programmer in the Western world.

Sure, now tell me your opinion on this idea I have

Today for music there are many parasites that suck the profits and creators barely get something. So my idea is to make a cooperatives (or non-parasitic company) to help the creators of content. First step is to have mobile apps and here we just HIT the parasites, Apple and Google , any transaction or subscription will be taxed by7 this parasites. It seems impossible to make money for the right people without fating up the parasites.

Re: Uncomfortable Truths in Software Engineering

#63

Another uncomfortable truth: most software engineers beyond a few years' experience are highly resistant to suggestions for improvement in their craft. They're more likely to use their intellectual/verbal skills to push back than to move forward.

Their craft isn't important. They can just move up the income ladder by getting a new job every ~3 years without really improving.

Re: Uncomfortable Truths in Software Engineering

#64
post #42

This one from the article is a bit weird: > Sophisticated DSLs with special syntax are probably a dead-end. Ruby and Scala both leaned hard into this and neither got it to catch on. Rails is one of the most popular web frameworks around and a combo of Rails and Ruby power some really high traffic / high importance platforms like GitHub, Shopify and Stripe's API.

I would not call Rails “popular” in Europe at all. Some use it, sure.

Re: Uncomfortable Truths in Software Engineering

#65
post #21
post #6

There’s no rigorous academic evidence for this, but a lot of companies have been backporting typescript/mypy/sorbet onto existing dynamic codebases and the case studies have been overwhelmingly positive. Not to be a buzzkill, but migration reports from any tech A to tech B are always overwhelmingly positive when the industry has a newlywed period with tech B. Save for a clear, undeniable failure the stakeholders will…

After using python and C++ in production for more than 10 years I'll reach for python for trivial things, but for something complex give my C++ over python! Yes C++ has awful syntax full of footguns, but at least I can change a large project. At 50k lines of code python becomes something you can't change for fear of some 1 in a million path that will only break after it hits production. Static types means that C++ wo…

> C++ has awful syntax full of footguns

HN never stops delivering new funny insults about this language :-)

Re: Uncomfortable Truths in Software Engineering

#66
post #6

There’s no rigorous academic evidence for this, but a lot of companies have been backporting typescript/mypy/sorbet onto existing dynamic codebases and the case studies have been overwhelmingly positive. Not to be a buzzkill, but migration reports from any tech A to tech B are always overwhelmingly positive when the industry has a newlywed period with tech B. Save for a clear, undeniable failure the stakeholders will…

Exactly, that that kind of content is literally publication bias[0] on steroids.

[0] https://en.wikipedia.org/wiki/Publication_bias

Re: Uncomfortable Truths in Software Engineering

#67
> The open source maintainer problem isn’t going to get much better in the near future. People are gonna keep blaming “Capitalism” for this. People are gonna keep blaming “Capitalism” for a lot of irrelevant things. People are gonna argue with me about blaming “Capitalism”. Goddamn I am so tired of “the problem is CAPITALISM” takes and they will never stop

The entitlement and arrogance is pretty mind-blowing - those damn' developern don't fix our bugs, don't always respond fast for security updates - such a big problem, but wait - maybe not such a big problem to actually task a dev from my company to work on the dependency - either by maintaining a local fork or helping upstream. Because oh well - this costs actually money.

Sure blaming capitalism is oversimplifying the problem but it's pretty clear that most companies try to avoid using their resources for improving important open-source components. I don't mean paying the developers - that doesn't always work but instead doing things like upstreaming bugfixes and features, maintaining a local fork if upstream is not responsive or even publishing an improved fork. It happens but not very often.

Re: Uncomfortable Truths in Software Engineering

#68
post #29
post #13

Earlier quoted context omitted.

Software is not charity. I will not work hard to deliver all those things out of the goodness of my heart. The ROI on those things isn’t great. If it’s easy to do I’ll do it, but none of those are trivial things.

Software is not charity but it's a responsibility. As probably the most innocent example, when you ship an app that drains a user's battery you betray your users. But then how about an app that sneakily collects data knowing that users won't even understand what you are doing or why? You can be a responsible business which unfortunately won't necessarily be appreciated. Or you can be a typical business that exploits…

If you don't like our current system that lets users decide what they can put up with or not then are you proposing some sort of centralized authority to enforce this? Like the government? The same governments of the world that produce the crappiest, most insecure, user hating software with some of the most ridiculous rules and regulations or else 10 layers of subcontractors making the price per line of code outrageous?

Re: Uncomfortable Truths in Software Engineering

#69
post #3

No. 13 is gold: > We’re never going to get the broader SE culture to care about things like performance, compatibility, accessibility, security, or privacy, at least not without legal regulations that are enforced. And regulations are written in blood, so we’ll only get enforced legal regulations after a lack of accessibility kills people. Sorry, can't help but blame capitalism for saying "fuck performance, compatibi…

Counterpoint: life in communist countries is not known for being "not miserable".

Re: Uncomfortable Truths in Software Engineering

#70

Earlier quoted context omitted.

It's not capitalism, but the bad apples exploiting it.

It's not the fault of a system that rewards unethical behavior by having a massively skewed risk/reward profile for said behavior, it's the fault of people with low-normal levels of empathy who make rational decisions. Sure.

That same line of argument could work for socialism/communism. What country that doesn't use the free trade paradigm for their economy isn't some authoritarian nightmare of poverty and despair? Are they just bad actors using the system wrong, or is it a system that always ends that way?
Post reply on HN