Интернет всего
Очевидный ответ — Интернет, и советов по программированию более чем достаточно, большая часть из них бесплатна.

Существует множество ресурсов, в том числе бесплатные онлайн-курсы престижных университетов, таких как Стэнфорд, множество дешевых коротких курсов и программ, представляющих собой наборы небольших уроков, которые охватывают ряд навыков для различных специальностей программного обеспечения.

Разработчик или конструктор
Какой путь вы выберете, зависит от того, хотите ли вы создать конкретное приложение или развить навыки для определенного типа программирования или отрасли.

Траектория обучения для тех, кто хочет создать свой собственный магазин электронной коммерции, сильно отличается от тех, кто хочет стать финтех-программистом или программистом для IBM или веб-разработчиком для фрилансера или гуру.

Веб-мир
Я предполагаю, что вы заинтересованы в карьере разработчика программного обеспечения, а не в создании конкретного приложения, и в веб-разработке, а не в мобильных устройствах, прошивках, операционных системах, безопасности, сетевом программировании и т. д.

Снизу вверх
Без диплома колледжа вы начнете с малого через онлайн-брокеров, небольшие магазины кодов или предприятия.

Блестящий или кудрявый
В наши дни разработку внешнего интерфейса принято рассматривать как программирование, и в некоторых ролях может быть много сценариев. В этой области много работы, и это не так головокружительно, как разработка промежуточного программного обеспечения (бэкенда).

Требуемые навыки: html, CSS (таблицы стилей), некоторые платформы JavaScript (JS) и CSS, такие как LESS/SASS и React или Angular.js. Полезны графические навыки, особенно модификация и сжатие изображений.

Backend dev также требует немного html, CSS и JS, но ваша основная платформа будет что-то из PHP, Node.js, Python, C#.NET, Java и т. д. Вам также, вероятно, понадобятся некоторые навыки написания сценариев SQL или NoSQL (для работы с данными).

Равная заработная плата
Традиционно бэкенд-разработчику платили больше, но его обучение по-прежнему требует больше времени и является более важным для разработки приложений (поскольку вы можете случайно испортить данные, вывести из строя приложения и серверы и т. д., если не будете осторожны). ).

Но фронтенд-разработчик сокращает разрыв в заработной плате, и хороший быстрый разработчик FE может требовать такие же или более высокие деньги, особенно в доминирующей области внешнего интерфейса, такой как маркетинг или скинирование существующих приложений, скажем, платформа электронной коммерции или электронного обучения.

Какой маршрут вы предпочитаете, зависит от того, более ли вы более креативны или руководствуетесь логикой.

Проверка на практике
Огромным предостережением в программах «сделай сам» является самодисциплина.

Ресурсы доступны в Интернете, но сможете ли вы преодолеть все препятствия в одиночку, пройти любую необходимую сертификацию поставщика, создать демонстрационные сайты, чтобы у вас был рекламный ролик.

Накопите достаточно знаний в предметной области, чтобы пройти тест кода и пройти собеседование для своей первой работы на полную ставку.

Вы также должны иметь достаточно мелких заданий и навыков взлома, чтобы пережить первые недели отладки, исправления и модификации реального приложения.

Люди это делают, и они высоко ценятся, потому что ими не нужно управлять, но их не так много.

Смешанный режим
Учебные курсы и структурированные курсы могут обеспечить сроки и мотивацию для оценки
, но они обычно стоят, хотя и не обязательно столько же, сколько дипломный курс по компьютерным наукам (CS).

Надеюсь, это поможет.

Не стесняйтесь комментировать, как улучшить эту статью или задавать любые другие вопросы.