Добрый день!
Да, конечно, без высшего образования (или без профильного высшего) можно стать хорошим специалистом, я знаю много подобных примеров.
Алгоритмы, безусловно, понимать надо, это как минимум облегчит изучения любых конкретных инструментов (языков программирования).
Дальнейшие варианты изучения зависят от конкретной выбранной вами сферы деятельности. Для какой области хотите писать код, какие задачи решать? Ответ на этот вопрос поможет выбрать вам первый язык для изучения.
Если пока сложно выбрать тему, то можно начать с одного из высокоуровневых языков со сравнительно низкой точкой входа (тот же Python), это позволит быстро понять на сколько вам вообще это все нравится.
В целом, все очень зависит от конкретной сферы. Например, для Data Science вам очень понадобится линейная алгебра, статистика и теорвер. Для веб-разработки – принципы работы сети, стек для веба, базы данных (которые понадобятся еще много где) и пр.
В любом случае рекомендую еще подтягивать английский язык, т.к. он позволит намного быстрее искать ответы на появляющиеся вопросы, работать с хорошими источниками и быстрее погружаться в любые темы в IT.