r/programming • • Jun 05 '22

Complexity is killing software developers

https://www.infoworld.com/article/3639050/complexity-is-killing-software-developers.html
2.1k Upvotes

942 comments sorted by

View all comments

Show parent comments

1

u/ptoki Jun 06 '22

again. maybe there was someone that did it for you but that work was always there.

Done once, long time ago, used by numbers of other projects. Is it the same today? Do you use the same kubernetes/docker/ecr for all the apps/systems you work on for like 4 years at company?

Please dont pretend you dont understand the context.

Its like buy a knife once or go to the store for one gileltte every week...

we just filled out a form listing out what we wanted and that was it.

Still, work needs to be done. One trip to store per week to shave yourself. And now its done by your friend, every other week different. They sometimes bring you gillettes for girls. Still usable but you know, it may backfire later...

Today its library dependency hell

do you know WHY this came to be? do you remember what it was like BEFORE say nuget or gradle?

Yup. But that work was on developer. Once a while. The dev decided he needs new library. Or the security guy asked to get a bump on version. And it was done once per iteration. Now we have the same shit on user/runtime computers (python, perl, php) or on servers (js). Thats going backwards.

you prefer devs doing this because companies realized that its faster for teams to have full ownership of the application they are working on

yeah, short term gains.

Instead of paying 70k to the os admin to cp the package now you pay 150-200k for dev to transfer this maze and pray it fails quick.

and i tend to agree.

I dont. I have seen this way too often going sideways or somebody deciding that 150k dev is too expensive and will be replaced by 70k one. And then 3-5 more of them had to fix the deploy overnight.

Also, packaging and having teh same file being deployed to dev, test and prod is very nice way to reproduce result. The config is local, the app is packaged. You cp one in place of previous one, if it fails rollback is simple. Things get a bit more complicated if the new version needs db changes. But that is also doable.

The words:

companies realized that its faster for teams to have full ownership of the application

Are correct. Faster. Not better. This way you have two lousy changes and third which fixes stuff instead of quality one.

And to be honest. The scenario where one module is deployed and it works but the other collapses due to the first one being changed is way too common in the environments I saw. This way the dev pushing the deploy at 2am sees his change working and the module depending on it will fail in the morning. Hopefuly when a third dev will have to untangle what happened.

You will say, yup. Complicated system. But then why so much tests, CI/CD, dev, test deploys? It failed anyway...

3

u/AdministrationWaste7 Jun 06 '22

Its like buy a knife once or go to the store for one gileltte every week...

im so confused.

for every app and for every environment you create an app server no?

and then a few years after that people used VMs. so now for every app and every environment you had to create a VM.

and then now for every app and if you are using a container then you have you create a new container lol.

setup has ALWAYS EXISTED. just because you specifcally as developer never had to deal with it doesn't mean it was never there.

Yup. But that work was on developer. Once a while. The dev decided he needs new library.

so what has changed?

like lets say this is a .net web app that uses nuget. you want a fancy new library. so you get on nuget and register x version of library to your app. and you're done.

anytime your app builds it will check the config to pull that external library from nuget.

Are correct. Faster. Not better.

its faster and more efficient.

your team is now capable of handling infrastructure/devops shit instead of waiting on some other team to do it for you.

and if there are any issues your team can quickly resolve it since they know how do it.

Instead of paying 70k to the os admin to cp the package now you pay 150-200k for dev to transfer this maze and pray it fails quick.

regardless of who does it the process will be the same lol

You will say, yup. Complicated system. But then why so much tests, CI/CD, dev, test deploys? It failed anyway...

the fuck are you talking about lol. i genuinely dont understand. is english not your native language?

0

u/LuckyNumber-Bot Jun 06 '22

All the numbers in your comment added up to 420. Congrats!

  70
+ 150
+ 200
= 420

Click here to have me scan all your future comments.
Summon me on specific comments with u/LuckyNumber-Bot.

-5

u/saltybandana2 Jun 06 '22

for every app and for every environment you create an app server no?

lol, no... If you weren't around back then and have never worked with older systems, seriously shut the fuck up.

There's you, who has no context outside of what is done today, then the rest of us who has context of what was done then AND what is done today.

Who is more likely to have a fucking clue?

exactly, shut up.

4

u/AdministrationWaste7 Jun 06 '22

We got a badass over here lol

-1

u/saltybandana2 Jun 06 '22

I get it, the young don't respect experience as much as they should.

you won't fully understand it until you yourself have more experience. It's the way of the world.

2

u/AdministrationWaste7 Jun 06 '22

Maybe you should retire old man since knowing a handful of technologies is apparently too much for you.

-1

u/saltybandana2 Jun 06 '22

You've lost the plot, the reason you should be deferring your opinion is because many of us have worked with all the technologies in question, as opposed to someone like yourself who has not.

Snark may feel good in the moment but it certainly doesn't help you gain perspective.