DEV Community

Cover image for Full Stack Fatigue:
Peter Harrison
Peter Harrison

Posted on

Full Stack Fatigue:

When I became a paid programmer I knew one language: DBase. Well, two if you count BASIC, but the less said about that the better. You could write a fully functional application in DBase, and distribute it as a exe file. You had to know something about data structures as well. The barrier to entry wasn't that steep.

Today what do you need to write an web application? You will need HTML, CSS, and Javascript. You will need to adopt a front end framework such as React. You will need to learn a back end language, which these days can also be Javascript, aka Node. Or you can use Java or Python. You will probably use a SQL database, so you will need to know SQL. You will need to expose services via REST, so will need a REST API framework. You will need to store your code in version control, which these days is usually Git. To deploy your application you will usually need to know about Cloud services, Docker, Kubernetes.

Your application will need to implement security and authentication, for which there is OAuth2. You will also need a CI/CD system, which was previously Jenkins, but now varies depending on the platform. You will need to learn Cloud Formation on AWS, Bicep on Azure to do infrastructure as code.

This isn't an advanced stack. This is the kind of skill set expected of a "full stack developer". As a software developer I have always known that you can't stay still. The old COBOL programmers had a good wicket for a while, but you get stranded on a declining island. So constant learning has always been a absolute necessity to stay relevant.

I had ended up specializing in integration and business automation, learning jBPM, Bonita, Activiti, but even there times are moving with new approaches which leave BPM type solutions in the dust.

Even though I have raced to adopt new skill sets it has become increasingly difficult to stay ahead of the skills demanded. And if I am having trouble the situation for junior developers must look like Mt Everest. Much less the fact that AI is now encroaching, making it even tougher for entry level positions.

There is a danger in thinking the present is just like the past. I would have thought the future would be easier for developers, better tooling, making life easier, but the evidence seems not to point there. AI in some respects makes things easier, but also more opaque, giving people power without tempering them with experience in software.

Should we expect people to be jack of all trades, able to handle everything from the front end to designing cloud infrastructure? When I began everything was on one PC, applications compiled to a single file. Today we have highly available distributed clusters, complex deployment pipelines and quality gates. It is good for developers to at least understand the whole stack, have some exposure to it, but having deep understanding of the whole stack has become unrealistic.

Are we cutting off the pipeline of young developers? Are we placing too many expectations on them? Is there a way to ease these expectations in the hiring process? Or do we think AI will be the silver bullet, removing the need for us to program at all?

Top comments (20)

Collapse
 
xraytangooscar profile image
X-ray Tango

Hi! I won’t pretend I have a clear answer to those very legitimate questions, but I do think the comparison between building a local executable in the past and today’s full-stack web development isn’t entirely fair. They don't output the same amount of value. At the minimum, the complexity of the modern stack comes with a much greater reach and impact: when you build for the web, you’re creating something instantly accessible to the world. In fact, distributing an executable file used to involve hardware, mail, or retail shops... that should also be factored into the comparison. Anyway, it makes sense that the effort and breadth of skills have grown along with the value being created.

I also don’t think it should be expected that any one developer fully masters the entire stack. Most cases, which, let's be honest, have low to medium traffic volumes, can be handled with roughly 80% of the knowledge, probably less. The real complexity lies in the last 20%, which only matters for very large structures that usually have specialized teams anyway.

As for AI, we are clearly in a transition period, and the near future is extremely hard to predict. Junior developers probably do have a tougher start now, especially with hiring and expectations, but they also have access to tools that can make them productive much faster than before. There’s a trade-off, it's unclear to me if it's advantageous or not - yet.
Coding agents and AI assistants will reshape the developer role (as it will for many other roles), but I don’t believe they’ll replace the need for human technical minds. We’re just in that uncomfortable middle phase before things settle into a new equilibrium.

Anyway, just my two cents. Great article!

Collapse
 
cheetah100 profile image
Peter Harrison

The old MS-DOS dBase applications (Clipper actually) had simple single process text only interfaces. No mice, just keyboard. They ran on one PC, or if you were lucky you had a local network and would share the database files. No database servers, not TCP/IP. My point is only that it was a very different world. But the CRUD complexity was much the same as you would see today in Node/React.

I don't disagree with you in relation to developers not mastering all skills, although even a front end dev faces a plethora of technological options today. The main issue is that companies (or HR) today do specify broad ranges of technologies in job adverts, and oddly specific requirements. They also specify years of experience when sometimes these technologies are quite recent. This has been true forever to some extent, but today the raw number of skills required has increased and become more specific.

As for AI - we are at the foot of the abyss.

Collapse
 
xraytangooscar profile image
X-ray Tango

I did not mean to diminish the complexity of the work devs used to do - sorry if it sounded that way.

Collapse
 
jnp95 profile image
Jean-Noël

The comment that is bigger than the article xD

Collapse
 
alilosoft profile image
Ali FELLAHI

Not just bigger but more reasonable.

Collapse
 
capestart profile image
CapeStart

This is exactly right. It's difficult to keep up with the stack's constant growth, especially for newcomers. The bar seems to be rising steadily, and AI is only making things more complicated. I completely agree that it's unreasonable to expect one person to be proficient in front-end and cloud infrastructure. The way we hire and train developers needs to be reconsidered.

Collapse
 
brense profile image
Rense Bakker

Businesses need to embrace infra as a service services like vercel or netlify, since 99% of applications dont need 500 pods on kubernetes :P For some reason companies have wet dreams about wasting thousands of man hours and millions of dollars on continually reinventing the wheel of hosting a (web) application. So yes, in my opinion we are asking too much. Full stack developers should not be bothered with the implementation details of infrastructure because the problem of infra has been solved a long time ago and is applicable to most software projects.

Collapse
 
steve_tomlin_ced0d3c7183c profile image
Steve Tomlin

Great article. I absolutely agree. It's a hard time for everyone in this industry now due to job cuts and more competition.

Collapse
 
dclnbrght profile image
Declan Bright • Edited

Fully agree that software engineering has become increasingly complex, and probably unnecessarily complex. Things were very different when I started too!

However, with recent advances in AI agents and coding assistants I'm more optimistic about the role of a fullstack engineer. AI can do a lot of the project setup and grunt work, we get to focus more on defining what should be built and verifying that it's built as intended.

In a way, it's becoming more of an architect + dev manager role, mixed in with us coding the interesting parts.

I published this post earlier today, it might be of interest: Fullstack Software Engineers Are Well Positioned In the AI Era

Collapse
 
j_j_b77c6f60020810c325308 profile image
J J

You make some interesting, thoughtful points.
The silver lining to the cloud (no pun intended) is that curious, intelligent and diligent developers will nonetheless find themselves addicted to learning more about more - and the GPTs of this world are very helpful assistants in this respect - and can thus be assured that they will always be in demand; lazy unmotivated developers less so.

Collapse
 
jacobbogers profile image
Jacob Bogers

The main issue is that companies (or HR) today do specify broad ranges of technologies in job adverts, and oddly specific requirements. They also specify years of experience when sometimes these technologies are quite recent.

This is has been going on for ages, "I want react (or fill in talking point) dev with 10 years experience" (React would be not even 2 years old).

It is really tiresome, but I must say many job leads do segment into "critical skills needed" and "nice to have" sections, so there is some improvement here

Collapse
 
cheetah100 profile image
Peter Harrison

It is true that unrealistic experience has been common forever. My main point is skills inflation, that we are expected to know more technologies than ever before. When there are competing frameworks is it really a good idea to be expert in all of them? Also, I know HR seems to think developers should have narrow experience in just the right technologies. I've been a Java dev for 25 years, but am now using Python as tool of choice. That doesn't mean I've forgotten Java, but my CV shows my last Java role almost three years ago, and that can be a problem for Java roles.

Collapse
 
n3nad profile image
Nenad Mitrovic

Great breakdown of the current tech stack complexity.

With today's LLM architecture, we can't treat AI as a magic solution that eliminates programming entirely. I like to think of it like having all of Stack Overflow in your pocket—every documented developer problem and solution—but without the ability to evolve beyond that knowledge. For truly novel solutions, we still rely on the model's 'hallucinations' (for better or worse).

This means we’ll need to combine deep domain expertise with AI augmentation for the foreseeable future. That brings us back to the core questions:

How do we address developer fatigue with these limitations?
How do we onboard the next generation of developers effectively?

Thanks for sparking this discussion! 🙌

Collapse
 
marcyves profile image
Marc Augier

Software engineering becoming complex?
The complexity comes from the number of options and technologies, but each one is not that complex and we have zillion of online resources to learn them.
I started in this industry coding mainframe applications in Assembler or PL/S, only resources were the company books, trust me, that was quite a challenge.

Collapse
 
jofisaes profile image
João Esperancinha • Edited

In my own experience, what I see is that AI pretty much has become a part of everyone's lives. In the particular case of software development, it has undoubtedly permeated all corners of full stack development. A full stack developer is possible and has been possible for a long time. Having said that, when we look at all of our daily concerns and things we like to do and then try to fit in the energy to become an efficient full stack developer, then for most of us, being a full stack developer, may just become an unrealistic expectation. When it comes to Junior developers, I think that it is unrealistic to think that AI will bring them faster up to speed. It may allow them to produce faster, but the quality of an AI output is still questionable these days. In my own experience with AI, all I can say is that it does offers pointers to corner-cases, bug fixing, architecture examples, etc. However, in terms of code, commands and scripting, I think the quality isn't great yet.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.