The Lost Feed

🔬Weird Science

Software Engineer Forgets CS Basics After 5 Years

After 5 years in software engineering, is it normal to forget core CS concepts? A look at what really matters in the tech industry.

10 views·5 min read·Jul 17, 2026
Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

You spent years in college, earning that Computer Science degree. You learned about operating systems, database normalization, and computer organization. But now, five years into your career, those foundational lessons feel like a distant memory. Your daily work is filled with deadlines, business goals, and managing complex systems like Kubernetes. Does this mean you're falling behind? Is this a sign you need to cram your old textbooks again?

It's a question many software engineers face. The fast-paced world of tech often pulls us away from the theoretical. We become experts in the tools and practices that help us ship features and keep systems running. But what happens to the knowledge that got us here in the first place?

The

Reality of Day-to-Day Engineering

Let's be honest, the day-to-day life of a software engineer isn't always about abstract algorithms or deep system architecture. Most of the time, it's about solving immediate problems. You need to deliver a feature by the end of the week. You have to fix a bug that's affecting users right now. You're focused on making the business happy and keeping the product stable.

This means you're constantly learning new frameworks, libraries, and cloud technologies. You become proficient in tools that directly help you achieve your current goals. The skills that get you promoted are often the ones that show you can deliver results quickly and efficiently. This practical, results-driven approach is what powers most software development.

What Happens to Theoretical Knowledge?

So, where does that leave your understanding of things like database normalization or operating system principles? For many, it fades. It's not that you've forgotten it completely, but it's buried under layers of practical experience. You might not be able to draw out a complex ER diagram from memory, but you still understand the *principles

  • behind good database design.

Think of it like learning to drive. You learned the rules of the road, how the engine works, and the physics of braking. But after years of driving, you don't actively think about the combustion cycle every time you press the gas pedal. You've internalized the knowledge and applied it practically. Your CS knowledge works in a similar way.

Kubernetes and the Modern Engineer

Today's software engineers often work with complex infrastructure. Tools like Kubernetes have become essential for managing applications at scale. This involves understanding concepts like containerization, orchestration, and distributed systems. These are practical skills that directly impact your job performance.

Your focus shifts from the "how" of the computer's inner workings to the "how" of deploying and managing applications in a cloud environment. This is a natural progression. As technology evolves, so do the skills that are most in demand. Mastering these modern tools is crucial for career growth.

Is This a Problem?

This feeling of forgetting core concepts isn't necessarily a problem. It's often a sign of growth and adaptation. You're applying your foundational knowledge in new, practical ways. You're building upon that base with skills that are relevant to the current tech landscape.

However, there are times when a refresher can be incredibly valuable. Certain roles, like those involving deep system design, performance optimization, or even interviewing for certain companies, might require you to recall those fundamentals. Sometimes, a quick review can spark new insights into your current work.

When a Refresher Might Be Needed

There are specific situations where digging back into your CS basics can be beneficial:

  • *Job Interviews:
  • Many tech companies, especially larger ones, test foundational knowledge during interviews. Understanding data structures, algorithms, and system design principles is often key.

  • *Performance Bottlenecks:

  • When applications run slowly, understanding computer organization or operating system concepts can help you pinpoint the issue.

  • *Complex System Design:

  • Designing new, large-scale systems often requires a solid grasp of theoretical underpinnings to make sound architectural decisions.

  • *Troubleshooting Deep Issues:

  • When faced with obscure bugs or system failures, recalling fundamental principles can provide a different perspective.

What Skills Truly Matter?

While theoretical knowledge is important, the skills that truly matter in the long run are often a blend of theory and practice. The ability to learn quickly, solve problems effectively, and *communicate clearly

  • are paramount.

Being able to take a business requirement and translate it into working software is the core of the job. Understanding how to use tools like Git, Docker, and Kubernetes efficiently is critical. Knowing how to write clean, maintainable code is essential for team collaboration.

"The true skill isn't just knowing the theory, but knowing when and how to apply it to solve real-world problems."

This quote highlights the balance. You don't need to be a walking encyclopedia of CS trivia. You need to be an engineer who can build things, fix things, and adapt to new challenges. Your practical experience is incredibly valuable, even if it means some textbook knowledge has taken a backseat.

The

Value of Continuous Learning

Software engineering is a field that demands continuous learning. The technologies you use today might be obsolete in a few years. Your ability to pick up new skills and adapt is more important than memorizing every detail from your degree.

If you feel like you've forgotten some CS basics, don't panic. It's a common experience. Instead, consider what aspects of your knowledge would be most beneficial to refresh based on your career goals and current work. Perhaps a quick online course on database design or a refresher on operating system concepts would be helpful.

Ultimately, your five years of experience have taught you far more than any textbook could. You've learned how to build, deploy, and maintain software in the real world. That practical wisdom is invaluable. The theoretical knowledge serves as a foundation, and your ongoing learning shapes it into the skills that make you a successful engineer.

How does this make you feel?

Comments

0/2000

Loading comments...