First of all, I’m a beginner and thus you should take this with a grain of salt.
There are some lists floating around the web encompassing freely available courses to acquire the same knowledge you would get as if you were to attend a CS degree. Unfortunately, after doing a quick search I couldn’t find that one blog post where someone completed the courses in about a year and structured it so that the material keeps building on the previous knowledge.
There is this one. It is overwhelming and does not provide that learning structure mentioned above.
That is undoubtedly the best option and it requires time and dedication. That knowledge is what will make you a software engineer.
A good and fast way to get started is by understanding how a computer (machine) works. A high level programming language like Python or Java or Ruby or Haskell or Clojure and so forth, abstract the need to...