There are various topics you should learn as a self-taught programmer. You should become familiar with computer architecture and data basics, learn how programming languages work, understand the basics of how the Internet works, and master some command line basics. With this foundation, you can start moving into more specific programming knowledge and languages.