The emphasis is on Clean Code, Clean Architecture, Low Level System Design, High Level System Design, Industry Standards & Best Practices, Large Scale Distributed Systems Architecture.
These usually focus on Language/Framework/Platform Agnostic knowledge which don't get outdated with time.
Apart for Data Structures, Algorithms & Problem Solving Skills (which are inevitable), Software Engineers are supposed to get good with the areas/path mentioned below to evolve from Junior Engineers to Senior Engineers where they can differentiate between Pros and Cons of design decisions and create Softwares which are highly maintainable apart from being scalable & reliant.
-
Clean Code
-
Refactoring
-
System Design
-
.NET Architecture/MVC/Core
-
Design Patterns (DoFactory)