I get asked similar questions a lot lately. I walked this path myself and I decided to share my thoughts on it here. If you think the descriptions below sounds like you, then you might be a good candidate to become a software developer.
I like solving problems. If you are a kind of person who really likes solving simple to complex problems, you are a good candidate to become a developer. It's all about problem solving. If problems did not exist, then there won't be a need for software development. It emerged because of the problems people had in their work and/or life.
I am patient enough to sit in front of computer all day. For real, can you work in an office, home or coffee shop all day and every work day and not hate it. Because I knew some people who really can't sit in front of a computer longer than an hour. If that's the case, it might not really be for you. Of course it doesn't mean that your whole life will be like that, but it's something you need to be aware of and be ready when necessary.
I can follow guidelines. Then, you can become a developer. I haven't seen any language, framework, or third party service without a clear guide and documentation. It's all about carefully reading and implementing it.
I like working alone. If you are working remotely or solo, you might miss a crowd. It won't clearly apply to everyone, however, for beginners, finding a team environment can be tough. Therefore this is one of the things that you need to be ready in early stages of your journey.
I am able to focus on one thing. Languages, new technologies emerge so frequently, developers find themselves trying to learn lots of new things. It's important to focus on a language you learn or learned and be very good at it. Trying to learn many languages, one can end up not knowing any of the languages sufficiently. Most languages can solve problems that any other language would solve. They are not apples and oranges anymore, most of the time. However, initial decision in picking a language is important as it would define your future carrier path.
Do I need to know math? Honestly, basic math is required for most occupations and it applies to software development as well. Most calculations are done by computers and it's not like your math teacher who doesn't allow you to use calculators. However, it's important to know mathematical concepts and if you don't know, just learn them from youtube videos or any other courses available online. If you are working on very complex projects that really require advanced degree of math, then clearly you need to know that kind of math, but that's not the case %80 of the time.
So, do I really not need a computer science degree? Well, if you have one, it will help a lot and you won't regret it, if you studied and learned well. Universities are good at teaching basic computer science concepts in sequence, and in certain amount of time, which are important to learn any subject. But today, we have so much information, and courses online and onsite available to us that we can learn and practice the skills needed without getting a degree on them. Of course, it depends on factors I mentioned above, and probably some others, and how much commitment you can make towards learning, and practicing on your own.
Do you have to become software developer? People tend to chase professions that they would make more money in a short time. I think it is important to find out your hobby or something that you enjoy doing even if you don't make money off. That way, it will be long term and you can explore and exhibit your own world through your own software with excitement.
I hope you enjoyed reading this article, if you liked it, please click on the like button. Any comments and ideas are appreciated. If you find any mistakes or experienced otherwise, would be happy to learn from you. Life is a learning journey, isn't it?