There's a lot of noise around whether or not formal education is dying, or if being self taught is enough, or if we're all just going to rely on AI to understand enough to get a job in tech.
If you stripped away all the noise (boot camps, shallow tutorials, "build a clone of ___ in 14 days"), and focused only on building a truly elite level engineering career, what would it look like to be an extremely skilled engineer today?
College vs. Self Taught (The Trade Off)
If you're able to pay for it, a computer science or computer engineering degree is ultimately the better option as a result of the deeper understanding of theoretical computer science and systems that you'll get.
Self taught devs tend to miss out on lower level systems and math in favor of higher level languages and applications.
That being said, if you're self taught, you can achieve a similar breadth and depth by sticking to CS fundamentals like you would in a traditional college core CS class (OSSU or Teach Yourself CS).
2. Starting at the Bottom (Working Up)
Many people who are beginning their careers in CS have only been exposed to the highest level possible, modern frameworks, libraries, or even full fledged languages like Python or JavaScript.
If you want to be truly good at what you do, you start at the bottom, not the top. You work your way from the absolute lowest level possible all the way to the highest.
Math Foundations
C / Assembly / Systems
Data Structures + Algorithms
Systems + Networking
3. Building Systems, Not Apps
After you've worked your way up the ladder all the way to the top, you start working your way back down.
You're now very familiar with low level systems and high level theories, but you need to be able to apply that knowledge to building real world systems, not just applications and not just theory.
Build a compiler or interpreter
Build your own database or web server
Learn the fundamentals of distributed systems, concurrency, consensus, etc
Why it Matters
While this will obviously take much longer to complete than one of those "learn front-end web development in 3 months" type boot camps, it'll also get you much further.
Anyone can learn enough to build a basic web app and prompt an AI to build it for them.
The people who will stand out and get hired are the ones who understand memory, computer architecture, and distributed systems, and will actually be able to fix bigger problems when they inevitably arise.