Привет! Меня зовут Юрий Бачевский, и это моя история успеха — как после 30 лет уйти в IT, имея ипотеку и маленького ребенка.
- Обо мне
- Жизнь до Хекслета
- Моя первая компания
- Как проходило интервью?
- С какими технологиями я сейчас работаю
- Как мне помог Хекслет?
- Совет для тех, кто только начинает путь новичка
Обо мне
Я — гуманитарий, но тема компьютеров меня интересовала сильно ещё со школьной скамьи. При этом свой первый комп я смог позволить уже учась в институте. Это было в те времена, когда даже про интернет говорили как про Лох-несское чудовище — его никто не видел, но считается, что он существует.
И с одной стороны — это было даже хорошо, отсутствие интернета подталкивало к тому, чтобы глубже размышлять о происходящих процессах. Внимательно читать справки и мануалы. Я даже помню, как проводил вечера за изучением справочной системы WinXP.
Ещё со школы у меня было стойкое убеждение, которое заложило близкое окружение, что программирование — не для меня. Тем более, по математике в школе у меня были тройки и четверки, тогда как программисты должны были учиться на пять с плюсом. Так мне все говорили, и я искренне в это верил.
Поэтому я решил, что я не программист. Но это не помешало мне стать специалистом по компьютерным программам — помню, как покупал компьютерные журналы, к которым прилагался CD/DVD диск с последними версиями программ. Я перечитывал их описание, устанавливал, проверял, а особо ценные — на мой взгляд — сохранял в отдельный каталог.
Жизнь до Хекслета
После университета я устроился горным инженером в проектный институт. Там начал работать в программе AutoCAD — ее справочная система до сих пор является для меня эталоном. Всего через три месяца работы я стал самым авторитетным специалистом в AutoCAD среди всего отдела — благодаря чтению справочных мануалов к программе.
Позже я узнал, что под капотом AutoCAD используется LISP. По большому счёту AutoCAD — это IDE для LISP, в программе есть возможность писать код во встроенной консоли и тут же видеть результат его выполнения. Через консоль также можно было творить настоящие чудеса — многие команды имели дополнительные опции, доступ к которым можно было получить только через консоль.
Мой уровень владения AutoCAD постоянно рос, но однажды я понял, что уперся в потолок — мне уже не хватало стандартных функций программы, чтобы реализовывать свои идеи. Нужно было переходить на следующий уровень — написание собственных скриптов на LISP. Помню даже, как скачал справочник по LISP, наивно полагая, что этого будет достаточно. Конечно, справочник был рассчитан на специалистов, и он не позволил найти ответы на волнующие меня вопросы. Да, я смог написать свой первый скрипт, но дальше дело не продвинулось.
Чуть позже на волне популярности смартфонов Nokia под управлением Symbian OS я узнал про существование Python, и что программы на нем можно легко запускать на смартфонах. Как и сейчас, уже тогда слухи утверждали, что Python — отличный язык для начинающих разработчиков. Я, конечно же, тоже решил попробовать себя на этом поприще и нашел книгу по синтаксису Python.
Чтение книги по Python очень быстро охладило мой пыл и даже оттолкнуло от изучения языка — она была рассчитана на опытных разработчиков. При этом я читал ее через интернет, который в те времена еще был очень дорогой — мне приходилось буквально считать скаченные килобайты. Поэтому для экономии я пользовался мобильной версией браузера Opera на компьютере, который запускался только через специальный эмулятор.
В итоге это меня оттолкнуло от программирования и на какое-то время я отложил тему изучения языков. А потом около 30 лет у меня случился кризис среднего возраста, и я понял, что жить так дальше я не хочу. Я начал серьезно изучать вопрос по переквалификации, проходить бесплатные курсы для начинающих разработчиков. Тогда же стало понятно, что веб- и мобильная разработка интересны мне больше всего.
В качестве первого языка программирования я выбрал Java, так как в те времена на Android писали именно на нем. Во время поиска разных курсов я наткнулся на курс на Хекслете — мне очень понравился формат, поэтому я быстро прошел бесплатную часть, а потом — остановился. Для меня тогда стоимость подписки была слишком высокой, поэтому на время я ушел из Хекслета.
Мой прогресс самообучения шел очень медленно. Разные ролики из интернета без практики давали ложное ощущение, что я всё понял и сам разобрался. Но уже через неделю-другую я не мог вспомнить большей части из того, что смотрел — мне не хватало системы. Я топтался на месте и понимал, что делаю что-то не так. В какой-то момент я решился на самый важный шаг, который изменил многое и ускорил моё движение к цели — я накопил финансовый буфер на полгода и начал посвящать обучению полноценные восемь часов в день. При этом дома у меня не было возможности заниматься, так как подрастал мой первый сын, поэтому я устроил домашний офис у бабушки. И с понедельника по пятницу с 8.00 до 18.00 я ездил к ней учиться.
Читайте также: Как сохранять фокус на протяжении всего обучения: советы от Хекслета
План был такой:
- Освоить верстку и устроиться верстальщиком
- Далее уже дорасти до веб-разработчика
- Перейти в мобильную разработку
А на самом деле всё получилось несколько иначе.
Моя первая компания
Первая компания, в которую я попал — местная веб-студия, у которой помимо внешних заказов были три собственных продукта — агрегатора по трем направлениям:
- Аренда жилья (проект, который я поддерживал)
- Туристические путешествия
- Стоматология
Все эти продукты работали на самописном фреймворке.
Сколько занял процесс поиска работы?
Первую работу я нашел через шесть месяцев после того, как начал активно изучать азы веб-разработки. При этом начал свой путь в веб-разработке я не с Хекслета.
Я нашел объявление о вакансии, где брали ребят без опыта работы, но при условии, что они пройдут внутреннее обучение и сделают финальный проект — в нем нужно было применить все полученные знания на практике. Срок прохождения индивидуальный и зависел от начальных знаний, а также от количества времени, которое готов был уделять претендент.
В описании программы были указаны несколько технологий, которые нужно знать, при этом глубина знаний не называлась. Так как в компании готовили только фуллслтек-разработчиков, то начиналось всё с верстки. К тому времени я уже знал про HTML-Академию, потому что проходил их бесплатные уроки. Поэтому первым делом отправился туда и взял подписку, чтобы получить полный доступ к закрытым урокам и испытаниям. В рамках обучения я сверстал два шаблона, и сделал это сразу по взрослому — с использованием Node.js, Pug.js и для CSS выбрал Stylus.
Когда я дошел до JS, то перешел на сайт Learn JavaScript, который указывался в нашей программе. Сайт довольно хороший, но обучение по нему мне не очень зашло, поэтому я снова начал перебирать школы и сервисы в поисках удобного и комфортного, пока не наткнулся на Хекслет.
Мне очень зашел курс «Жизнь программиста», уроки по JS и испытания. Помню, как я страдал, когда проходил уроки, в которых надо было создать свои функции из знаменитой троицы (filter
, map
, reduce
).
Путь от верстки до курсов по JS на Хекслете занял у меня пять месяцев. Когда я прошел все бесплатные уроки, сразу понял, что хочу продолжить обучение только тут. Я оплатил доступ и продолжил проходить курсы, когда наткнулся на вакансию без опыта в своём городе. Важный нюанс — там нужен был PHP-разработчик. Я не стал откликаться и ждать, пока мне ответят, а сразу позвонил и договорился о встрече. При этом резюме всё же попросили скинуть заранее.
Создайте свое первое резюме разработчика: На сервисе «Хекслет-Резюме» опытные HR-менеджеры и разработчики бесплатно помогут вам при составлении вашего первого резюме в IT
Я понял, что шансы попасть в компанию очень высоки сразу же после первого собеседования, где мы просто болтали с ребятами из компании. Я сразу начал проходить профессию по PHP на Хекслете, хотя и по условиям вакансии работодатель обещал всему обучить на месте под руководством опытного наставника.
В итоге я успел дойти до первого проекта, но купить его не решился — его цена для меня кусалась. Тогда я решил, что куплю отдельно проект, когда начну получать деньги за работу. Тем более, что я уже получил приглашение на прохождение испытательного срока, а он не оплачивался. При этом стажировка была максимально приближена к трудовым будням в офисе.
В рамках испытательного срока мне надо было самостоятельно написать свою версию Instagram. Да, это звучит страшновато, но на деле всё оказалось очень просто — нужно было создать список фотографий пользователя, а под каждым снимком отображать имена людей, которые подписаны. По клику по имени должен открыться список фотографий другого пользователя. И все — без верстки и дополнительных функций. При этом проект принимался только визуально, на сам код никто не смотрел, главное — чтобы все работало.
В этой компании я проработал 1,5 года. В один момент стало понятно, что я не ощущаю профессионального роста и работаю на самописном фреймворке, который во многих моментах оставался для меня магическим, потому что у нас не было для него документации. Все ответы были только у одно человека — тимлида, который был не очень разговорчивый и всегда очень занятым.
Во время первой волны коронавирусной инфекции часть людей сократили, я тоже попал под эту волну. Я не сильно расстроился — теперь у меня за плечами был реальный опыт разработки и я мог указать это в резюме. На следующий же день после увольнения я решил завершить свой курс по PHP. Сначала я повторил весь пройденный материал, а потом оплатил подписку и пошел дальше. За время, что я работал в компании, на Хекслете произошли большие перемены — проекты стали частью подписки, и я с большим удовольствием прошел первый проект. Проект хоть и довольно простой (но это уже на сегодняшний день), но он дал мне очень много в плане понимания архитектуры проектов — как они вообще создаются и почему именно с такими подходами.
В итоге уроки из профессии дали мне больше, чем 1,5 года в местной веб-студии.
Читайте и другие истории успеха: Как наконец-то почувствовать себя на своём месте, или максимально подробный путь становления PHP-разработчиком
Курсы на Хекслете структурировали мои знания и разложили их по полочкам, познакомили с современными фреймворками и дополнительными инструментами. После прохождения курсов я достаточно долго использовал курс по основам Git в качестве своей основной шпаргалки. Кроме того, во время прохождения профессии я активно откликался на вакансии. Переписывал резюме несколько раз, благодаря советам и рекомендациям на Хекслете.
И вот в одну неделю у меня случилось сразу два собеседования по Skype. В итоге я сидел и выбирал, в какую из этих компаний мне пойти. Работать удалённо, либо раз в месяц приезжать в офис в соседний город. И я выбрал удалёнку.
Как проходило интервью?
Интервью проходило голосом по Skype. Спрашивали в основном:
- ООП
- Как я понимаю интерфейсы
- Что такое индекс в БД и зачем он нужен
- Что такое GIT и как я понимаю, что такое ветка
- На сколько хорошо я слежу за PHP — как он меняется в последнее время и в какую сторону идет
- Читаю ли я книги и какую из последних книг я бы мог порекомендовать — и почему
- Какие шаблоны мне известны, какие из них я применял на практике
Еще там были вопросы, на которые я не смог сразу же ответить, и озарение пришло уже после собеседования. В итоге я ответы расписал письменно и отправил на почту на следующий день. Достаточно быстро мне предложили пройти у них испытательный срок, после которого я попал в команду в штат. Тестового задания на этой работе не было.
С какими технологиями я сейчас работаю
- Docker
- GraphQL
- экосистема Symfony
- Git, Gitlab
Как мне помог Хекслет?
- Помог выработать подходы к решению задач, которые вообще непонятно как решаются
- Научил пользоваться поиском
- Научил читать доку и не бояться смотреть чужой код
- Научил не бояться выглядеть глупо, когда обращаешься к коллегам за советом
- И самое главное — научил не сдаваться в поиске решений
- А дружелюбное сообщество вообще заслуживает отдельной статьи! Хотя я долго не решался начать туда писать, а зря
Совет для тех, кто только начинает путь новичка
Расскажу такую историю. Когда я работал в первой компании, то при мне взяли двух студентов на стажировку. Один из них так сильно стеснялся задавать вопросы, что его в итоге не взяли. При этом у него были абсолютно все шансы, чтобы пройти.
Когда решая задачу я захожу в тупик, я засекаю таймер и 30-40 минут ищу решение. Если за это время я не смог продвинуться, иду к более опытному товарищу с вопросом. На эту тему есть прекрасная статья от Кирилла — рекомендую внимательно прочитать и применять на практике.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях