Добрый день, хекслетчане и присматривающиеся к Хекслету! Расскажу о своём опыте становления программистом.
- Обучение в известной школе
- Работа над ошибками и встреча с Хекслетом
- Долгожданная работа программистом
- Советы новичкам
Сейчас мне 31 год, и я уже 7 месяцев тружусь на позиции инженер-программист (frontend-разработчик) в компании, занятой в сфере клинических испытаний. Из бэкграунда: один неудачный стартап по разработке мобильных приложений сразу после вуза и 5 лет в международной логистике.
Обучение в известной школе
Попытки стать программистом начал в далеком уже 2016 году. Тогда, пав жертвой маркетинга, приобрел дорогостоящий курс от известной школы для желающих в программисты от MailRu Group. Курс назывался «Программист Python», он обещал за 8 недель сделать из покупателя лакомый кусочек для IT-рекрутеров.
На деле курс оказался беглым обзором синтаксиса и технологий. Нам показали и как верстать «флоатлефтами», и как использовать for в Python, и даже как собрать страничку с авторизацией на Djang'e.
Разочарованию не было предела как у меня от полученных знаний, так и у тех, кому посчастливилось лицезреть меня на собеседовании.
Потыкавшись в десяток контор и попробовав реализовать небольшой pet-project, окончательно убедился в собственной недостаточной квалификации. В последующем это сильно мешало, на собеседованиях давал о себе знать приобретенный синдром дилетанта.
Работа над ошибками и встреча с Хекслетом
2019 год. Накануне своего юбилея решаю еще раз переосмыслить опыт предыдущего обучения. Понимаю: нужно повторить попытку. Выделил совершённые при прошлой попытке ошибки и попытался их проанализировать:
- Обучение параллельно с работой. Возможно, существуют люди, которые могут после рабочего дня с головой погрузиться в учебу и выполнить парочку домашек. Но я к ним точно не отношусь.
- Отсутствие наставника. Гуглинг — навык очень полезный, но когда вы начинаете с нуля, зачастую вы даже не знаете, что именно гуглить.
- Выбор направления. Мой первый выбор был импульсным. Он был сформирован усилиями маркетологов, а не трезвым анализом. На деле мне оказалось гораздо интереснее заниматься frontend-разработкой, так как она позволяет практически сразу видеть результаты своих трудов.
В начале весны обсудил планы на «второй заход» со своим другом. Он программист и по совместительству мой наставник. Друг порекомендовал попробовать освоить фронтенд, в частности, React, на Хекслете. Сказал, на Хекслете топят за правильные вещи, например, функциональщину :-)
В этот раз учёл ошибки и уволился с работы для того, чтобы полностью сосредоточиться на обучении.
Достаточно быстро втянулся в обучение, так как мне очень подошел формат: короткие теоретические блоки и сразу же практика для закрепления. Программа Хекслета, на мой взгляд, учит строить правильные абстракции при разработке. Однако есть и то, чего на мой взгляд все же не хватало в учебном процессе - часто встречающиеся кейсы и способы их решения. Так как получилось, что я вышел в большой мир мастером reduce и рекурсии, но без малейшего понимания того, как работает авторизация, например. Отдельное спасибо за то, что в практике включен линтер, он реально приучает к порядку в коде. И еще, он пригодился мне на первой стажировке :-)
Долгожданная работа программистом
С момента решения первой задачи в курсе до трудоустройства прошло 9 месяцев, так что я практически «родил» работу :-) Был на пяти собеседованиях. Чаще всего мне попадались вопросы про ООП и event loop. Так что советую запастись теоретическими знаниями в области композиции, наследования и тому подобное.
Выше писал про то, что линтер — это круто. Это правда. Первая стажировка, на которую попал, заключалась в том, что я месяц бесплатно линтил крупный проект на React под правила пакета eslint-config-airbnb. Мне выдали доступ в GitLab и попросили пролинтить все. Мой жизненный цикл в этой компании выглядел так: собеседование => линтинг => прощание. Результаты моей работы никак не валидировались, а реквесты просто принимались. После стажировки со мной попрощались. Не сказать, что это был самый полезный опыт, но он все же был, так что линтер — сила :-)
В компании? где я сейчас работаю, процесс отбора был на мой джуновский взгляд самым оптимальным. Будущий коллега прислал тестовое с задачей сделать ToDo SPA на React. Непосредственно на собеседовании мы обсудили применяемый в компании стек технологий, и что в рамках этого стека я уже могу делать, а что мне еще предстоит освоить. По результатам этого обсуждения сделали предложение, от которого я не смог отказаться :-)
Советы новичкам
Для тех кто только начинает путь, у меня есть не один, а сразу несколько тезисов-советов:
- Практика, практика и еще раз практика. Решайте все задачи в выбранном курсе.
- Не все стажировки одинаково полезны. Не стоит соглашаться на все подряд, узнайте хотя бы, есть ли программа стажировки, метрики оценки ее прохождения. Постарайтесь понять, нужен ли компании вообще сотрудник, или же это стажировка ради стажировки.
- Не бойтесь отказов. Воспринимайте собеседования как часть учебного процесса. Это тоже бесценный опыт. На рынке десятки компаний, которым нужны программисты, вы обязательно найдёте компанию, где ваши компетенции понадобятся.
Дерзайте!