To become a Software Engineer, you can either 1) get a bachelor's in Computer Science or 2) learn on your own. In my opinion, the primary requirements you need to learn are programming, data structures and algorithms.
Try getting an internship, it helps to get some hands-on experience. There are many sites that have challenges, and projects you can do to get more experience.
Here is one of them: https://www.codementor.io/npostolovski/40-side-project-ideas-for-software-engineers-g8xckyxef
While a degree in computer science is a very accepted and appropriate, many fields of engineering also satisfy the education requirements as well such as Mechanical Engineering, Electrical Engineering, Chemical Engineering, Aerospace Engineering, etc. These other engineering disciplines offer lots of exposure to coursework that helps you develop software development skills that are focused on numerical method algorithms, etc. And I should know as this was the route that I took in my career with a BS and MS in water resources and environmental engineering.
*Hands on Experience*
In addition to education, the most important thing to develop is your exposure to different technologies and languages that you can learn online, through building your own applications, taking part in an open source project as a contributor. Be curious and find ways to learn on your own to build your skills.
This provides an essential environment to gain real world learning experiences while working for a company with other teammates on software projects.
A brief summary of steps to become a software engineer is as follows.
1. Study computer science, get familiar with an easy programming language first, such as Python, Java. Mess around with it. Write your own piece of code, or a small application.
2. Work on some open source projects on github.com that seems interesting to you. Contribute on it if possible.
3. Build up your resume with projects you've done. It could be from your computer science courses, your side projects, or your open source contributions. Demonstrate that you are able to build softwares.
4. Find some contacts from some interesting companies on linkedin.com and get some referrals for either internships or permanent jobs.
5. Prepare for technical interviews and pass them to get actual offers.
1. Study Computer Science and get a Degree
2. Learn online.
This doesn't end there, you need to prepare your mind to always keep studying and evolving. The field involves a lot of changes and what you studied during your degree may be obsolete when you graduate. The foundations will keep you afloat, courses like:
1. Advanced-Data Structures and Algorithm
2. Software Engineering
3. Basic programming in whatever language (C, Java, Python)
I agree with Ana's answer, you can either 1) get a bachelor's in Computer Science or 2) learn on your own. Degree is not required, but it will help you finding your first job. Always do a internship if you have the opportunity. I find the internship give you the opportunity to reconfirm what it is that you really want to do.