Discuss between programmers around problems and how they approach them.
Practicing data structure, algorithms and design related problems,
Read a lot of code. Specifically, read a lot of code by excellent programmers.
Write lots of code and have it reviewed. If your site does not do code reviews, do them yourself.
Find the best programmer who'll give you useful advice in a way that can be heard and understood.
Both experiences are sure signs of progress. Good luck!
— Andrew Binstock
The most straightforward path to becoming a Software Engineer is to earn a degree in Software Engineering/Computer Science. Most major Colleges and Universities offer a degree in Software Engineering and companies are always looking for newly graduated students to come and work for them!
There are also a number of Coding Bootcamps available that are accelerated programs which teach you the basics of how to be a software engineer. Many of these also offer a guarantee job offer upon completing the program!
You can also learn on your own! I have worked with many great people who are self taught Software Engineers. Finding a job at first may be a little more difficult but once you are able to get your foot in the door and show what a great engineer you are then the sky is the limit.
For all paths it is important to be a life long learner. Always looking to improve yourself as a Software Engineer throughout your career!