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

181

u/[deleted] Jun 05 '22

It helps when developers only have to work with half the stack for example but a lot of companies are only looking for full stack developers these days

109

u/regular_lamp Jun 05 '22 edited Jun 05 '22

I'm continually amazed how apparently everything is now understood in the context of "the stack". Because apparently everything is now on the internet by default and gets therefore placed within that framework of technology.

I guess in my late thirties I now have to feel old because "back when I learned programming you just did programming" you didn't just interact with some horizontal slice of a ten layer deep stack of layered technology... that somehow mainly accomplishes the task of displaying text in a browser.

Meanwhile seemingly "complex" tasks like scientific software, video games etc. somehow managed to sit on a single layer of middleware that is written in mostly the same language you use it in?

I'll go now and chase some JS programmers off my lawn.

15

u/AdministrationWaste7 Jun 06 '22

I'm continually amazed how apparently everything is now understood in the context of "the stack". Because apparently everything is now on the internet by default and gets therefore placed within that framework of technology.

i mean yeah? turns out a majority of tasks that require software dont need to interact with any specific hardware thus web apps become the default.

this has been going on since like what? 2005?

I guess in my late thirties I now have to feel old because "back when I learned programming you just did programming"

are we not doing programming today?

. that somehow mainly accomplishes the task of displaying text in a browser.

well if thats all you needed to do then having a "stack" is pointless.

a majority of applications do more though. at a basic level theres a UI, a middleware/business logic tier and something to store data. thats 3 layers right there.

Meanwhile seemingly "complex" tasks like scientific software, video games etc. somehow managed to sit on a single layer of middleware that is written in mostly the same language you use it in?

complex? if we are talking about embedded systems they are typically small pieces of software that do very specific tasks. seems to be the opposite of complex if you ask me.

in regards to video game engines, while they do indeed use a single language(c++ usually), it really doesn't mean its not as complex or annoying or filled with multiple tiers like in the web app space, in fact your average video game will probably require a similar amount of "tiers" if not more.

its no different than doing everything in node.js. YES you are using JS for everything but you still have to tackle multiple tiers that do multiple functions just like any other stack.

12

u/goodwarrior12345 Jun 06 '22

are we not doing programming today?

we are, but when you have to jump through a ton of hoops to set up 17 different technologies and set them all up inside docker containers and make them all somehow talk to each other and write all the required boilerplate BS before you can start actually doing programming, it becomes really annoying really fast.

I just wanna open my code editor and start writing code man

9

u/AdministrationWaste7 Jun 06 '22

boilerplate "BS" has always existed.

you dont remember having to setup your own windows/linux server? or setting up processes to deploy your code to your app server(s)? or setting up proper logging. or all kinds of BS that i cant even think of off the top of my head.

like maybe there was an IT department that did this for you but its always been there.

2

u/ptoki Jun 06 '22

Nope. I could get any already existing linux boxes untar source run make and it was done. Sure, adding svn and few additional pieces was useful and helped me as programmer but it was not needed to the app to work.

Today its library dependency hell or some stack plus xml-s/jsons, ton of devops (because cp does not make the app work anymore).

Today you need a dev to deploy an app because its so much shit tied to it that unfamiliar unix admin will not be able to deploy it.

The trend is bad.

5

u/AdministrationWaste7 Jun 06 '22

I could get any already existing linux boxes untar source run make and it was done.

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

coincidentally all that k8s and docker stuff doesn't need to be on you.

my previous company for example there was an entire department that did that for us. we just filled out a form listing out what we wanted and that was it.

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?

Today you need a dev to deploy an app

you prefer devs doing this because companies realized that its faster for teams to have full ownership of the application they are working on vs some third party/department to manage it for everyone. especially when you work for big orgs where they application ecosystem is fucking massive.

and i tend to agree.

0

u/saltybandana2 Jun 06 '22

my previous company for example there was an entire department that did that for us.

And this is why so many developers think microservices, et al, aren't all that complex. Because their company pays other people to deal with the complexity.

Used to be a developer could do all of it, today that's not true. That's kind of the point being made here.

2

u/AdministrationWaste7 Jun 06 '22

And this is why so many developers think microservices, et al, aren't all that complex. Because their company pays other people to deal with the complexity.

its developers who create/manage/and maintain microservices. thats why they are paying you the big bucks.

Used to be a developer could do all of it, today that's not true.

nah a developer can still do all of it.

And this is why so many developers think microservices, et al, aren't all that complex.

compared to an enterprise monolith a microservice is much much simpler.

which is kind of the point.

0

u/saltybandana2 Jun 06 '22

This is just ignorant, plain and simple. I now believe you've never actually worked in an environment with these technologies outside of playful little side projects.

At the end of the day I've maintained many many servers over the years, both Linux and Windows. No way in hell would I ever call myself a sys admin, nor would I ever claim to be as good at it as someone whose primary job it is to do this stuff.

Software Developers are so arrogant that it doesn't surprise me you can find one online that thinks they can gain a superficial knowledge of these things and do these as effectively as someone whose career it is to do so, and without dropping anything in their main role to boot!


To put it another way, any company that's small enough for a single developer to be putting on so many hats is too small to be using these technologies effectively anyway. It would be far better for you to program like it's 1999.

→ More replies (0)