I disagree about discounting "soft skills". As a hiring manager I look for people who can demonstrate the ability to solve problems with code for sure, but equally important is the ability to understand the problem and communicate it from/to lay persons.
Communication and nothing else comes close. If you're the next coming of Steve Jobs, Bill Gates, or Jim Keller but you only speak Maltese, no one is going to want to take the time to work with you.<p>I know that's not a fun answer for a lot of people but at least the goal is clear.
The market rewards being good at job searching and interviewing. It makes a bigger impact on compensation than actual engineering value.<p>So get better at interviewing.<p>If you're already focused on coding, the next piece is systems design.<p>The more senior the job, the more likely part of the interview process is moving boxes and arrows around to design a scalable, reliable system.<p>This book is a great place to start: <a href="https://www.amazon.com/System-Design-Interview-Insiders-Guide/dp/1736049119" rel="nofollow">https://www.amazon.com/System-Design-Interview-Insiders-Guid...</a>
It really depends on level, the more senior you get the more those soft skills are what get you in the door.<p>You can't let the hard skills rot either, they're kind of just table stakes at that point though.
Project management, communication, statistics, and one or two areas where you have a somewhat deeper knowledge/experience than the rest of mortals.
Selling - in fact, I'd argue it is more valuable than coding as it can be transferred to any domain whether you are selling a product or yourself.