Live data from Hacker News

Uncomfortable Truths in Software Engineering

buttondown.email

111–120 of 400 posts

Re: Uncomfortable Truths in Software Engineering

#111
> But especially so with me, given I care about weird exotic technology at the boundary of programming.

Smells a bit like a humblebrag. Here's mine:

But especially so with me, given I care about extremely high-Quality software.

> Also also also, most muggles don’t want to program their own computers, much in the same way that most muggles don’t want to do their own taxes or wire their own houses.

This is true, but I'm uncomfortable referring to non-techs as "muggles." Some of the least-computer-tech-savvy people I know, are doctors, lawyers, and scientists (and I actually know quite a few).

> 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.

Unfortunately, I have to agree with this.

Re: Uncomfortable Truths in Software Engineering

#112
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.

It is unfortunate that parent latched on to capitalism. Point number 13 from the post resonated with me the most since the software I write can damage the environment or expensive machines that are difficult to replace if there are errors, and as a professional electrical engineer I do sign off that it is built correctly and am liable, and therefore I limit the scope so I can manage the workload, document test result…

True, but I'd argue that regulation is not part of the free market capitalist paradigm. Regulations are created and enforced by the democratic institutions that are not part of the market paradigm.

Re: Uncomfortable Truths in Software Engineering

#113
>>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

This is a horribly constructed argument for a great point that I would have loved to see expanded on and communicated better. Feels like the author was just trying to dismiss an argument with some "repetition legitimizes" comedic statement.

Re: Uncomfortable Truths in Software Engineering

#114
post #5

>The open source maintainer problem isn’t going to get much better in the near future. >People are gonna keep blaming “Capitalism” for this. Capitalism is great, there really is no need to defend it at every opportunity, especially if no one is attacking it.

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.

Anything democratic devolves to oligarchy.

A monarchy with an effective ruler selection process is probably best. There’s a reason most successful companies have a single CEO with absolute power - and they degrade once this is no longer true.

It certainly has a large risk of tyranny though.

Re: Uncomfortable Truths in Software Engineering

#115
post #92

My Own Addition: 14. Those who code for a living make good money. I have a lot of friends who went into various fields, and it seems relative to the number of buttons we press daily, anyone who works on software makes great money. We didn't spend a ton of $ to go to medical school and 3 years of residency. We didn't go to law school and take the bar. Most of us went to 4 years, or less, of school, and here we are mak…

The difference here is usually leverage. A teacher spending an hour to teach one child teaches one child, but a programmer who spends an hour writing code to generate a dollar’s worth of value can have that run thousands of times a second or 24/7 even when they’re sleeping. Of course teachers who understand this also make money, see Miss Excel ( https://www.instagram.com/miss.excel/?hl=en ), who was/is making $100k a…

Imagine we added up all the dollars generated as a result of good instruction.

Re: Uncomfortable Truths in Software Engineering

#116
> While dynamic languages can be the right choice for a large project, you have to make the case for why it’s the right choice, like a killer library, something particular to the domain, etc. ...While dynamic languages can be the right choice for a large project, you have to make the case for why it’s the right choice, like a killer library, something particular to the domain, etc.

99% of software projects are by no definition "large". Why in the world would it follow that what is right for critical state infrastructure is at all the right way to do something not nearly as complex?

An attempt at rephrasing the argument: "When you go to the moon, you need to concern yourself with the vacuum. If you're not going to the moon, you should put on your space suit because other people are going to the moon."

Re: Uncomfortable Truths in Software Engineering

#117
post #85

Earlier quoted context omitted.

The problem is that there’s no agreed-upon point when we give FOSS maintainers the negotiating power to get the compensation they actually need —- whether that is patches or pesos.

I argue that a healthier approach would be to own the foss-components you use and to try to build an internal understanding of them - no need to audit every line of code but at least some high-level understanding what every component does would already be helpful - try asking for resources to do so, I guess most of the time you will be laughed at. Also giving your devs the knowledge and time to upstream fixes until t…

You’ve reframed the problem — have you made it larger or smaller? Which problem requires a smaller team to achieve:

A. Training a high enough software engineers in the negotiating skills that they could get the time to develop that understanding. I estimate that training 80,000[1] developers to do this would require 3-6 years from a team of at least 1,000 people with tech lead level of experience… it would likely also need to be repeated every 2 years as new people join the industry.

B. Establishing a social norm that sets the default choices of debates in lots of companies. Baking that social norm into the structure of tools like npm and github. I estimate this would take 1-5 years from 10-30 people with leadership experience and political capital in developer relations/marketing and sales engineering.

[1] https://insights.stackoverflow.com/survey/2021

Re: Uncomfortable Truths in Software Engineering

#118
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 also don't understand the notion that the various bits of ruby that look like a "DSL" even qualify for this rule.

Ruby's syntax allows for writing things in a pretty expressive style, often not requiring parentheses (for parameters) or curly braces (for object/hash literals), and that allows you to write ruby code in a way that sorta looks like a nice DSL. But it's very much not a DSL, it doesn't have "special syntax", it's just... Ruby. Just because Ruby can be written beautifully doesn't mean Ruby "leaned hard into this".

Re: Uncomfortable Truths in Software Engineering

#119
post #30

Earlier quoted context omitted.

For Typescript, I think it's safe to say the honeymoon period is over. It's been >9 years, or more than 3 internet generations. For at least this one case, many people (including myself) believe it's a success. Whether the tooling for Sorbet or mypy ever reaches that point, there are compelling reasons to believe in the success of the model.

Adoption curve takes a while. Typescript definitely wasn't common back in 2012, I can tell you that.

It's not common now! The software world is huge; a niche of a niche is not some bellwether of the industry.

Re: Uncomfortable Truths in Software Engineering

#120
post #99
post #37

Earlier quoted context omitted.

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…

Wait. Are Norway and Sweden in the group of "most capitalist"? I thought they also had a bunch of socialized programs. I feel like USA and UK are the top two "most capitalist" countries.

Having social programs doesn't preclude you from being a capitalist country. If it did, the U.S. has medicare, medicaid, welfare, social security, food stamps, affordable housing programs, and many others yet we consider it to be highly capitalist. People often confuse political and economic systems (which is fair) because they get tangled together. Both Norway and Sweden are capitalist countries. They have stock markets even. [1][2]

At least for me and I'll speak on behalf of others who can correct me but there is great annoyance with "capitalism bad for everything" slogans and phrases precisely because it's more of a lack of functional government (at least in America) than it is private ownership of property or production. You should be able to start and own a business, the government (largely) shouldn't be telling you what you can and can't spend your money on, and entrepreneurship is very valuable and should be promoted and encouraged, not shamed or something you get executed for.

-edit-

The main difference between Nordic social democracies and a country like the United States is marketing and effectiveness. The U.S. spends an incredible amount of money on social programs. Some groups in the U.S. spend an incredible amount of resources convincing others that government programs are "socialism" and therefore bad. It's a wonder that my older relatives who rail against these programs are the same ones that benefit mostly from them. I always say yea I'm on board we should cut medicare and social security (that they receive) and the conversation changes at that point, though their minds don't. That should tell you something.

[1] https://en.wikipedia.org/wiki/Oslo_Stock_Exchange

[2] https://en.wikipedia.org/wiki/Nasdaq_Stockholm

Post reply on HN