Software engineering is one of the most in-demand and best paying careers, but learning computer science can also pay off even if you don’t do it professionally. Google has a guide to the courses and experiences future software engineers should consider.
The guide overview says:
Having a solid foundation in Computer Science is important in being a successful Software Engineer. This guide is a suggested path for University students to develop their technical skills academically and non-academically through self paced hands-on learning. You may use this guide to determine courses to take but please make sure you are taking courses required for your major or faculty in order to graduate. The online resources provided in this guide are not meant to replace courses available at your University. However, they may help supplement your learnings or provide an introduction to the topic.
Although intended for students, anyone can follow these recommendations, which include skills like coding in C++, Java or Python and learning cryptography (along with online resources to acquire those skills).
It’s not as in-depth as the bachelor’s level computer science curriculum we’ve seen before, but it covers the basics, and the non-academic suggestions such as contributing to other projects are helpful for budding coders of all kind as well.