I am now working full time in the field. Before that, I was a sysadmin. I worked as a sysadmin from about age 20. I understood ops coming in and this let me punch above my weight.
It took about a year for me to get good enough to apply for jobs.
I would now be considered a good developer by most standards. This only happened because I found a fantastic mentor. He took me under his wing and pulled me up.
I have since introduced my non-technical brother and encouraged him to start learning to code. After about a year of effort he is starting his first full time job in the field next week.
It is possible and very doable.
Find a mentor early though to fast track the learning process.
Other notes based on other comments:
- My brother and I both value critical thinking and apply it naturally. We didn't work in creative fields previously.
- We both settled on early mornings to study while managing our other lives (work/family) (5am).
- I don't have a post secondary degree. Brother does in unrelated field.
- Don't get hung up on "which language and ecosystem to learn". Pick one. Your work will ultimately dictate these things to you and you'll need to adapt. You can pick up a new language quickly.
- Get good a networking (people to people). If you can talk to people, you can get a job in tech.
- Find a mentor or a friend you can talk to about programming and computers. It's more fun and keeps you thinking about it.
- Open your editor every day. Even if you're just reading code for 10 minutes. It sucks coming back two days later and realizing that it's slipping.
- Be kind to yourself. This stuff is complicated.