, 22 tweets, 4 min read
My Authors
Read all threads
I keep telling y'all that "full stack" is a trap. Nobody wants to talk about it. I was honestly surprised when I learned that a lot of devs are taught to want that. As opposed to be able to build up competency incrementally.
I have a long rant about this. But it's Christmas Eve Eve and I'm gonna find something better to do.
Okay let's talk about this a little more today. Because it's Christmas Eve and I didn't get y'all anything else.
What do I mean when I say it's a "trap"? It's important to unpack things a bit. Because like almost everything, what I'm saying doesn't apply to everybody in every situation. What I mean here is that the "full stack" designation does not set engineers or teams up for success.
When I've talked to employers about what "full stack" means, I get answers that seem similar but are different in significant ways.
Sometimes "full stack" means you can work on both the frontend and backend of a web stack. So you can build out an entire feature yourself. "Building features in a web app" carries a lot of context about what the work is right off the bat. This is where many people *start*.
This role is entirely reasonable. And probably the one many people assumed when they heard "full stack". I wouldn't call it that though. I would just say this is a web developer or web engineer. There is enough depth in this part of the stack to spend all of your time here.
But then things start to get complicated. Sometimes "full stack" leads to this:

"We also need a native app, and I'm also gonna ask you to do something about that. You're the engineer I hired so make it happen."
This is where you end up with people reaching for react native or whatever. Not because it's the right thing for the company. But because that's all you have is web engineers and they have to solve every problem.
Meanwhile these companies inadvertently get dragged into technology that's not fully baked yet and become the guinea pigs to test it. And the team, who had no real choice in the matter, starts getting dinged as things drag out. This was the react native community a few years ago.
Here's another scenario that "full stack" engineers fall victim to:

"Oh everything was fine until yesterday. Now our database is too big and we're having performance problems. Can you fix those? You're the engineer right? You do everything."
Maybe you have "Infrastructure or devops" engineers on the team. You think they're gonna help you. Except they only do mysql and you chose mongodb because that's the web stack you were familiar. You convinced everybody it was gonna be so much more "productive".
Now you have it help them figure out how to get AWS to successfully transfer 3.2 TB database so you can upgrade to the latest version in *hopes* that the perf improvements somehow help out? You have no idea and didn't think that was part of your "full stack" job.
Later that same infra team comes to you and says they're "dockerizing" everything because it's in their OKRs. So you have to make sure your backend services are stateless and horizontally scalable. Because now they can disappear and restart at any time. Good luck!
Oh also we should probably have the local dev environment look like production, so go ahead and overhaul the dev environments to use docker as well. But don't break people's workflows because we're still trying to ship things!
These are all things I've actually had to do in recent years. Not to mention the following:

- Slack apps
- Headless browser environments
- Serverless functions
- ETL pipelines
- Scaling elasticsearch and redis
- Real-time collaborative document editing
I can only do all of this shit because I've been building up incremental knowledge about software systems for 15 years. And I'm still really bad at half of these things!
All of these things may need to happen at a reasonably sophisticated tech company. "Full stack" potentially puts you on the hook for all of it. Not because you've earned the skills and credibility. But because you've been telling everybody that you wanna do everything.
You might be thinking at least doing all this high level work will translate to conversations with your manager about getting promoted. But no That's when you'll find out why it's a trap. Because that was never what you were being evaluated on.
You're still evaluated on your same job. Shipping product features. So now you're having a conversation with your manager about why you didn't do enough of that because you got involved with all these other things. And it sounds like *you're* the one making excuses.
It turns out the company will take whatever labor from you that you're willing to give them. And "full stack" often translates to you doing your actual job plus a bunch of other freebies because you're trying to get the "exposure". Don't do it to yourself.
Anyway, there's a lot more here. But I gotta go get ready to see Frozen 2 with my daughter. Merry Christmas.
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Marco Rogers

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!