Seu relato foi bem familiar, pois eu também sou formado em Psicologia em 2010, até fiz uma pós em Análise do Comportamento, mas larguei por burnout e por não ter uma perspectiva positiva do futuro profissional, fui para o mercado de bicicletas em 2012, depois criei uma startup de mecânicos de bikes com um sócio em 2016 e depois decidi ser programador para conseguir criar os meus próprios produtos em 2018.
Dá para ver que eu gosto de ser fazer coisas de diferentes áreas e é isso que me move na programação, ter a possibilidade de empreender, desbravar novas áreas, ter liberdade de mudar de empresa, cidade, país e se as coisas não derem certo, também ter a tranquilidade de que é possível recuar e trabalhar como funcionário dentro de uma empresa.
Vou falar que antes de tudo, você precisa colocar os pés na água, fazer um loop, criar um array e ficar frustrado com uma função que não responde como esperado. Depois você vai ter uma ideia melhor do caminho a ser seguido. A minha dica é fazer um curso online de introdução à programação, não precisa ser aquele que promete te transformar em um dev full stack ou nem nada muito extenso. Na minha época eu fiz os módulos da Khan Academy, que agora estão meio desatualizados, mas para você não importa, você vai ver como um programa funciona na prática:
https://www.khanacademy.org/computing/computer-programming
Eu também usei o Karel, the dog:
https://codehs.com/course/719/overview
Eu cheguei a mexer um pouco no Grasshopper do Google: https://grasshopper.app/
Depois de ter feito eles, você consegue se avaliar, ver se consegue ser autodidata, consegue lidar com as frustrações de programar e vai conseguir trabalhar nesse ritmo.
Se estiver animado em prosseguir, você pode fazer todos os cursos do CS50 (https://cs50.harvard.edu/x/2023/). Se conseguir completar todos por conta própria, você vai estar preparado para ser um programador, o resto é aumentar seu conhecimento e construir projetos.
Educação formal é necessária?
Pela minha experiência, existem empresas mais tradicionalistas que colocam o diploma como essencial, pois é cultura da empresa, a remuneração é baseada nos diplomas, todos os funcionários lá possuem diploma, o RH já te descarta automaticamente se não tiver diploma relacionado à programação, etc. Em outras, o diploma é um plus, mas não te desqualifica, mas você precisa mostrar serviço com projetos, entendimento dos princípios fundamentais, estar à vontade com as tecnologias pedidas. Muita gente pensa que programação é um obaoba que nem precisa de diploma e já dá para começar ganhando 10k, mas a realidade é que quem não tem diploma precisa ralar mais do que alguém que tem, pois precisa mostrar de diversas formas para o empregador que você é um programador de fato, tem a motivação e as qualidades técnicas, apesar de não ter feito um curso formal.
Eu sempre sinto uma pressão pelo fato de que estou competindo com pessoas formadas em Ciência da Computação em universidades fodas, de que tem pessoas que sabem muito mais do que eu, que programam desde os 5 anos de idade, que aos 28 anos já são Tech Leads em uma empresa unicórnio, mas esse é o famoso "Síndrome do Impostor" que todo programador vai passar ou já passou. Eu consigo canalizar essa ansiedade para estudar mais, praticar mais e consigo viver com isso, apesar de alguns percalços, mas parece que você já está sentindo essa ansiedade logo de cara. Vou te falar que a ansiedade não vai sumir, mas você pode deixar ela num canto e aprender a viver junto com ela. Talvez até usar ela como um motivador para ir cada vez mais longe.