What I did was start low as a jr. system admin for linux systems. I'm not very social so I never made 'connections' so I hade to improve my skills. So from jr I went to sr, and within a couple of years got my first job as a jr. dev for a small company.
It's at these kinds of jobs that you will learn the essentials:
MVC Databases HTML/CSS/Javascript Message Queues
From here, it's up to you to keep improving your skills and building projects. Managers don't like github profiles, so I highly recommend you have your own app (not just a website.)
From there you can move on to things like: Mobile Apps Function Languages Socket Servers Low Latency Systems
Of course, always make sure you study and learn the basics. Such as basic sorting algorithms, working with bits/bytes, etc.
And so on.