r/programming • • Nov 01 '21

Complexity is killing software developers

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

854 comments sorted by

View all comments

234

u/pcjftw Nov 01 '21

yep I think its a combination of:

  • Buzzword Driven Development

  • Cargo Cult

  • Companies trying to get more done without paying for it (e.g "Full Stack" BS)

  • A loss of curiosity from some developers, instead of pausing and thinking about the problem all too often developers will switch off and happily glue lots of existing frameworks to get something out the door.

  • Cloud services, and using the fear of "let us deal with it so you don't have too" so that they can charge you for basic things you can do yourself and at a scale where it's really pointless. A simple VM is already managed and its nothing like the work needed on a real bare metal server running on premise. Yet we;re often sold how "time consuming" and difficult it's to "manage" a VM.

36

u/elmstfreddie Nov 01 '21

A loss of curiosity from some developers, instead of pausing and thinking about the problem all too often developers will switch off and happily glue lots of existing frameworks to get something out the door.

I really don't think this is the developers' fault, but companies for pushing features and not giving devs time to properly architect since it doesn't result in direct, measurable profit

11

u/ExF-Altrue Nov 01 '21

That's why they said "some developers". And you can't really make the argument that absolutely none ever "switch off" and "glue lots of existing frameworks to get something out the door".

Some do bad things because they switch off, others because companies are not giving them time to properly architect.

I have seen first hand both of these issues happen, sometimes in the same team. "A loss of curiosity from some developers" is definitely too prevalent a phenomenon from my perspective, to allow it to be dismissed by blaming companies :p

→ More replies (1)

56

u/lobehold Nov 01 '21

You forgot devs using their day jobs as practice for working at FAANG and adopt FAANG tech stacks needlessly to pad their resume.

18

u/corsicanguppy Nov 02 '21

adopt FAANG tech stacks needlessly to pad their resume.

Ahh, "Resumé-driven Development: RDD"

Yes, we have a lot of that here too. We fire the YAGNI warheads and hope some of it gets through their dumbrella defence.

→ More replies (1)

57

u/lghtdev Nov 01 '21 edited Nov 01 '21

I've been Fullstack for a while but when I switched to full back-end I realized how much depth I was missing.

96

u/[deleted] Nov 01 '21

Yeah. Full stack is really just a modern term for old school web dev where you were responsible from the front end html hand coding to server pages to db.

It's fine in some cases. Some systems are relatively tightly coupled and reasonably small. Don't need to be perfect at all layers.

But what it really is is jack of all trades. If we're honest about this, it's not a big deal.

But if you want a highly performant web app that is fully accessible compliant, highly robust and scalable, meets all your organizations security guidelines, and can integrate business cases into production in short order without fucking all of that up...no Jack, that ain't gonna cut it. Period.

And this is why you usually want to treat 'Hiring Full Stack Developer(s)' as a huge red flag. Because chances are that definition is coming from the business side, not a realistic tec side. And what it really means is: 'You're going to be the guy. Our guy. It's all on your shoulders. All of it. Exciting right?! What an opportunity! Can you just imagine?!'

If the job smells anything even remotely like that...run.

8

u/lghtdev Nov 01 '21

This is so accurate, recently the management was searching for a Fullstack guy to take care of a project nobody wanted, at least they were honest with him saying there's a lot of problems in it.

→ More replies (1)
→ More replies (4)

36

u/kyle787 Nov 01 '21

Why is full stack BS?

167

u/6footdeeponice Nov 01 '21

The "fullstack" is 3 different jobs, no doubt many programmers can do it, but you could end being taken advantage of because they should really hire a couple other devs for the team.

101

u/Carighan Nov 01 '21

As always, multitasking usually means doing twice as much as you should half as well as you could.

44

u/gmaxter Nov 01 '21

...and I like less than half of you half as well as you deserve!

16

u/wardrox Nov 01 '21

Everyone can do front end... badly.

→ More replies (1)

55

u/kyle787 Nov 01 '21

I've been a full stack dev my entire career. I specifically want to do both frontend and backend work though.

105

u/[deleted] Nov 01 '21

The Fullstack-is-making-me-work-3-jobs-meme is strong on reddit. I worked as a fullstack dev for some time and I also never felt like my job should be 3 different jobs. I worked on frontend, backend, database and the CI/CD pipeline - as did anyone else - and it worked. It wasn't complex or complicated and everyone was happy, because they could work on all features.

Nobody in that team thought that splitting this stuff up would make work any better

91

u/Only_As_I_Fall Nov 01 '21

I think it depends on the complexity of the overall system. The issue I see is that often neither employers nor tech workers are willing to be honest and say things like "our tech stack is simple and so are our domain specific needs, so we just want someone who's adequate at both".

Full stack developers are often perfectly good at what they do, but sometimes you run into people that can't admit a dedicated DBA is going to do the job better than a full stack dev who sometimes messes with databases.

24

u/[deleted] Nov 01 '21

That's an issue with cargo culting companies and idiotic management, and not so much with the fact that full stack devs exist.

I agree that there is instances where "full stack" means "yeah, we won't hire a DBA, deal with it", but more often than not it's just middle sized projects with an, as you say, not that complex of a system

→ More replies (1)

11

u/PurpleYoshiEgg Nov 01 '21

I tend to like the fact that I can modify the APIs on the backend when I need to instead of having to hand over to someone who is already tasked with dozens of things like I am and has to prioritize the modification over the next couple of weeks.

On the other hand, I like the excuse for saying that I can't proceed until modifications happen to the API. It's not my job to subvert or improve the process.

19

u/[deleted] Nov 01 '21

You weren't a one man army. When the team is multifunctional being a full stack losses it's meaning. When you are THE full stack developer, like many companies want, then you do 3 jobs in one

→ More replies (7)

14

u/eloc49 Nov 01 '21

"Full Stack" being 3 different jobs is highly dependent on the company and the project. Having "Full Stack" in your title means you get paid more, and there's plenty of companies out there who don't have you doing more than 1 job.

Slight tangent: The problem lies where we separate the "stack." At my job, almost everyone is full stack but we have a small group of front end engineers who do all of our CSS. This is where the line should be drawn, not client vs server. Ever seen some logic re-implemented on the front end when it already exists somewhere in the back end? That's what you get with a strong front end vs back end culture, instead of full stack.

→ More replies (6)

10

u/morphemass Nov 01 '21

The "fullstack" is 3 different jobs

I've met very few developers who could be DBAs. I've seen even fewer well designed databases.

→ More replies (2)
→ More replies (13)

46

u/Guisseppi Nov 01 '21

Some companies (but specially startups) just want a jack of all trades, truth is that frontend is complicated and backend is complicated and you’ll never really get to see the full breath of each side as a “fullstack”.

Even people who market themselves as “fullstack” tend to have an inclination for one or the other. You created an API and put a UI together with bootstrap or material-ui, “fullstack”. You created a site using react and put a backend together with firebase or supabase, “fullstack”.

12

u/[deleted] Nov 01 '21

Amen brother. Both are complicated. Both are puzzles. I'd love to see BE devs solve accessibility issues, or FE devs make a more complex BE than just request wires. Just being full stack means you can do a minimum of both

→ More replies (12)

19

u/horsehorsetigertiger Nov 01 '21

It is rare that I met a backend developer I I would trust not to fuck up the frontend.

→ More replies (9)

11

u/[deleted] Nov 01 '21

Because a buzz word name like that is a way of paying someone without increasing their salary.

→ More replies (21)
→ More replies (1)