Start by finding a language that you are interesting in learning and try to learn it. As a beginner I would suggest a modern programing language like Java or node.js.
Once you gain the basics and have a good foundation try coding challenges. There are a lot of sites out there that give a problem that you need to code the solution for. As a bonus several companies use sites like this as part of the technical interview process.
Learn to code sites (there are more out there):
Coding Challenges (one of several out there):
To become a software Engineer, in general you need to attend college/university that propose either:
- a Bachelor Degree in Computer Science
- a Bachelor Degree in Computer Engineering
(note that there are somewhat different in today's literature thought quite close).
Anything above Bachelor Degree like Master Degree or Ph.D also works. Bachelor is the minimum.
For the school curriculum, it really depends if you want coding (computer science) or management (like IT) or hardware or in between.
Coding usually requires these basis:
- data structure
- one programming language
- possibly some query language
Hardware usually requires at least:
- computer architecture
- other hardware training as you see fit like FPGA, DSP ...
- Operating System introduction
For the other, really depends what you are targeting in the computer field... it is so vast.
During high school, you need to take some Maths like calculus, algebra. If you are interested in hardware as well, electricity/electronic will be a plus. If your high school proposes some introduction to coding classes or any computer related class, it would wise to take some.
Then, like anything in life, it's all about experience. So wherever you feel ready, you can start on your own from the Internet, school, friends ...
If you are graduating soon - pursue one of the following degrees it is listed in order (easy to challenging)
- BS in MIS
- BS in Computer Sc
- BS in Computer Engineering
- BS in Electrical Engineering.
Beyond knowing computer languages (Java,C, Python, etc.), what other courses you take will make a difference.
Nowadays if you want to work at Google, Amazon or Microsoft - you will have to pass their own tests. They are not easy. My son has Computer Engineering degree from the state school with almost perfect GPA - it was not good enough for Amazon, he had to take 3 hour test. 30 mins for each assignment. Once you pass then only you get the interview.
None of these degrees above are easy but you are focused and work hard you can be a good software developer.
As a software engineer (I did that for 10+ years), it is a great feeling to accomplish something.
Salary structures are very lucrative (6-figures starting salary, plus bonus plus stock options as well as signing bonus).
All the best
1. Explore on your own.
2. Pursue a technical degree or software engineering courses.
3. Practice your coding skills.
4. Create projects and samples of your skills on a development platform.
5. Get certified.
6. Be ready and willing to teach yourself new things.
7. Practice your coding skills some more.