In this blog, I will explain how to get started in a software development job. In this blog, I will be able to write only in terms of my point of view as a front-end web developer so if you found something unsure about what is expecting to learn please DM me.
Well, this is a very broad question to start with. The answer would be millions of things to learn. But what you need to know is that "What is your end goal?" What do you want to do?
Type of software developer jobs
Build your foundation
HTML and CSS also play a big part as a front-end developer as you will need to work with the UI all the time. I hate to say this but it doesn't matter how much you hate CSS, you still need to master it because it will be your day to day work skill that you need. In a big project you won't write raw CSS, but sometimes styled-components or some other CSS frameworks. For instance, Chakra UI, Material UI and Semantic UI. All in all, you still need an understanding of how CSS works.
Personally, I'd recommend "Zero To Mastery": https://zerotomastery.io/
Why do I recommend this? This will give you the WHOLE picture of how web development works. You must have an understanding of how everything is put together before you start your journey. I'd recommend skimming through each chapter and course available for you to see which one catch your interest and then start from there. This course also contains a roadmap for which direction you will be going after you finish a certain course so you won't have to waste your time learning the thing that you do not need.
From this point, I can't give you exactly where to go next. It is up to you which direction you want to go or which topic you still want to improve. And make sure that you don't limit yourself to just one learning medium. I always stick to video-based materials when I first started out but later in my journey, I found out that books and documentation also give me lots of knowledge that video can't give me. So make sure that when you get stuck at some point, allow yourself to switch around.
This is probably one of the most asked questions that I get or see people ask. The answer to this question is "you never know". This might sound random but I meant it. Don't forget that along your journey, it is just you, no one else. The point is you can't evaluate yourself. You can test yourself with some test platform on the internet but that doesn't mean you are not competent. It is hard when you have to answer this question to yourself while you still learning. The downside of being self-taught is there will be no one to tell you that you are ready, go out there and find a job. That doesn't mean people who went to college or university get any advantage over you. They(uni gangs) might think that once they graduate they will be ready for a job(approval). But in the real world, this is unrelated. I saw many people who grads from top tier uni and struggle to find a job, not to mention got rejected many times. So, what is the problem here?
Let me tell you why. You have to understand that skills that are required to work as a software developer and skills that you obtain from uni or college don't necessarily be the same thing. In some cases, it might be different. That is a good thing about being self-taught, you can teach yourself just what you need. Just enough to get a job. Don't get me wrong here, I didn't mean to offend any uni grad that what you learn will be useless. It gives you something with our without your conscious. But I'm trying to talk about those skills that are subjective.
You might get confused at this point that "so what do you mean by skills?" Let me give you a real-world example. Let's say that the company that you want to apply for build a web app for various company. The tech stack they use might be something like this
Front-end: Next.js, React, Redux, Recoil, React-queries
Backend: Laravel / Node
VCS: Github, Gitlab
The question is when you grad from uni or college do you know any of this?
Don't forget that software technologies move fast. What you think you know today might be useless or not used anymore in the next few months. So as a self-taught you choose what you have to know not someone else tells you what you have to. You cut so much time that you will spend in the uni.
To conclude, be confident in yourself. This is very important as a self-taught because you will be on your own. You need to cheer up yourself, pat yourself at the back and lift yourself. Once you are confident in your skills, start applying for a job. Don't underestimate yourself. You can do much more than you think you can but you just need to be confident.