Посвящается моей дорогой жене, без которой проделать этот путь было бы на много сложнее.
TL;DR можно, но это ОЧЕНЬ много регулярной самостоятельной работы и это надо любить.
Предыстория или как я до этого докатился
До 2014 года я был успешным PL-RU переводчиком с отличной зарплатой и свободным графиком. Потом случился «крымваш», санкции и у меня два бизнеса накрылось тазиком и шерстью. Польшу залили украинцы и начали демпинговать рынок переводов, меня это не коснулось, тк я уже «сделал имя», но поднимать цены на письменные переводы стало сложнее, а устные переводы почти пропали как класс. В голове загорелась лампочка, что корабль скоро начнет тонуть и лучше на сей перформанс смотреть, будучи на берегу.
В 2016 я начал работать в техподдержке (с IT я всегда был рядом), начал с первой линии, а закончил в качестве тренера по софт и хард скиллз. В этот момент я понял две вещи: первое, что я достиг потолка в данной фирме, второе – я привязан к данной фирме и это ни разу не финансовая безопасность. Вот так я и дошел до момента истории с программированием.
Первые шаги в программировании
Я начал со Swift, потому что это было связано с моим работодателем. Сначала книги + Udemy и мой первый негативный опыт с онлайн школой из РФ, название которой заканчивается на «брэйнс». Я не знаю законов РФ, поэтому при негативе буду избегать полных названий, к слову про эту школу на пикабу уже много раз писали в негативном ключе.
К моему счастью, я получил курс свифта в подарок и это был ХУДШИЙ курс за мою историю обучения с 2017 года по сей день. Так как я сам связан с образованием, то могу оценить конкретно мне попавшегося преподавателя на 2/10. Из того, что я осилил с ними проделать, только преподаватель по алгоритмам отработал каждый рубль – умение объяснять, фидбэк, проверка ДЗ и личная культура на 9/10. Если вы хотите с умом потратить деньги, то есть площадки получше.
НУЛЕВАЯ ОШИБКА НОВИЧКА: планировать карьеру в IT без знания английского
Я продолжал работать в поддержке и учиться по вечерам, но тк платили мне очень хорошо, то запал то угасал, то разгорался.
ПЕРВАЯ ОШИБКА НОВИЧКА: учиться надо постоянно, теория без практики и постоянного
использования быстро вылетает из головы.
Свифт я доучил по книгам до уровня сделать базовую игру и программку аки «план дня», после чего его бросил, потому что не учел одной важной вещи:
ВТОРАЯ ОШИБКА НОВИЧКА: выбери язык программирования, который затребован в твоём городе, если не собираешься переезжать.
Тут я облажался – офферы для iOS-разработчика были в Варшаве, а я ну никак не хотел уезжать из Вроцлава. Поэтому я взялся за разум и посмотрел, что в моем городе популярно, оказалось, что Java и C#. Последний мне понравился больше. Что радует в программировании – при смене языка логика остается таже, только с нюансами.
ТРЕТЬЯ ОШИБКА НОВИЧКА: не экономь на качественном учебном материале.
Начал я с Udemy, потому что дешево.
Тут я научился писать говнокод, плохим практикам и работать через жопу, но об этом я узнал месяца через 3–4, когда взялся за обучение на нормальных ресурсах и по нормальным книгам.
Ноябрь 2018 года
Я выкупил на Black Friday годовую подписку на Pluralsight. Это были наиболее удачно потраченные 200 долларов. Кто-то скажет, что мог бы и на рутракере скачать, но это не мой метод, объясню позже. По моему мнению это лучшее место для C# и .Net – материалы обновляют довольно часто, учат не только заданной теме, но и важным мелочам. Учат писать код чисто, правильно и красиво, кроме того, довольно быстро отвечают на вопросы к курсу. Важный момент с этой платформой – видишь, сколько ты занимался, видишь своё развитие, можно сделать тест для проверки знаний (после того как на Pluralsight выбил 90% правильных ответов, без проблем прошел тест на LinkedIn)
Увы, но до мая 2019 года я постоянно наступал на грабли «первой ошибки новичка» - учился не регулярно, потому что, повторюсь, очень хорошая ЗП вообще не мотивирует поднимать свою жёпку с дивана.
Отступление
УЧЕБА ПОСЛЕ РАБОТЫ — это тяжело, но можно привыкнуть, как и чистить зубы по вечерам, приходилось учиться и по выходным, в праздничные дни, во время отпуска.
ПСИХОЛОГИЧЕСКИЕ КАЧЕЛИ – страшная штука, сидишь два дня над темой и никак не можешь её разгрызть и думаешь «какой же я тупой», потом перечитав 5-6 ресурсов наконец понимаешь тему и думаешь, «какой же я умный». НО, столкнувшись через пару дней с этим же вопросом и сделав его за 5 минут, в голове снова возникает, «какой же я тупой, что просидел 2 дня, чтобы понять такую фигню».
А теперь представьте себе, что вы на этих качелях сидите месяцами. Помогает спортзал – приходишь, включаешь что-нибудь тяжелое в наушниках и тягаешь железо, чтобы избавиться от накопившейся агрессии. Бонусом идут халявные гормоны счастья, улучшение здоровья и улучшение внешнего вида.
Также ОЧЕНЬ помогает поддержка близких, бывают моменты, когда неделю тупишь и уже не веришь в себя, меня постоянно поддерживала жена, но об этом позже.
Май 2019
Тут провидение Господне пожалело меня и грохнуло наш офис, а я стал почетным безработным с годовым «парашютом» в размере 67% от зп. Как вы понимаете мотивация заметно возросла, но и уровень стресса тоже.
Вот с этого момента я начал учиться серьезно – регулярно, каждый день и вообще без выходных, даже в субботу и воскресенье хоть пару часов, но сидел за компьютером.
Pluralsight, metanit (на русском, но годное), Рихтер, Адам Фриман в оригинале и куча других книг размером с библию и таким же содержанием. Читайте всё в оригинале, перевод иногда/часто искажает информацию и это ведет к проблемам.
Процесс обучения шел дико медленно, потому что чем больше ты учишься, тем больше ты понимаешь, что ничего не знаешь. Бывает так, что доходишь до момента, когда чтобы сделать шаг вперед, надо сначала сделать несколько шагов вбок, а потом выясняется, что вбок от этих вбок нужно сделать еще несколько раз. И вот так ненавязчиво тема, которая, казалось бы, на 3 дня, может затянуться на 3 недели.
ПЕТ ПРОЕКТ
Когда я насобирал кучу знаний, переделал огромное количество мелких задачек пришло время сделать свой проект, который бы объединил всё, что я освоил. И это заняло 3 месяца – одно дело куча мелких механизмов, другое дело собрать из них систему от A до Z, чтобы это работало и хоть как-то выглядело.
Март 2020
Я готов выйти на рынок труда, рассылаю первые CV через LinkedIn, но ковид ставит жирный крест на моих потугах. Предложения для джунов просто исчезли как на польском рынке, так и на немецком.
Дети дома, жена ведет занятия в университет из дома, мой кабинет перестал быть оазисом комфорта (одна комната в квартире под мой/наш кабинет, тк я всю жизнь только на удаленке работаю). Месяца 3 депрессии, не хочется учиться, забил на спортзал, закончился парашют и начал проедать «подушку», которой хватит примерно на год без работы. Что я сделал – засел за онлайн игрушки, внутренний стержень сломался, жена меня понимала и поддерживала, ждала пока я накоплю сил и снова встану на ноги, при этом она не переставала меня поддерживать.
В сентябре 2020 я пошел в школу немецкого языка для взрослых, собрался силами и продолжил параллельно учиться программированию, в октябре наклюнулась практика в Германии, пусть даже прозрачная надежда на фоне всего ковидного звиздеца выглядела как победа. В первых числах января практику подтвердили, сказали, что получу копейки (600 евро для Германии — это не деньги), ложка дегтя была в том, что практика в Java, а не C#, поэтому пришлось попрощаться со школой и круглосуточно сидеть в Джаве.
Начало практики в феврале, за два дня до практики у меня ковид в относительно легкой форме. Тк всё онлайн, то решаю не говорить о болезни шефу. В 9 утра «дэйли», перед ним душ, накачиваюсь кофе, улыбаюсь, говорю, что сделал вчера и планы на сегодня. После дэйли падаю в кровать, сплю час и сажусь за «таски» - задания. Когда я ничего не понимаю, снова в кровать отлежаться и за компьютер, и так 2 недели.
Все эти две недели жена занималась детьми, работала, ухаживала за мной + дом итд итп. Просто еще раз хочу подчеркнуть важность поддержки близкого человека.
На стаже я был 3 месяца и по факту не выходил из кабинета никуда кроме спать или в душ. Даже на Пасху я сидел в книгах и обучалках, я вцепился в шанс мертвой хваткой. В мае стаж закончился и по определенным личным причинам я не стал Джуном.
Во время стажа я начал учиться в JetBrains Academy. Это хорошие «брэйнз» :) Теория там изложена очень жестко и часто на руинглише (берем конструкцию сложноподчиненного предложения в русском языке и не меняя конструкцию переводим на английский). Часто понять задание на этом эльфийском занимало больше времени чем решение. НО, вся прелесть JetBrains Academy в том, что там есть минипроекты поделенные на этапы, которые нужно сделать самому. Решение этапа доступно только после того, как сам сделаешь, таким образом самостоятельно делаешь шаг за шагом. Завершил минипроект, залил на гитхаб, начал следующий и так раз за разом.
СТАЖ: сделайте его любой ценой, хоть бесплатно
После стажа мой профиль на LinkedIn начал интересовать рекрутеров, гитхаб начал наполняться моими проектами, я начал рассылать CV, иногда получать ответы или тестовые задания. Где-то отваливался на первых этапах интервью, где-то на финальных. В сентябре рекрутеры вернулись из отпусков и у меня шло 4 параллельных собеседования в топовые фирмы, после которых не было сил просто ни на что. Час-полтора на английском языке на разные технические и не очень темы, по телефону, в тимсах, тестовые задания, проверка мягких умений и по мелочам.
В двух фирмах я снова не прошел последний этап. Сначала это удручает, потом анализируешь и понимаешь, какие пробелы надо восполнить. Одна из фирм предложила офер, средний по рынку, но я был просто счастлив получить хоть что-нибудь. Дома всему не научишься, живой реальный проект — это совершенно другое. 28 сентября я подписал контракт, а 29 я получил предложение с 1,5х большей зп и более интересными перспективами, так что 30 числа я уволился и теперь жду 1 ноября – первый день работы.
Мне 37 лет, до пенсии еще 30, так что не стоит бояться менять профессию. В программирование не стоит идти только ради денег, это надо любить – ломать голову, искать решение, постоянно учиться. Вы сгорите быстрее, чем дойдете до хорошей зарплаты.