21

Consumers ruined software development and we the developers have little to no chance of changing it.

Recently I read a great blog post by someone called Nikita, the blog post talks mostly about the lack of efficiency and waste of resources modern software has and even tho I agree with the sentiment I don't agree with some things.

First of all the way the author compares software engineering to mechanical, civil and aeroespacial engineering is flawed, why? Because they all directly impact the average consumer more than laggy chrome.

Do you know why car engines have reached such high efficiency numbers? Gas prices keep increasing, why is building a skyscraper better, cheaper and safer than before? Consumers want cheaper and safer buildings, why are airplanes so carefully engineered? Consumers want safer and cheaper flights.

Wanna know what the average software consumer wants? Shiny "beautiful" software that is either dirt ship or free and does what it needs to. The difference between our end product is that average consumers DON'T see the end product, they just experience the light, intuitive experience we are demanded to provide! It's not for nothing that the stereotype of "wizard" still exists, for the average folk magic and electricity makes their devices function and we are to blame, we did our jobs TOO well!

Don't get me wrong, I am about to become a software engineer and efficient, elegant, quality code is the second best eye candy next to a 21yo LA model. BUT dirt cheap software doesn't mean quality software, software developed in a hurry is not quality software and that's what douchebag bosses and consumers demand! They want it cheap, they want it shiny and they wanted it yesterday!

Just look at where the actual effort is going, devs focus on delivering half baked solutions on time just to "harden" the software later and I don't blame them, complete, quality, efficient solutions take time and effort and that costs money, money companies and users don't want to invest most of the time. Who gets to worry about efficiency and ms speed gains? Big ass companies where every second counts because it directly affects their bottom line.

People don't give a shit and it sucks but they forfeit the right to complain the moment they start screaming about the buttons not glaring when hovered upon rather than the 60sec bootup, actual efforts to make quality software are made on people's own time or time critical projects.

You put up a nice example with the python tweet snippet, you have a python script that runs everyday and takes 1.6 seconds, what if I told you I'll pay you 50 cents for you to translate it to Rust and it takes you 6 hours or better what if you do it for free?

The answer to that sort of questions is given every day when "enganeers" across the lake claim to make you an Uber app for 100 bucks in 5 days, people just don't care, we do and that's why developers often end up with the fancy stuff and creating startups from the ground up, they put in the effort and they are compensated for it.

I agree things will get better, things are getting better and we are working to make programs and systems more efficient (specially in the Open Source community or high end Tech companies) but unless consumers and university teachers change their mindset not much can be done about the regular folk.

For now my mother doesn't care if her Android phone takes too much time to turn on as long as it runs Candy Crush just fine. On my part I'll keep programming the best I can, optimizing the best I can for my own projects and others because that's just how I roll, but if I'm hungry I won't hesitate to give you the performance you pay for.

Source:
http://tonsky.me/blog/...

Comments
  • 8
    @Condor this might interest you, also the image just reminded me of da enganeers
  • 7
    Quality rant, and I share your mindset. For my own, I overbuild stuff all the time.. to make it last. But consumers don't think like that, they just want whatever they can see to "just work". That's why stores don't sell good electronics anymore, and I guess that's indeed why there's certified enganeers all around.. and if clients just want to buy me the figurative coffee for all the hard work that goes into developing applications.. would I really feel guilty for delivering crap to those people? I don't think I would.. maybe one day when I make money off of my work, I'd become one of those certified enganeers as well? :/
  • 5
    Yeah and that guy complained about bloated shit making his point with a website that burns through 3.4 MB, fails to leverage browser caching, makes 44 requests, among them pulling in useless shit from Google, Twitter and Twimg, oh and he scales down images in the fucking browser. Even the fucking rants about bloat are fucking bloated these days!

    Well I'm in embedded where efficiency is still premium because it means that you can choose a smaller controller, say a Cortex-M0 instead of an M4, and with high sales volume, that reduces the BOM.
  • 5
    @Fast-Nop all hail embedded, where efficiency still counts! I'm applying to university for embedded systems myself, can't wait.
  • 4
    They want cheap or free shiny software and then you have to resort to either tricking them with in-app purchases, premium services, or selling their data and there will always be someone to criticize the way you earn money.
    What? You earn money? How disgusting!
  • 3
    @RememberMe Well yes and no, embedded is a far field. The embedded systems I work with run a full Linux kernel on a dual core (or better) Cortex-A7 with 1.2 GHz and 512 MiB of RAM. And efficiency is not as high of an priority as you might think when it comes to developing and running software on this thing.

    So it really depends in what sub-field of embedded you want to go.

    Probably the most efficiency you'll see when developing stuff for 8-bit microcontrollers. Because even on things like a Cortex-M0 you usually have some abstraction layers with some runtime cost.
  • 3
    @bootleg-dev oh, naturally. Still better than monster runtimes for chat services though.
  • 3
    Well I'm a lucky bastard that's ended up in a big Corpo, so I'm going to have to be efficient.

    Fuck inefficiency, I. NEED. KNOWLEDGE.

    I want to be the guru, and have a snek .
  • 0
    Nikita Buyanov from Escape from Tarkov?
  • 1
    @beggarboy I... don't know, it just said Nikita in the blog post
  • 1
    Average people don't care about how a plane works "under the hood." And software failures can have consequences just as deadly as a bridge failure. I think software engineering is a lot more like any other engineering discipline than you realize.
  • 2
    @spongessuck I think for critical systems (that can lead to loss of life) you're right, but most software today is not critical.
  • 2
    @Hallelouia I agree and people complain about micro transactions, there are some dick companies I won't deny that, but you are not being compelled by some higher power to buy crates! What are you children who can't control themselves and need loot crates banned so you don't lose your money?!
    @Ellis beautiful SNEK lurking in the shadows like all good devs
    @spongessuck critical systems do have the need to go above and beyond but let's be honest there's almost no time or failure critical software compared to regular one out there.
Add Comment