To get started in software you need two things.
A good memory for useless details and an ability to see patterns in the things around you.
Additional helpful things include:
- Enjoy solving problems.
- Having a visual memory where you can orient and rotate patterns in your head. I believe you can learn this – but I have no proof about that. It’s great for understanding problems.
- A computing device you can save things on – cloud platforms are ok but you really learn by breaking stuff on your local computer first
- Patience – why does stuff take so long sometimes?
- Enquiry – why do things work as they do? Software is about spotting patterns in the world around us and replicating them in code. And spotting patterns in code and data and working out how that helps anybody.
The rest is just learning some best practices but those two natural abilities coupled with a few extra things will help you make up for any deficiencies further down the line. Learning a language is all well and good, but today you need to learn languages as quickly as they are invented.
These basics will keep you pointed in the right direction.