С осознания того, что подход к процессу должен быть системным. То есть нужно ответить себе на вопросы:
- Какие программы? (системный софт, десктопный, для мобильных, игры, для интернет…, для какой операционной системы… — список можно продолжать, отдельная тема когда хочется стать «универсалом» и делать все сразу…)
- На каком профессиональном уровне писать? (писать «для себя», писать «для общества», заниматься разработкой - а это, поверьте, разные вещи…)
- Что вы хотите получить в итоге? (новая работа, старая работа с новой зарплатой, почет у уважение у коллег, хобби, решение других проблем…)
а дальше решать, что нужно сделать и в какой последовательности …
Например:
Вы хотите писать игры - а это значит, что нужно определиться со специализацией, понять как этот процесс работает, определиться с командой, с языком, со сценарием…, …, …, … — все это очень сложно и под силу очень серьезным командам…
Чудес не бывает и нужно понимать куда и для чего вы пытаетесь идти!
только в этом случае у вас что-то получится и вы не разочаруетесь и не бросите все на половине пути.
Поэтому:
Вам нужно понять что и на каком языке писать, и что для этого нужно… И изучать целенаправленно именно то, что максимально соответствует нарисованному вами в голове результату.
Снова пример: если перед вами стоят чисто практические задачи - начните с какого-то из скриптовых языков, например python - на нем можно автоматизировать любой процесс… и в любой операционной системе… (не буду создавать иллюзию «всемогущества» — у языка есть свои ограничения и ряд задач вы на нем решить не сможете).
Не верьте «специалистам» когда вам говорят, что выучив один язык вы сможете решать ЛЮБЫЕ задачи — это не так. Рано или поздно придется учить другой… потом третий… пятый… )))
Выбор языка ВСЕГДА должен быть взвешенным и ПОЛНОСТЬЮ соответствовать решаемым задачам… чудес все-таки не бывает…
А так — все в ваших руках…
Если речь идет о профессиональной разработке - тут знания языков мало… тут важно знать процесс, технологию, специальные инструменты для работы в команде, специальные инструменты разработки… поэтому вам скорее всего придется учиться этому где-то «как профессии» (курсы например), хотя бы до уровня джуна́… а потом искать работу, для обретения практики и изучения процесса изнутри. И поверьте: вас возьмут!…
IT сообщество наверное самое демократичное профессиональное сообщество из всех... если бы это было не так - вы бы не читали сейчас этот пост ))) И вот только когда вы узнаете этот процесс изнутри и станете более-менее понимать как это работает вы сможете набрать свою команду и писать программы сама... извините если разочаровал…
В написании программ есть и другой путь — в случае, если вам интересен софт как «детище». Это продакт, руководство проектами и создание стартапов… В этом случае вам сюда… Но учиться придется уже совсем другому…