Software development always feels like a complicated phenomenon from an alien planet before you start doing it. Even in your initial stages, it could feel quite overwhelming and I know a great number of people that gave up along the way. Truth is, nowadays there are a lot of technologies and it can be difficult to decide what to learn. There is no clear roadmap to becoming a successful software programmer, and success really is subjective to what you wanted to achieve when you started out. However, I'm gonna share what I think can help most people starting out like myself not to get overwhelmed.
Find a niche
Software development is a wide filed and it's impossible to learn everything. Find an area that interests you and focus on it. It'll make your learning journey easier.
Identify and learn the skills needed
Identify the skills needed to excel in the niche you pick. The most important is the programming language you decide to use. All programming languages can be used in almost all dimensions of the software development field. Pick the language you're comfortable with. After mastering the basics of the language you can learn the frameworks that are used in that niche and implemented by the language of your choice.
Market yourself
As you learn it is important to build projects along the way and not just spend hours going through tutorials. Document your learning progress in a blog and share the projects you have worked on. Build a portfolio for your work and ensure you're visible to recruiters.
Finally, experience is the best teacher. Build more projects and ensure you code everyday consistently and all the concepts will start looking familiar.
Good Luck😉