Stop Framework Hopping and Find the Pillars
Every few months, the tech community collectively loses its mind over a new framework.
You've seen the cycle. Someone posts a thread — on Twitter or Bluesky or wherever we've all migrated to this month — about how this new framework is going to change everything. The GitHub stars explode. The conference talks get scheduled. The tutorial industry kicks into high gear. Everyone's LinkedIn starts lighting up with "I just completed [Framework] Fundamentals."
Six months later, something new appears. The cycle repeats.
And meanwhile, the engineers who spent those six months understanding how TCP/IP actually works are quietly becoming the most valuable people in any room.
I want to talk about the pillars — the fundamentals that don't change, that transfer between every language and framework you'll ever work with, and that separate engineers who are genuinely dangerous from engineers who are just familiar with the current stack.
The Framework Is Just Syntax
Here's the hard truth: frameworks are rental cars. They get you where you're going. But knowing that a car has a gas pedal on the right and a brake on the left — that knowledge transfers to every car you'll ever rent. Knowing how fuel injection works is the thing that lets you diagnose why the car is running rough.
React, Vue, Angular — they're all solving the same problem: rendering UI based on state changes. The specific API differs. The underlying concepts — component architecture, unidirectional data flow, declarative rendering — these go with you when the framework changes. And the framework will change.
I've watched engineers spend six months becoming experts in a framework their employer deprecated for a newer one. The engineers who bounced back fastest weren't the ones who knew the most API methods. They were the ones who understood why things worked the way they did.
Framework knowledge is perishable. Conceptual foundation is not.
The Pillars
Let me walk through what I mean by fundamentals — the things I test for when I'm interviewing, what I look for in senior engineers, what I prioritize when mentoring someone.
HTTP and the Network
I cannot overstate how many bugs I've seen caused by engineers who don't actually understand HTTP.
If you can't explain the difference between a 401 and a 403, you will misdiagnose auth issues. If you don't understand what a request header is and how cookies work, you will write insecure session handling. If you can't read a TCP handshake, you won't understand why your microservice latency is weird.
Things you should deeply understand:
- HTTP methods and status codes — not just GET/POST, but PUT, PATCH, DELETE, and what idempotency means for each. Not just 200 and 404, but the difference between 400, 401, 403, 422, 429, and 503.
- Request/response headers — Content-Type, Authorization, Cache-Control, CORS headers. What they do and why they exist.
- Cookies and sessions — how they're set, how they're sent, what HttpOnly and Secure mean, why SameSite matters.
- TLS — not the cryptographic internals necessarily, but what the handshake does, what a certificate is verifying, why HTTPS is not optional.
- DNS — how a domain resolves, what A records and CNAME records are, what happens when you type a URL and hit enter.
This knowledge applies whether you're writing a mobile app, a microservice, a CLI tool, or a web frontend. HTTP is the universal language of distributed systems.
Data Structures and Algorithms
I know. LeetCode has poisoned this topic. The whiteboard interview industrial complex has made "data structures" synonymous with "pointless interview hazing."
But I'm not talking about being able to implement a red-black tree from memory. I'm talking about having an intuition for when different data structures are appropriate and what the cost of different operations is.
Knowing that a hash map lookup is O(1) and a linear scan is O(n) is the difference between writing a function that works fine at 100 records and one that melts down at 100,000. Knowing when to reach for a queue vs. a stack changes how you think about processing pipelines. Understanding what an index does in a database is just B-tree knowledge applied to a different surface.
You don't need to memorize the implementation. You need to understand the shape of the problem each data structure solves.
Operating Systems and the Shell
The number of engineers who work entirely above the OS layer and have no idea what's happening underneath is staggering. And I get it — cloud abstractions are great. But when the abstraction breaks, and it will break, you need to know where to look.
Things that matter:
- Processes and threads — what they are, how they differ, what context switching costs, what a race condition is and why it happens.
- The filesystem — inodes, permissions, symlinks. Why
chmod 777is not a "fix" but a security hole. - Memory — stack vs. heap, what a memory leak looks like, what causes segfaults. You don't need to write C, but you should understand the concepts.
- The shell —
grep,awk,sed,find,curl,ps,netstat,lsof. Being able to diagnose a running system from the command line is a superpower. I've triaged production incidents on systems where the only access was SSH. Shell fluency is survival.
Security Principles
I work in DevSecOps, so maybe I'm biased here. But I'd argue that security fundamentals are the most universally applicable pillars in the stack.
The mental model I use: every piece of software has inputs and outputs. Security is about controlling what inputs we trust, what we do with them, and what we allow to go out.
Foundational concepts that cross every language, framework, and platform:
- Least privilege — every system, user, and process should have access to exactly what it needs and nothing more. This applies to AWS IAM roles, Linux file permissions, database users, and API scopes.
- Defense in depth — don't rely on a single control. If the firewall fails, the app should still validate input. If the app is compromised, the database user shouldn't have admin rights.
- Never trust input — user data, API responses, uploaded files, environment variables. Validate everything before using it.
- The OWASP Top 10 — not as a compliance checklist but as a map of how things actually go wrong. SQL injection, broken authentication, security misconfiguration, insecure deserialization — these are not ancient history. They're in code that shipped last week.
The engineer who understands these principles will write more secure code in any framework than the engineer who took a security course but never internalized the underlying model.
Databases and Data Modeling
ORMs are great. They also create a generation of engineers who don't know what a query plan is, why N+1 queries destroy performance, or how transactions actually work.
You should understand:
- SQL fundamentals — joins, aggregations, indexes, explain plans.
- ACID properties — what atomicity, consistency, isolation, and durability mean and why they matter for data integrity.
- When relational doesn't fit — what problems document stores, key-value stores, and time-series databases actually solve. The tool choice should come from understanding the data model, not from what the last company you worked at happened to use.
Why Engineers Fall Into the Framework Trap
The framework trap is psychologically understandable. Learning a specific framework gives you fast feedback. You follow a tutorial, something appears on screen, you feel productive. Studying TCP/IP or OS internals or data modeling is slower, less immediately satisfying, and doesn't produce a deployable app in 30 minutes.
The industry doesn't help. Job postings ask for specific framework experience. Some senior engineers gatekeep with framework-specific trivia. Conferences celebrate new tools more than they celebrate deep understanding.
But here's what I've observed over years of interviews and mentoring: the engineers who grow the fastest, who adapt to new stacks the fastest, who produce the most consistently good work across a whole career — they're the ones who understand the fundamentals. The new framework is just a new API to learn. The problems underneath are the same ones they've already solved.
How to Actually Build the Pillars
You don't have to do this all at once. It's a long game. Here's how I'd approach it:
Pick one pillar and go deep for 90 days. Not "learn networking" but something specific: "I'm going to understand HTTP well enough to explain every step of an HTTPS request from browser to server and back, including TLS handshake, DNS resolution, and TCP connection." Specificity matters more than ambition.
Build something without the abstraction. Write a simple HTTP server from scratch in whatever language you know best — not with a framework, just using raw sockets or the standard library. You'll learn more in that one exercise than a hundred tutorials.
Read a book, not just blog posts. Some things require sustained, sequential attention. "Computer Networking: A Top-Down Approach" for networking. "The Linux Command Line" for shell. "The Web Application Hacker's Handbook" for security. Long-form knowledge builds differently than quick-hit articles.
Teach it to someone. If you can explain a concept to a junior engineer without jargon, you actually understand it. If you find yourself struggling to explain, that's a gap worth filling.
The Hype Cycle Will Keep Coming
There will be another framework next year. And the year after. Some of them will be genuinely valuable and worth learning. Most will be a React wrapper with a cooler name and a better logo.
The question isn't whether to learn new things. Of course you should — staying current matters. The question is where you invest your deepest learning — in what's popular right now, or in the things that will still be true when you're explaining them to an engineer twenty years from now.
HTTP still works the same way it did in 1997. TCP/IP still works. The OS still manages memory. SQL still runs on B-trees. Security still comes down to not trusting input.
The pillars are patient. They'll still be there when you come back.
Takeaway: Audit your learning investment. What percentage of your study time goes to framework-specific skills vs. fundamentals? If frameworks are consuming more than half your attention, rebalance. Pick one pillar this month — networking, OS, security, databases — and spend 30 minutes a day on it. In three months you'll see things in your daily work that you couldn't see before. That's the compounding that lasts a career.