Вижу в свежем много тем как от начинающих, так и от разочаровавшихся в процессе. Попробую этим постом натолкнуть на мысли, которые почему-то не очевидны для новичков.
Курсы
Об этом многие пишут что курсы не нужны, что все материалы есть в общем доступе итд. Только редко кто дает альтернативу курсам.
Курс это не только общеизвестные знания, но и программа обучения, подсказки преподавателя, помощь от других учащихся и дисциплина в виде выделения времени.
Вот альтернатива:
Заходишь на hh , настраиваешь поиск своей желаемой работы и просматриваешь глазами порядка 100 вакансий. В процессе просмотра выписываешь в эксель из каждой вакансии технологические требования, если они где-то совпали - ставишь +1 на эту технологию.
В итоге получается список который можно отсортировать по количеству совпадений. Верхние 5-10 технологий будут обязательным минимумом, а хвост из 100-200 редко встречающихся будет предостережением о том какие вещи осваивать пока не нужно.
Затем несколько часов или дней на просмотр обзорных видео по нужным технологиям и ты выстроишь их в порядке применения, в порядке обучения, примерно поймешь что ожидает работодатель. Причем это будет самый актуальный список.
Это даст верхний уровень программы обучения, дальше искать материалы будет проще.
Помощь преподавателя заменят тематические форумы и гугл (с ними потом всё равно работать всегда)
Дисциплину обучения себе нужно создать самостоятельно.
Ожидания работодателя.
Вопреки бытующему среди новичков мнению, работодатель не ожидает от тебя программирования. Ему плевать умеешь ты сортировать массивы, переставлять переменные итд. Работодатель нуждается в решении проблем. Программист, даже самый начинающий, должен понимать какую проблему он будет решать. За что конкретно ему должны платить. Никто не платит за циклы с условиями. Никто не платит за страницы кода. Как правило на реальной работе сам процесс кодирования занимает небольшую часть работы, а в некоторых случаях вообще отсутствует.
Поставь себя на место работодателя, за что ты платишь деньги? Рассмотрение работы программиста под этим углом поможет увидеть пробелы в образовании, даст идеи для пет.проектов, позволит удержаться при прохождении испытательного срока.
Первая работа.
Насколько востребованы хорошие программисты, настолько же не нужны начинающие. Сотни откликов на одну вакансию. Сотни обращений в разные места без ответа. Тебя даже на собеседование не позовут, чтобы там опозорить. Просто тишина в ответ. Нужно это понимать и быть к этому готовым. Шанс найти работу есть у тех кто имеет опыт работы. Замкнутый круг.
Но не совсем. Лазейки есть.
Можно обратиться к программистам своей организации, можно получить задачи, место стажера, сверхурочную работу. Тебя на hh отсеивают не программисты, а кадровики.
Можно зайти со смежной отрасли. Ручное тестирование или техподдержка близки к программистам, а дальше активно переползать к ним.
Нетворкинг работает. Если есть уверенность в знаниях, знакомый программист может протащить через кадровичный фильтр на собеседование напрямую.
Можно писать пет.проекты, участвовать в опенсорсе, пытаться брать задачи с фриланса. А потом в резюме включать эту деятельность как опыт работы.
Многие инфоцыгане обещают трудоустройство. А по факту напишут тебе резюме и разошлют в кадровые агентства. Ответа не будет, как и трудоустройства. Следует очень внимательно читать детали таких обещаний.