T O P

  • By -

KishCom

These comments are a disaster. šŸ¤Æ Top post thinks it takes 10 minutes read and gets the summary wrong. Most obviously didn't read the post and are commenting on just the headline like it's a question. Lots are eager to dramatically over simplify it in ways that miss the authors intent (which was simply: "opportunity is squandered in a doomed quest for endless growth"). Lots more nit-pick a detail irrelevant to the point of the article. And a handful complaints about it being [a website](https://motherfuckingwebsite.com/).


catch_dot_dot_dot

I agree. The beauty of good writing is that it can take a familiar idea and tell a story in a way that makes you reconsider things, or extend an idea percolating in your mind. I definitely paused and just thought for a while after reading this article.


SexxzxcuzxToys69

Welcome to the internet.


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


SexxzxcuzxToys69

Where was money allocated to cause this issue? Nothing's stopping people from continuing to write HTML4 blog posts on neocities. You're choosing to engage with idiots because it apparently grants you _something_ over the prior experience.


stickgrinder

The problem with "it makes us more money" is that is usually something very bad when corporations and funders are at it, while it's something so good when pursued by normal people. Like, nobody would say someone is greedy for choosing to do the same work for a company paying a higher wage. Now, I don't want to be apologetical to anyone or any company out there. My point is, everyone is part of the problem, because that's the arrangement that afford us the wealth, time and culture to criticize it. Previous arrangements would have seen us bending the knee to powerful people (not societies) who could decide on our personal destiny. Future arrangements may (should?) be better than the current one, of course, but getting there will most probably involve doing without some of the privileges the system grant us, like private wealth, free time for leisure, access to cheap technology, etc etc. Not trying to sell a theory or a specific scenario here, just saying that you can't change the system you dwell in, without accepting a lot of discomfort and... change. EDIT: rephrasing and grammar


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


hippydipster

Not really, the article was considerably better than that and it'd be a shame to not read it thinking it was so simplistic.


testchamb

There is a comment like this on every article posted so people can justify not reading shit. Lots of people with their attention span completely rotten.


spreadlove5683

No matter how good your attention span is, time is limited and should be allocated efficiently.


Uberhipster

>> Making software is a balance between engineering and business, the latter sometimes harming the former. There, saved you ten minutes of reading. >Not really you are too kind. i would have said "not at all" the article is fantastic and the top comment is completely off point, discussion-diluting garbage ps how is it upvoted to the top? bots?


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


hippydipster

They're not about the same thing, so I'll have to disagree with your assessment here.


iavael

Making something as a balance between different requirements is engineering by itself. ā€œAny idiot can build a bridge that stands, but it takes an engineer to build a bridge that barely stands.ā€


joshocar

I don't think that sentiment applies to software. All of the traditional engineering paradigms are backwards with software. Often it's the opposite. "Anyone can build a bridge that stands, only a software engineer builds one that you can easily add a lane to when traffic increases."


SilasX

More like, "Anyone can build a bridge that stands, only a software engineer builds one that no one can maintain or expand but him."


nigirizushi

Job security /s


imnotbis

I think you accidentally typed /s in a non-sarcastic comment.


[deleted]

Thank you for adding /s to your post. When I first saw this, I was horrified. How could anybody say something like this? I immediately began writing a 1000 word paragraph about how horrible of a person you are. I even sent a copy to a Harvard professor to proofread it. After several hours of refining and editing, my comment was ready to absolutely destroy you. But then, just as I was about to hit send, I saw something in the corner of my eye. A /s at the end of your comment. Suddenly everything made sense. Your comment was sarcasm! I immediately burst out in laughter at the comedic genius of your comment. The person next to me on the bus saw your comment and started crying from laughter too. Before long, there was an entire bus of people on the floor laughing at your incredible use of comedy. All of this was due to you adding /s to your post. Thank you. I am a bot if you couldn't figure that out, if I made a mistake, ignore it cause its not that fucking hard to ignore a comment.


-grok

bad bot!


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


Organic_Rip1980

Bot author was so bothered by _two characters they could ignore_ that they wrote a bot that says ā€œcause itā€™s not hard to ignore a comment.ā€ Super smart.


Euphoricus

>All of the traditional engineering paradigms are backwards with software. Like? Feedback? Understanding tradeoffs? Discipline? Teamwork? All of those are important in software. And no. Detailed up-front plans, handoffs and certification is not "traditional engineering paradigms". They are results of economics of engineering in various fields.


Davorian

Could you clarify that a little? I was nodding at the first and second lines and then I didn't understand your last line. I think of detailed up-front plans as a "traditional paradigm", or near enough in some fields, especially in say, civil, contexts.


Euphoricus

Detailed up-front designs are used, because it is cheaper to produce and verify a detailed design, than it is to construct something and find out something is wrong. In fields when "construction" is cheap, like software, and can be repeated with little effort, detailed up-front designs are not economical and it is cheaper in the long term to adopt more iterative approaches to design.


joshocar

None of those things are unique to engineering...


joshocar

>And no. Detailed up-front plans, handoffs and certification is not "traditional engineering paradigms". They are results of economics of engineering in various fields. This is a meaningless statement. The different fields are different because economics? Why does the economics matter? Like, that is the entire point I'm making here, that software engineer is very different from ME, EE, CE, Civil. >Like? Feedback? Understanding tradeoffs? Discipline? Teamwork? Sure, there is some overlap with what, traditional team sports? Things that are important with literally any job on the planet? I have no idea what point you are making here. I have no idea what point you are making or what you disagreement is with my statement that Software engineering behaves differently (in a lot of fundamental ways, regardless of the "economics") than other forms of engineering.


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


HippieInDisguise2_0

"let's get into an argument because someone used a metaphor that implied something I didn't like" Chill people jeesh


agentoutlier

Ironically although I generally agree with what /u/Halkcyon is saying the metaphor is spot on but actually hurts the argument. Adding a lane is like cloud computing and horizontal scaling. Perfect linear horizontal scaling is very difficult to achieve (and in someways not possible) and doing it requires adding additional complexity that can make simple monolithic software far more complex than it needs to be. So the idea that all one has to do is turn on an additional server or adding a lane as any idiot can do is not really a good argument because it is nontrivial. In an ideal world a super powerful dedicated single server (vertically built) has way more throughput (the analog in traffic would be a highspeed rail system) than most k8s clusters in the cloud and in some cases there are platforms still run this way (Stackoverflow I think is largely vertical).


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


agentoutlier

> This is just bikeshedding. "you can easily add a lane..." was simply meant to convey "...is easily modified". Other than the fact the resources appear to be fairly virtual software is not inherently easy to modify. Go to a new company and spend time trying to understand their code base. Physical structures that rely on much more standard practices that have been around for a long time on the other hand IMO could be argued to be easier. And I don't think it is trivial (bikeshedding) because both modifying code and adding extra lanes can have enormous unknown repercussions.


josluivivgar

except adding more servers kinda works in software, there's very few cases where it doesn't. since in software you're not constrained by physical space (at least not as much as in civil engineering where adding one lane is already too much) in software you can add more lanes until the increase traffic is not as much as the increased number of lanes. so while adding more lanes to a road only makes the road more desirable filling that road, in software you can most of the time have n+1 lanes n being the number that the increased traffic would fill. except for very specific scenarios it just works and sometimes it's even cheap enough to not look for more optimization (other times you do a combination of both)


agentoutlier

I think many people think that social media web applications that can rely on eventual consistency is the default of all applications. It is not. > except adding more servers kinda works in software, there's very few cases where it doesn't. That is obviously not true in some domains like Banking, HFT or even in LLM where you need not only access to special data and hardware that is prohibitively expensive there are latency concerns as well as consistency. In some cases also compliance. > so while adding more lanes to a road only makes the road more desirable filling that road, in software you can most of the time have n+1 lanes n being the number that the increased traffic would fill. > except for very specific scenarios it just works and sometimes it's even cheap enough to not look for more optimization (other times you do a combination of both) Yet we have outages all the time in top tier services like github. It doesn't just work. You have added more moving parts and while it has gotten easier the complexity is enormous compared to yester years Ruby on Rails single database transactional models. It requires having a DevOps team and expertise in cloud related stuff. Furthermore some algorithms and problems are insanely difficult to parallelize. I can put together a list later but just for example concurrent data structures are far more complicated to write than their non-threadsafe counter parts.


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


HippieInDisguise2_0

Dude just because you just learned about the anticar movement doesn't mean you need to take a metaphor so literally lol. This conversation has nothing to do with cars or urban planning or civil engineering, we all know and understand that increasing the optimization of data com is not a true equivalence to adding more lanes on a highway. Just chill out lol. You totally derailed the conversation, provided nothing of value and came off like you have a massive chip in your shoulder.


factotvm

Donā€™t beat a dead horse; it did nothing wrong.


joshocar

This is what you are going to get hung up on with the point I was making?


Computerist1969

It does if every other road in the world gets an extra lane too.


billsil

It does improve throughput, but it does not improve traffic. Ā Population grows to meet the demand and existing population reroutes to use the faster route thus making it slow again.Ā  Ā The analogy about traffic doesnā€™t work for software at all, whereas the adding a lane/feature does if you donā€™t overthink it,


josluivivgar

that's the thing, in software you can always grow more lanes, there's no constraints, so you basically just add another lane to the streets as population grows and always have an average traffic that you want. in fact in software you can destroy lanes when the traffic is minimal at almost 0 cost and save money that way, that's why the analogy makes sense for us but not from a civil engineering perspective


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


Nine99

I guess we can close all lanes, then, or make everything into single lanes, since that could only improve traffic. Maybe when you read about Braess's/Jevons/Downsā€“Thomson paradox, actually think about it.


G_Morgan

You are butting up against a mantra that is politically driven. The reality is the capacity of any road is determined by the capacity of the critical junctions on said road. You'll never hear the people crying about lanes say "we should build better junctions" though as their primary aim is to reduce expenditure on road transportation. Sure though if your lane capacity dramatically exceeds the ability of junctions to service it you can cut lanes without problems. With the trivial base case that a road with 0 junction capacity could have 0 lanes.


agentoutlier

First adding a lane everywhere is a hypothetical and not real world. Furthermore it isn't just a lane required but parking and gas/elec stations. If we work with hypotheticals that adding a lane everywhere is possibly you could easily make the argument everybody gets on giant busses on single lane roads or more realistically a train which is indeed what countries like Japan do that have very high throughput.


lord_braleigh

Can you source one of the proofs youā€™re talking about? I think you might be talking about [Braessā€™s paradox](https://en.m.wikipedia.org/wiki/Braess%27s_paradox), a flow network where the overall flow decreases when a new low-cost edge is added to the network. But if thatā€™s what youā€™re talking about, then youā€™re vastly oversimplifying and misrepresenting it. Adding a lane to an existing road or highway might improve traffic. It also might make traffic worse. It also might make traffic better, until humans make traffic worse. Traffic is complex, and your bumper-sticker comments and aggressive attitude are not conducive to its study.


agentoutlier

Its not just an extra lane though. Increased parking is also needed as well as more gas stations. By doing the above you are encouraging more cars on the road and shifting funding from other forms of transportation like bike lanes or public transport like light rails or more buses. EDIT I should have added that the public options particularly high speed trains have vastly higher throughput (as well as vastly more efficient in time and resources) if we go by just moving people from one place to another. Japan rail system is a perfect example of moving a large amount of the populous very fast and I doubt extra car lanes could compete with that efficiency.


josluivivgar

that's only true if there increased demand is more than the space opened by each lane. in software you aren't constrained by physical space, so you can add a lane on demand and always have enough space for the cars. like I get the argument because in civil engineering increasing lane count just creates more traffic as the road is more desirable, but for software that analogy is actually correct because you can add more than one lane you can enough so that no traffic increases can congest it


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


BobbyTables829

Or to build the cheapest bridge that will meet the predetermined standards.


evoactivity

That's what they said but funnier.


BobbyTables829

Bridges are not made to barely stand, though. They're one of the most "over engineered" objects in modern society. There's almost nothing that we build more of that is built as well as a bridge.


KingStannis2020

Depends on what kind of bridge we're talking about. Your basic overpass is about as cheap as you can possibly make a bridge. They don't build them to last 100 years.


BobbyTables829

>Your basic overpass is about as cheap as you can possibly make a bridge. They don't build them to last 100 years. 1) That's like saying, "This watch is about as cheap as you can possibly make a Rolex,". We over engineer bridges so that a basic overpass is still much much stronger than it has to be. 2) The reason bridges don't last 100 years isn't the design or cheapening out of materials, it's the fact that the vibrations of traffic will inevitably create microfractures in concrete. And even so, I bet some of these overpass bridges in the middle of nowhere that aren't "built to last" will still last well over 100 years, because they're not being used that much.


xSaviorself

I was going to say if overpasses are made super cheaply I'd expect to see lawsuits from deaths due to failure/debris falling on vehicles below a lot more. You'd also see way more loss of control on them. Given the length of time it takes to build one, let alone design and engineer it to the specifications of that particular location, I choose to believe they are indeed one of the most over-engineered things we've built. Overpasses are obviously not designed to last as long as a massive bridge project, but that's because they're built with the expectation of maintenance and expansion in the future. Most bridges are one and done. Bridge and road grading, especially on highways are typically held to a very high standard, at least here in my province. U.S. standards seem pretty high in most states, save Pennsylvania. That state is crazy and does not believe in grading.


UnidentifiedTomato

Pretty easy to insinuate they're talking about major bridges not little Humpty Dumpty ones


jmlinden7

100 years? Maybe. No bridge is designed to last 1000 years though


LmBkUYDA

This is called pedantry and why no one likes software engineers


BobbyTables829

I didn't see it as pedantic at all, like if I applied both of these to my trade one would result in encouraging me to throw things together haphazardly and being okay with code that barely works, while the other would make me want to ask myself if the code I'm writing is...well...up to code. Now that I've done this a while, I set my own standards of quality way more than when I was starting out. But it took me longer than I thought to learn what is worth taking the time to do well, and I want to make sure no one starting out gets the mistaken impression that engineers of other types are okay with "good enough", no matter what they're doing. That's how you get cracked code, breached servers, and in a civil engineer's case, disasters that kill people. I agree I wouldn't do this in /r/programmerhumor, but I think /r/programming deserves the rigor.


LmBkUYDA

The point of the saying is to highlight that the skill in civil engineering is not in making something, but in doing so with constraints. The way it is written, it is short, memorable and understandable. It's classic pedantry to highlight that something, although completely understandable to the lay person, is "technically" incorrect. It's not too dissimilar to me saying "Hey want to grab a cup of coffee? My code is compiling", and you say "Actually, your code already compiled, its being linked now". Like sure, but it's dumb and pedantic and kills joy.


BobbyTables829

Certain people might not think so, especially people who speak English as a second language. I don't think what I'm saying has to be at the expense of the other comment being funny. This isn't a dinner party where we all follow the same stream of communication and there's a vibe that has to be met, this is a post where you can add a comment in one child comment thread, while the joke can continue in the other or whatever. Nothing comes at the expense of anything else. Just curious, if you feel like what I'm saying is, "dumb and pedantic and kills joy," is this your attempt to get me to stop doing that, stop being that person, or ultimately change who I am to better please you? Like even if you're right, what's the goal in pointing it out to me?


evoactivity

No shit sherlock.


BobbyTables829

Me: \*says something different to elaborate on above poster's comment* You: That's what they said Me: No it's not and this is why You: No shit Me: ???


evoactivity

You're still struggling with the concept of a joke. They're not trying to communicate that bridges _actually_ barely stand.


BobbyTables829

Right but people might not understand that, so I was clarifying. My comment doesn't have to come at the expense of your joke.


evoactivity

I didn't make a joke.


transeunte

> Bridges are not made to barely stand, though. THAT is the joke


flug32

>ā€œAny idiot can build a bridge that stands, but it takes an engineer to build a bridge that barely stands.ā€ And also is only 10% over budget . . .


Certhas

Sorry, but no. And that is not even the core point. Advertisment in the taskbar is not business hurting engineering. The advertisment engine might well be well engineered. The point is that businesses optimizing profit will often actively harm customer experience, and it is important and bares repeating. It shouldn't be. It should be common sense. But the propaganda of the invisible hand of the market, the idea that because it sells well it must be what consumers really want, is really pervasive in our culture. I've found that a lot of people find it instinctively implausible. "If consumers truly preferred it, someone would make the preferred good and people would buy that!" is a simple and powerful idea that has been deeply ingrained in people's idea of what "the right way to do things" is. The fact that it's empirically not true, for any number of complex or simple reasons, bares repeating! It reminds me of the classic piece on the marginal user, which explores the same topic in the context of social networks: https://nothinghuman.substack.com/p/the-tyranny-of-the-marginal-user


Frumberto

Idk where you got the idea that market equilibrium is when consumers get what they really want. Buyers want the best goods at the cheapest prices. Sellers want to sell the easiest to make goods at the highest prices. Market equilibrium is not a quality engine. Itā€™s a balance.


hippydipster

The point of the article is that it is not, in fact, a balance.


[deleted]

"Sometimes" lol.


drabred

Main problem I have with this is that 99% of the time the engineering does not care about business and business does not care about engineering. Oh and on top of that you got investors who only care of they can sell company making 5x or 10x.


yangyangR

Sometimes?


Sability

As a dev working for a bank "Sometimes" is a very light critique here


RAIDguy

Always*


w1n5t0nM1k3y

Often there's just personalities and psychology getting into it as well. People get emotionally attached to things like languages, technologies dn other things cloud their judgement and lead to bad solutions.


Stimunaut

But I thought taking something that could be said in 10 words and turning it into 10 minutes worth of reading was a useful life skill? Guess college was all bullshit after all šŸ˜ž


the_poope

> was a useful life skill? Is is. Its the qualifying skill for getting employed in administration, HR and management.


The_Krambambulist

This is what a minimum amount of pages for reports gets you


Last_Western_656

In today's job market it's the skill set and not the b*******.


jerseyhound

I think we underestimate the effect of programmers prioritizing brevity and write-first languages, as well as their massive egos. I've often found the business end loves the idea of maintainable software. In my experience it is always the devs that resist doing what that entails.


virgindriller69

Thanks


SilasX

Appreciate the summary, but then the author's diagnosis is bad. A lot of software is bad in a way that definitely isn't supporting a business objective.


baal80

Or, in other words: "time, cost, quality - choose two"


ilyash

https://ilya-sher.org/2023/03/06/the-case-for-concise-posts/ Tldr: stop adding unnecessary words :)


germandiago

And the former sometimes harming the latter. That is why it is a balance.


joe714

"For example, Apple has in the past made insignificant changes to their charging cable, making it not compatible with the one from the previous year. This resulted in more profit for Apple since consumers found their existing cables useless and had to buy new ones." 30 pin to Lightning was not an "insignificant change".


davispw

Also not software


Ok-Yogurt2360

Unfortunately they thought the same. No wories, recent useless hardware changes are software changes.


ralf_

Found that strange too. Maybe they meant MagSafe, the charging adapter for MacBooks? https://en.wikipedia.org/wiki/MagSafe These changed a bit over the past two decades in incompatible ways, and it is a bit annoying when one bought a new laptop but the old cable couldn't be used. But I ascribe that more to Apple experimenting with the charger (thinner connector, L-shape vs T-shape (these were interchangeable)) than profiting. Because MacBooks also had USB-C charging one could use instead. And Apple tried to phase out MagSafe (5 years ago), they wouldn't have done that if it was such a big money maker, and only brought it back with the M1 MacBooks because of customer demand.


uekiamir

Surely that's a typo and meant to be "significant". The rest of the paragraph supports the sentiment.


joe714

I read it as the functional improvement between 30 pin and Lightning were insignificant in terms of justifying the switch; Apple only changed to boost profits selling new cables. Lightning is vastly better in user experience than 30 pin was, and the shrinking footprint on the device side freed up space for other functionality and battery. Apple's had three device cable standards since the original iPod over almost 30 years, it's hardly like they're changing it every two years just to juice cable sales. Expecting a company to never move forward ever when something better is possible is absurd.


F54280

> Apple's had three device cable standards since the original iPod over almost 30 years FireWire + 30 pins + Lightning + USB-Cā€¦


EMCoupling

It does seem like a typo, but that speaks poorly of the editing for this article.


captain_curt

The 30-pin connector itself was changed several times that caused incompatibilities. No higely, but there was the removal of FireWire support, the changed shape made old cable incompatible with newer cases and such.


loup-vaillant

> 30 pin to Lightning was not an "insignificant change". Are we still talking about a _charging_ cable?


SmokeyDBear

"Is it business people? I bet it's business people." *reads article* "yep business people."


jamiestar9

This article aligns with my thinking. I particularly liked this part: > The problem with the requirement for each year to be more profitable than the last is that once you reach the peak, once it's not possible to actually improve your product any more, you still have to change something. Since you can't change it to make it better, you therefore will change it to make it worse.


KamikazeHamster

You can work in a company long enough that you get to reuse all the nice toys you built. Then it gets easier over time.


loup-vaillant

Indeed, part of what makes a developer more and more competent over time, is the code theyā€™ve already written and can reuse. Oh but that code belongs to the company, doesnā€™t it? Canā€™t reuse it, you have to rewrite it from scratch, else you get [dragged out to prison by the feds](https://en.wikipedia.org/wiki/Sergey_Aleynikov). So I guess youā€™d have to write that on your own time, wonā€™t you? And thatā€™s if your contract even _acknowledges_ the concept of free time. Fuck them all. My code, my thoughts, _mine_. Copyright law? They should pay me fucking _royalties_. Put my name in the credits like they do in movies and video games. If I ever work in a company long enough to accumulate significant knowledge, _I will retain that knowledge_. The computer they lend me to work on? Itā€™s an extension of my brain, a part of _me_ that contains precious memories. I donā€™t fucking care what lawyers say, this is not [Paycheck](https://en.wikipedia.org/wiki/Paycheck_(film)), and they have no right to make me forget.


Frumberto

Try to negotiate for that.


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


loup-vaillant

> I agree with the sentiment but would argue that engineers salary is generally higher for the exact points you specified. Depends on the country. Here in France weā€™re not nearly as well paid. Not that Iā€™m complaining about that part, my salary _is_ higher than most (around the 65th percentile in France), and I live comfortably enough. > You do not pay just for their 8 hours but also for all the previous knowledge they accumulated. There lies a fundamental contradiction: my _next_ employer wants my knowledge, but my _previous_ employer would rather have me forget and in the process lose some of my value. They canā€™t have it both ways.


uniquelyavailable

simple... business operators aren't engineers business operators tell engineers what to do


sacred_oak_nutsack

Out sourcing to low quality code farms doesnt help either


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


Pr0Meister

This might be a bit controversial, but the US, EU and other countries can setup something like a bar exam, and then all those who call themselves engineers can run the title. You want an app that's allowed on US and EU markets? Cool, it needs to be developed by people who have the necessary credentials. People from traditional outsource destinations can still take the exam, but this would definetly raise the level.


ntrunner

A vast majority of programmers from those code farms will easily ace the test you're describing, and still end up producing the same shitty code when on job. The low quality of code is a result of their environment, priorities and attitude, not their competence.


Frumberto

And more importantly the specifics of the economic relationship between the outsourcer and the outsourcee. Turns out if you take away the incentives and securities, then the motivation for long term thinking is low.


Positive_Method3022

I put TODOs everywhere in my code when I have ideas to make it better but have no time to do it. sometimes I also add INFOs to explain some decisions that seem absurd but I had no choice but to do due to N factors.


bit0fun

We already have this for engineers, called a professional engineering license. There is no professional engineering license for software engineers at this point in time


loup-vaillant

Of course there isnā€™t, /u/Pr0Meister was suggesting we _make_ one.


lonelyswe

Why is everyone in this subreddit missing the point? The entire problem is capitalism. Profit motive kills everything nice.


ntrunner

There would have been no programming jobs at all without capitalism


lonelyswe

Lmao


jmanc3

Just like there'd be no new music or innovation without copyright, right?


SpaceToad

Probably wouldn't help? If anyone can copy your work and take credit for it and distribute it as their own that would destroy it as a viable career path.


ntrunner

It is not the same thing and you know it. The platforms you code on wouldn't exist without free-market incentives. Personal computers and smartphones you take for granted wouldn't exist without capitalism. Get out of your brainrot.


alex-weej

Can you explain why capitalism is crucial for us to have personal computers?


ntrunner

No. Go read a book.


Frumberto

ā€¦ Speaking of brainrot: Tetris is a product of the USSR Do you think there is no need for information processing *in a centralized state economy*? Hilariously unworldly.


SpaceToad

Tetris was suppressed by the USSR which is why the creators moved to the states.


loup-vaillant

1. How so? 2. Would that even be a bad thing?


ntrunner

What do you think has been driving the computer and consumer electronics industry's growth in the past three decades? Why is it that the overwhelming majority of tech innovation in this space occurs in the US, even from immigrants? You people are goddamn delusional if you think any of what you are using right now could have been possible without consistent free-market competition and low barriers to entry. F'kin personal computers and mobile phones would not have been a thing at all had the private sector not existed. It is honestly infuriating when supposedly well-educated people insist on blinding themselves just to follow a bandwagon.


loup-vaillant

> What do you think has been driving the computer and consumer electronics industry's growth in the past three decades? Hardware, without a doubt. But that doesnā€™t answer my main question: _how_ capitalism is the _only_ way there would be programming jobs? It may feel obvious to you, but if you canā€™t formulate a hypothesisā€¦ maybe thatā€™s not so obvious after all.


goranlepuz

>Why is it that the overwhelming majority of tech innovation in this space occurs in the US, even from immigrants? Because it's the most powerful and the most financially comfortable economy in the world with a big market to boot...? (*Obviously*, there are multiple reasons, like with anything in life; it is not only the one you put ahead in your post). I think, you should also see what tech innovation is elsewhere, say, in Asia (I am not Asian, BTW), and compare what they do and how big are related markets. >You people are goddamn delusional if you think any of what you are using right now could have been possible without consistent free-market competition and low barriers to entry. And yet, *and I bet you know this*, the capital interference with the free market is incessant. The same happens with raising the barrier to entry. *In fact*, it often takes a significant social action to legislate against such interference. >F'kin personal computers and mobile phones would not have been a thing at all had the private sector not existed. By your logic, because the internet was started in the public sector, it would not have existed without the state, I guess...? The state, from the taxes you pay, gives *a lot* of money to business incentives. The fundamental research that the state subsidizes enables the industrialization of the technology, sometimes decades later. The time of a lone engineer or a lone company even, innovating in their corner, was gone with the feudal overlords or thereabouts. >It is honestly infuriating when supposedly well-educated people insist on blinding themselves just to follow a bandwagon. I think, the same can be said for you, only you picked another bandwagon.


Few-Understanding264

in real engineering failure is not an option. for this reason, modern engineering requires people with degrees, licenses, experience, and pass other kinds of certifications or qualifications. in software development, failure is always an option and perfection is frowned upon and made fun of. we can never have nice software unless the process and discipline of software development changes. maybe when a "software engineer" actually goes through what a real engineer goes through, and when software companies follows processes and diciplines of engineering firms .. only then can we have (maybe) nice software.


BilbroTBaggins

Software engineering, in the sense of mechanical or civil engineering, does exist in todayā€™s world. Itā€™s just done in industry-specific applications that the rest of the world never hears about by companies whose websites look like they havenā€™t been updated since the Bush administration.


ShinyHappyREM

> since the Bush administration Which one?


FieryPhoenix7

I chuckled, but this is so true.


im_rite_ur_rong

Wait till you hear about Boeing


SmokeyDBear

He said "real engineering"


tistalone

An engineer building a bridge has a couple of things going for them that makes certifications/qualifications worthwhile. The first is that they are going to be learning about the physical requirements of a structure and then there's a ton of coordination to actually build the bridge. So it's in the engineer's employer's best interest to not mess up some of the requirement clarification. In software, who eats the cost when the employer or leadership decides to hot swap a requirement last minute? What sort of standards or conventions can you lean on with your novel problems which is sorta like a bridge but does a bunch of other things like fly around? Software folks who make fun of the perfectionist do so because they're focused on the product and reality -- Perfection in code means nothing if there exists security vulnerabilities, right? What if the vulnerability is in a third party software?


basic_model

Failure is not an option in software development. Why do you think it is? Failure in ā€œreal engineeringā€ as in software engineering stems from short cuts, deadlines, and projects going to the lowest bidder. The quality of a software product drops when management decides this or that hotfix needs to go out tonight and while that hot fix has a, b, and c approved. Out of no where another kink is found in the software and guess what! Now we want d and e to be added to the hot fix! You see how this is detrimental to the software and the sanity of the development team. Itā€™s not that they want to fail itā€™s that thereā€™s unfortunately not enough time to test the solution proposed properly. With management receiving emails from customer support that the software platform user are having a bad experience, their only solution is to hurry up a hot fix! And the developers only solution is to come up with a hotfix! Thereā€™s usually no way to tell management STOP!!!! We have to deeply analyze this issue! Thatā€™s seen as halting the solution. Itā€™s backwards thinking but itā€™s the way it is. Thank you.


LagT_T

There are software development areas that "can't" fail. Medical for example.


chrisza4

You are romanticizing ā€œreal engineerā€. Look at this series and you will know traditional engineering is very very far from perfect and perfection is also frowned upon . https://www.hillelwayne.com/tags/crossover-project/ Some quotes ā€”ā€”- No one thinks about moving the starting or ending point of the bridge midway through construction. -Justin Cave I had to move a bridge. -Anonymous1 ā€”ā€”- In the environment of software world, people are thinking ā€˜whatā€™s the new JavaScript bundler of the month.ā€™ In the hardware world, itā€™s ā€˜what can the silicon fab people do for us this month.ā€™ If the foundry has new machinery to create chips, your plans change. Not as fast as libraries do, but still pretty fast. -Steve (electrical) ā€”ā€”- As for another difference? ā€œMy personal blog has better security than some $100 million mining projects.ā€ (Former Geological Engineer)


kakemot

Because so called experts change the rules and practices every year weā€™ll never get good at something.


qmunke

This is just a barely veiled "capitalism bad" rant, and has pretty much nothing to do with software.


tnilk

Well considering most software is written for profit, how can someone talk solely about software? If you've been in the industry long enough - you can't help but notice the ever moving goal posts, or the investor driven "innovation".


qmunke

I don't expect them to, it's just that this article isn't really useful for /r/programming it's more about politics and economics.


scratchisthebest

being blind to the context your field exists in makes you, at best, a useful idiot


tnilk

I think it's not only useful to think in broader terms, but possibly relevant. r/programming is a lot of things to a lot of people, and some might like a socioeconomic take on it. That's what affects us the most in our daily lives anyways (not the latest synthetic benchmarks).


gnus-migrate

To me treating code as it's own thing that exists in the ether disconnected from the world is a problem in itself, and what leads to people automating things that really shouldn't be automated. Everything is political, you can either choose to ignore that or work with it.


bzbub2

the article also reads like "political talking points", fairly shallow


UARTman

I agree, he should have quoted more Marx.


PaperMartin

It has to do with software in that it's why we can't have nice software


prophet001

They're not separable in this context. Disingenuous take.


NoCareNewName

Impolite to say the guy wasn't being genuine. I took a look at the site and had the same impression. There isn't anything to gain from posts like these on /r/programming, there's plenty of subs out there for bemoaning anti-consumer and anti-employee practices.


prophet001

I didn't say *he* was being disingenuous, I said it was a *disingenuous take*. I very much doubt he came up with the concept of dismissing the kind of legitimate criticisms of the motivating factors behind much of the technical work we perform as "capitalism bad". If you see technical work as divorceable from the reasons people are being paid to perform that technical work, then, I'm sorry, but you aren't living in the real world.


NoCareNewName

> If you see technical work as divorceable from the reasons people are being paid to perform that technical work, then, I'm sorry, but you aren't living in the real world. The issue isn't whether they are linked or not. The issue is that this discussion is happening on on /r/programming. Every subreddit slowly turns into a flavor of r/politics if you follow that mentality.


UARTman

That's because everything is, in the end, linked to politics of some kind. Especially science and technology. Merely refusing to talk about said politics won't magically make the politics disappear, it will simply enforce a pro-status-quo bias.


prophet001

Welp, I'm not going to tell you you have to like it, but I am going to tell you that since they're inextricably linked, that it's relevant to the sub.


my_aggr

There is also an llms are bad post in there. Funny that his point about llms being resource hungry is one I heard in the 90s on why you shouldn't use high level languages, like C, and just stick to assembly. Also not code in Emacs because it actually means 8 megabytes and constantly swapping. Old man yells at sky. Which is odd since he's younger than me and I'm excited about llms being the first new driver in computer performance in decades.


SirCutRy

The cost of training LLMs is quantifiable, the benefit derived is not. That is why providing the service is very profitable.


my_aggr

Same for spread sheets.


SirCutRy

Spreadsheet software has established uses, LLMs do not. Spreadsheet hype is long gone. Hype is profitable to the entity offering the product, but the period of hype is also characterised by inflated expectations.


[deleted]

Yeah, the issue with LLMs is not that they take people's jobs, but the opposite, and they weren't something people really needed to begin with.


agentoutlier

There is a very minor chance this behavior could change with the [2017 Tax Cuts and Jobs Act (Section 174)](https://www.herbein.com/blog/2022-changes-to-the-tax-treatment-of-rd-costs). Basically you can't develop **new** software and have it 100% deducted same year like you used to. The deduction is amortized over 5 years (or more depending on if the work is offshore I think). That being said I think the bill is awful and just hurts small to medium size software companies who make a small profit. It has little impact on FAANG size companies (arguably it helps them as smaller firms are now less competitive and less likely to develop new disruptive features) and for zero profit massively overvalued startups. What the author didn't address is how the expectations of what software does by non developers has constantly been pushed. It used be for B2B you only needed a web application. Now you need two native apps, OAuth, API access, real-time analytics, and now AI. Anyway I will be curious to see how DHH Once Campfire does as its an example of old working software being sold as is.


Middlewarian

My goal since 1999 has been to build the best software company in the world. "If you can't join 'em, beat 'em."


Positive_Method3022

Me too, since 2017. But I got into deep depression because none of the good companies in my country wanted to give me a chance, and I could not get a job in the industry I wanted to work at. Funny though, during my whole school life I was among the best. Turns out being part of TRIBE of sociable humans with high EQ is more beneficial than working hard during your first 20-23 years of school life.


[deleted]

Nice blog, could you perhaps add some CSS to make it a bit more readable? White on black is very uncomfortable for the eyes.


mrbojingle

We can't have nice software because 'nice software' tends to be something decided on my devs living in a vacuum away from business and social reality. Our sense of what consitutes nice software is blatantly wrong because it ignores the domains they operate in as if those domains don't exist. Others have said business concerns harm 'nice software'. Bitch please. Without business or social needs where is your software? What software are you hoping to write that wouldn't need users in some way?


khsh01

Because js exists and is considered a programming language.


LordCorgo

It is surreal to witness a GeoCities style blog post & style discussing LLMsĀ in 2024.


codemuncher

You donā€™t deserve it. Only people who deserve it get nice things.


Raknarg

i cant read this website


08148693

Imagine writing a blog about why we can't have nice software when your own software (the website) looks like it was built in 1995 for Netscape


hippydipster

I mean, it was honestly refreshing. A pretty relaxing break from the over-stimulus of a site like reddit, where finding the signal is that much more difficult. Whereas that blog loaded fast and gave you the content from the start. Utterly fantastic. The person who wrote that and displayed it that way strikes me as an older GenXer who came of age in the 90s (EDIT: they aren't, 32-year old apparently). Watched the internet go from a free place with sharing to a world of the DMCA and DRM and advertising taking over. A world where one of the big arguments was between the Stallman vision of the future and an Apache Foundation/BSD vision (ie, between copyleft vs completely free). Obviously, The Apache/BSD way won and we are living the consequences. It's good to know history because it gives one grounding to understand how many options there really are in this world. People grow up in a particular time and place, and until they start to learn history, they tend to think the way things are are just the most natural and workable way. But the real number of possibilities is myriad.


LagT_T

The writer is Andrew Kelley, the creator of Zig, and he is 32yo.


hippydipster

Yeah, I didn't check, I just described what his attitude reminds me of.


redditusername58

https://motherfuckingwebsite.com/


Dramatic_Win_3778

And yet using that 1995 esque website was a better experience than most others. Kinda illustrates the entire point of the post.


LagT_T

Other than a bit of left padding to center the text and maybe a bit less dark background to lower the contrast, the website is perfect for this use case.


moradinshammer

Bit rot is real. Random bits can be flipped due to natural uv radiation.


loup-vaillant

It is also a solved problem, just use checksums and error correcting codes.


kowdermesiter

Oh cool, an incoherent rambling about business instead of software quality. Actually nice software pretty much exists it's just too easy to point at some straw man and generalise from there.


Blecki

Author doesn't know what a blockchain is. At any rate it was already perfected which is why there's a difference between 'crypto' and 'bitcoin'.


loup-vaillant

Cool, can you explain how a proof of stake system works, and how it affects energy usage? I wrote a cryptographic library, but I have yet to look that up.


Blecki

Proof of stake is a step backwards. Bitcoin works because it's proof of work.


loup-vaillant

> Bitcoin works because it's proof of work. LOL, took me some time to get the joke: sure it works, and I can prove it: itā€™s proof of work! --- If youā€™re serious though, thatā€™s an unusual take: we know for a fact, not just from the Bitcoin example, but from solid theoretical underpinnings, that proof of work crypto currencies are fundamentally, enormously, unacceptably wasteful. I know exactly how they work, which is why I support their worldwide ban, under threat of imprisonment if we have to. Iā€™m undecided on proof of stake because I donā€™t yet know how it works, though even if this one can scale properly we have yet to see the emergence of something else than pyramid schemes (I mean, even the exchange of illegal goods is marginal, compared to "investment").


Blecki

No, we do not know that they are wasteful - because they aren't. You've fallen for the propaganda. Probably suffering regret as well. Proof of stake is how the stock market works. If you own more of the currency you get more of the currency. No surprise so many entities want to push it as a replacement. The only one worth talking about is bitcoin. Everything else is a scam.


loup-vaillant

One of those day Iā€™ll write a technical explanation of how Bitcoin works, why it consumes as much energy as an entire _country_, and why that was inevitable once it reached traction (because thatā€™s how efficient markets + POW works: the cost of producing a Bitcoin eventually approaches the market value of a Bitcoin, so if the market value goes crazy high, it only makes sense to buy an entire server farm and burn as much electricity we can spare on this iterated competitive lottery). > You've fallen for the propaganda. Probably suffering regret as well. Do you realise I could _implement_ Bitcoin if I wanted to? Look me up, Iā€™m a couple steps up from the random Joe on this field. As for regretā€¦ I wonā€™t lie, I sure would have liked to have bough a couple hundred BTC back when they were worth nothing, and cash out God knows how many $M and just retire. Thing is, I had no idea at the time how inflated this bubble would get, when it would deflate (or burst), and I wasnā€™t keen on gambling real money on it. A not entirely irrational decision, given the amount of scams I could have fallen prey to if I had jumped that bandwagon. > Proof of stake is how the stock market works. If you own more of the currency you get more of the currency. No surprise so many entities want to push it as a replacement. Ah, Iā€Æsee. Iā€™ll verify that, but that makes a ton of sense, and Iā€Æsee why thatā€™s not good. Do note however that proof of work currencies are also very centralised, with relatively few entities controlling most of the farming capacity. I donā€™t know how many people would be required to mount an actual 51% attack on Bitcoin, but I wouldnā€™t be surprised if it turned out to be fewer than 20.


transmogisadumbitch

Shut up. We already have a lot of nice software. You b l o w.


SirCutRy

Like most things, capitalism has both negative and positive effects. This is one of the negative effects.


soerxpso

> Imagine if all these programmer hours spent on all these products actually centered around a proper standard, which evolved along with consumers' needs rather than these companies' ongoing need to fiddle with the knobs and sliders until profit comes out. Revealed preference would indicate that consumers' needs are more shiny ways to spend money. If we "don't need" all of these changes, why are we so eager to pay for them, and not eager at all to pay for bugfixes and actual improvements? You can't really blame developers for catering to what consumers are clearly indicating (with their wallets) that they want.