3 things I wish I knew as a junior engineer (that nobody teaches in CS class)
CS programs teach you algorithms. They don't teach you how to actually ship software.
Here are 3 lessons that took me way too long to learn:
1. Reading code matters more than writing it.
You'll spend 80% of your time reading other people's code. Get good at tracing through unfamiliar codebases fast. Clone open source projects and try to understand them before you try to contribute.
2. The best engineers aren't the fastest coders — they're the best communicators.
The person who can explain a tradeoff clearly in a design doc will get promoted over the person who writes clever one-liners. Write more. Document your decisions. Your future self (and your team) will thank you.
3. Systems design isn't just for interviews.
Understanding how data flows through a system, where bottlenecks live, and why certain architectures fail under load — that's what separates senior engineers from everyone else. Start studying this NOW, not when you're prepping for your next job.
I'm building The Engineering Edge to share exactly this kind of insight — weekly deep dives on the stuff that actually moves the needle for early-career engineers. If that sounds useful, come check it out.
