Earn a degree in software engineering or a related field: Most software engineer positions require a bachelor's degree. Majoring in software engineering will provide the most useful background for designing and perfecting software in the corporate world. Computer science is another good choice, although its more theoretical approach is best suited for future graduate students and R&D work.
It is possible to get hired with an associate's degree or even with nothing but self-taught experience. However, these opportunities are generally low-level programming jobs, even if the employer bills it as "software engineer."
I'd learn the following topics to get a good start on a Software Engineering Role:
- Data Structures and Algorithms: https://www.youtube.com/watch?v=92S4zgXN17o&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P
- Side Projects ... do plenty of 'em as it will give you good things to put in your resume as you seek for jobs