Take CS courses online or offline from universities that offer lectures for free/pay online. If you are sufficiently motivated, you can work through the book by yourself and watch video. If not, the commitment of paying for a class and time boxed scheduled of a semester will hopefully push you.<p>Computer architecture course. - you need to understand the machine you are programming. Something like Meltdown/Spectre will make sense to you.<p>Learn assembly programming & C, does much for your confidence, you understand how your programs get turned to 10101<p>Take a programming language course, understand the difference programming languages. When people start talking about the new XYZ language, you can quickly evaluate it based on the paradigm and decide if you should get on it or not.<p>Operating System course. - The OS coordinates resource allocations to your program, you can begin to understand the discussion such as why fork() takes longer than a thread. You will make many wise decisions.<p>Algorithm & Design - You can write better program.<p>Software Engineering - You can deliver better softwares.<p>Automata Theory - you can understand machines more, sometimes complex logic is best representated as a simple machine. This becomes useful if you are parsing (compiler, NLP, etc)<p>Distributed Systems - if you have ever uttered the word microservices or plan to.<p>The below 3 maths are the main maths of computer science, most cutting edge work today employ some or all of them.<p>Linear Algebra,
Discrete Maths,
Probs & Statistics