УХ и давно же я собирался написать этот пост, но окончательно созрел только сейчас. Полагаю, что сейчас эта тема как никогда актуальна, и среди читателей Пикабу наверняка есть люди, кто хочет/задумывается/пытается "уйти в айти" но сомневается по тому или иному поводу. Итак мой личный опыт.
Кратко фабула. Дано - я, на тот момент 27летний юрист с 7летним стажем, имею определенный уровень состоятельности как спец и хороший заработок. Первая тройка в универе - по информатике, цифры не люблю, программирование представляется мне как нечто очень далекое.
У меня давно копились вопросы к моей профессии, но в какой-то момент я выхватил жуткий депрес по поводу, который продлился порядка месяца и закончился окончательным решением - на накопившиеся вопросы ответить не могу, пора уходить и не возвращаться. Главными критериями к выбору профессии новой были: актуальность, международность (чтобы навыки я мог продавать одинаково успешно как в России так и за рубежом) и невмешательство третих сторон на итоговый результат твоей работы. Если перефразировать - в юриспруде очень дизморалило то, что ты можешь хорошо отработать суд, быть красавчиком, но на итоговый результат этого суда могут повлиять некоторые другие факторы.
Итак, программирование вписывалось в заданные критерии как нельзя лучше, и в декабре 2020 я написал свой первый print("Hello world") (начал писать код, грубо говоря). По состоянию на сейчас, я пол года как работаю программистом, зарабатываю этим деньги и шлю себе лучи добра в 2020 за принятое решение. Будь сейчас я юристом по российскому праву, вероятно сейчас я чувствовал бы себя более ограниченно и неопределенно.
Ниже я постараюсь ответить на самые популярные вопросы по этому поводу. На эти вопросы я искал ответы перед решением о смене профессии:
1) А реально ли вообще стать программистом с нуля, не имея никаких знаний в этой сфере?
Да, реально. Будет сложно? Да, будет сложно. Придется много учить? Да, придется много учить. Но, это реально. Напоминаю свою фабулу - первый трояк в универе по информатике:)
2) А сколько времени на это понадобится?
На то, чтобы стать программистом может и жизни не хватить:) Лучше сформулировать так - сколько времени займет от начала обучения до достижения уровня, когда можно искать работу?
Могу сказать лишь примерно. Все зависит от уровня восприимчивости к материалу. Точно одно - пары месяцев по пару часов вечерком будет недостаточно. Большинство мнений на этот счет - от полу-года при условии, что в неделю на обучение тратится +- 25 часов. Личный опыт - от первой строчки кода до первого успешно пройденного собеседования - 10 месяцев, из которых 5 я не работал и имел возможность тратить на обучение и 8 и 10 часов в день. Я бы соврал, если бы сказал, что все эти 10 месяцев я с утра до ночи не смыкая глаз писал код, читал код итд, но это, конечно не так. Но если усреднить - 30 часов в неделю на это тратилось.
3) Можно ли научиться самому, или стоит отнести денег в кассу онлайн курсов?
Личный опыт - я отнес денег за онлайн курс на площадку (чтобы не сочили рекламой назовем ее) НавыкФабрика. Но до сих пор я не могу понять, хорошее ли это решение было. Дело в том, что АБСОЛЮТНО все знания, что я получил на этом курсе, есть в открытом доступе. Эти знания не уникальны, не созданы этими площадками с нуля. Более того, их интерпретация этих знаний далеко не идеальна - она не подается как то особенно клево что тебе ее легче воспринимать. Так же на моем крусе было ОЧЕНЬ много технических косяков, когда я такой - "лол серьезно? вы это продаете за деньги, мать вашу!!!!" (например смотришь какой то видос, а там лектор запинается в простейших словах, вздыхает в микрофон, тупит в паузах итд, + куча грамматических ошибок в материалах) - это как минимум странно. Из безусловных плюсов приобретения курса:
- структурированность. Материал подается не сумбурно а по плану, в моем случае по плану не дурному. Это защитит вас от сумбурного хватания знаний по чуть-чуть оттуда и отсюда.
- наличие менторов и чата. Тут не все так радужно - менторы могут быть с нулевой мотивацией (как в моем случае). вопросы могут либо игнорировать, либо отвечать так, что лучше бы не отвечали, "на отвали". Формально вроде бы и ответили, но легче не стало. Мне повезло, мой лучший друг - опытный программист. Сложно переоценить, как сильно он мне помог в обучении. Если у вас есть такие друзья - это будет куда лучшей помощью, чем менторы. Только не забудьте их потом отблагодарить.
Что касается чатов - в моем случае был мертвый чат, туда никто ничего не писал и ничего не обсуждал. Но я знаю, что это не всегда так. Есть площадки и курсы, где чат оживленный и в нем обсуждается много полезного.
- самый неочевидный плюс, но чуть ли не самый полезный. В моменты, когда вам захочется послать все к чертям ( а такие будут, будьте уверены) вас будет удерживать тот факт, что вы отнесли кучу денег за этот чертов курс:)
4) Как выбрать язык программирования? На чем писать-то?
Без понятия:) Я не выбирал, язык сам меня выбрал. Я просто всегда пользовался яблочной техникой, так что решил писать ПО для яблочной техники. Но если вы прям сомневаетесь - по-гуглите, полно статей на эту тему.
5) А как же я без профильного образования? Не уж то работодателю не плевать на диплом?
Как мне показалось, в большинстве случаев работодателям плевать, есть ли у вас профильное или нет. Работодателям важен навык и знания, а не где вы их получили. Если вы полистаете резюме на условном ххру, где-то 1 из 10 объявлений будет с требованием профильного высшего. Кратко резюмируя - у меня были неудачные собеседования, но они были провалены не из-за факта отсутствия у меня профильного высшего.
6) Что реально может сильно помешать учебе?
Незнание английского. Знать английский язык - очень важно хотя бы на простеньком уровне. Вся исходная документация к языкам написана на английском, сам код пишется на английском, а в самом коде все названия говорят сами за себя, но говорят на английском языке, который вы должны понимать. Если вы не знаете английский язык - умножайте все сложности обучения на 3.
7) Что по твоему опыту было самое сложное во всем этом мероприятии?
Пожалуй найти первую работу и продержаться первый испытательный. Найти первую работу очевидно сложно в любом деле. Каждый, кто учился в универе, а после приходил на первое место работы знает, как сильно отличается то, что ты учил от того, чем тебе приходится заниматься на работе. А первые пару месяцев боевого опыта для меня лично было огромным стрессом. Потом стало по-проще.
Плюс, вы должны понимать, что как бы там вам не лили в уши площадки обучения, что ваше резюме сразу после обучения будет выглядеть так: "хочу 100к рублей, меньше даже не предлагать", а в очередь к вам выстроится Яндекс, Сбер и Майкрософт собственной персоной, даже если вы были очень прилежным учеником, ваша первая ЗП во-первых будет ниже, во-вторых - первые 2-3 зарплаты можно сказать вам подарят, потому что первое время хлопот своему работодателю будете доставлять больше, чем реальной пользы.
Но есть чем обрадовать - в первый год хороший спец может очень быстро вырасти. И через год и ваше положение на рынке и зарплатные ожидания очень сильно поменяются в лучшую сторону.
8) Итак, я я выучился и нашел первую работу - все, можно расслабиться?
Ни в коем случае. Безумно важно даже после нахождения первой работы продолжать учиться и приобретать навыки уже самостоятельно. Иначе вы увязните на уровне интерна и никуда не двинетесь. Самообразование - важнейший навык для программиста, материала и технологий необходимых к освоению очень много, сами собой они не выучатся.
На этом пожалуй все. Если будут вопросы по поводу - постараюсь ответить в комментах. Дерзайте, и все у вас получится!:)
За грамматические ошибки не пинать, в отличии от моего курса, этот пост бесплатный.