> деньги + нравится, почему бы и нет? денег много не бывает)
Для того что бы работая программистом зарабатывать более менее нормальные деньги нужно знать/уметь/иметь:
1) Высшее техническое образование (оно может быть не обязательным, но от многих проблем избавит).
2) Опыт работы с Linux на уровне младшего сисадмина. (администрирование, сетевое взаимодействие, настройка nginx/apache/uwsgi и т.п.).
3) DevOps на базовом уровне.
4) Опыт работы с СУБД. (как минимум написание SQL запросов, желательно опыт работы с NoSQL).
5) Отличное знание ООП+ФП.
6) Знание стандартных библиотек и опыт работы (2-3 года как минимум) с базовым ЯП.
7) Опыт работы со сторонними прикладными библиотеками (Django, Flask, PyQt и т.д.).
8) Понимание архитектурных подходов (SOLID и прочее).
Вот от этих требований и стоит отталкиваться.