/
Блог Хекслета
/
Дневник студента
/

"~Бэкенд~Фронтенд разработчик" - первая кровь

"~Бэкенд~Фронтенд разработчик" - первая кровь

9 апреля 2019 г.
2 минуты
8
"~Бэкенд~Фронтенд разработчик" - первая кровь

Привет, мир, привет, Хекслет!

Содержание

Подготовка

Примерно в середине января этого года, когда я прошёл половину курсов по профессии «Бэкенд Node.js», у меня появилась уверенность, что я уже всё умею и могу. Казалось: даже если чего-то не знаю, то быстро разберусь.

На hh оставалось множество непонятных слов в вакансиях — webpack, sass и другие. Но после курсов на Хекслете я понимал: зачастую в этих инструментах сложнее название, чем сама суть. Поэтому я начал массово рассылать резюме, даже на вакансии, где явно не соответствовал. Как и ожидалось: половина не ответила, остальные отказали. Но некоторые прислали тестовые задания — и тут я понимал, что не знаю, с чего начать. Вежливо отвечал работодателям, что пока не обладаю нужными навыками.

За неделю я отправил около 100 откликов: 5% прислали тестовое, остальные молчали или отказали. Тогда я вспомнил про SuperJob. Открыл резюме трёхлетней давности, посмеялся, обновил информацию и тоже начал откликаться. На следующий день получил приглашение на собеседование по вакансии веб-разработчика.

«Клюет»

Компания занималась продуктами на основе RFID-технологий. На интервью меня встречали руководитель разработки и ведущий веб-разработчик. Я предупредил, что это моё первое собеседование и я волнуюсь.

Первый вопрос был про массив: «Как в отсортированном массиве найти индекс искомого элемента самым эффективным способом?» — и тут мне помогла книга «Грокаем алгоритмы», где одним из первых описан бинарный поиск.

Дальше была задача с девятью шарами, аптекарскими весами и поиском более тяжёлого за две итерации. Потом — функции «Палиндром» и «Reverse». Я описал решения, в том числе рекурсивное. Интервьюеры переглянулись и сказали, что знания у меня «не на самом низшем уровне». Для меня это было победой.

Тестовый запуск

Через неделю я получил оффер: стажёрская зарплата на два месяца с последующим повышением.

7 февраля я начал испытательный срок — и оказался фронтендером. Первые дни были тяжёлыми: я не понимал, что нужно делать. Помог старый друг — мы созвонились, накидали каркас решения, и я начал вникать. Работать приходилось медленно: не знал про обработчики событий, flex, не умел инициировать проект. Через месяц стало лучше: я разобрался со сборщиком Gulp, с Git, понял их практическое значение.

Потом дали задание сделать веб-интерфейс на внутреннем фреймворке. Он использовался только в этой компании, React и другие мейнстримы там не признавали. Это замедлило меня и поставило перед выбором: стоит ли продолжать. Но я понял, что пока рано судить о выборе инструментов — важнее расти как программист.

К концу второго месяца я продвинулся, снова начал проходить курсы и читать книги. Руководитель сказал, что я «готов к реальности».

Открытый космос

Сейчас я остановился в середине курса по асинхронному программированию и понимаю, что эти знания пригодятся в работе. Прочитал «Программист-прагматик», начал «Linux. Системное программирование» Роберта Лава.

Как помог Хекслет:

  • Неявная подача информации. Чтобы понять материал, приходилось гуглить и искать. Это очень похоже на рабочие задачи.
  • Решение учителя. После своих 20 строк открываешь пример — и там 2 строки. Это заставляет мыслить и сокращать код.
  • Тесты. Автоматические пока не пишу, но проверяю вручную, что помогает избегать ошибок.

Советы новичкам

  1. Учитесь решать элементарные задачи. Даже если не видите практического применения, они пригодятся на собеседованиях.
  2. Всегда спрашивайте себя и коллег: оптимально ли это решение? Почти всегда можно сделать короче и лучше.
  3. Депрессия и апатия при получении нового задания — это нормально. Главное — начать с маленькой части, пусть хоть что-то заработает. Дальше всё идёт быстрее.

Заключение

Когда появится новая интересная тема, я обязательно продолжу блог. Всем успехов на работе! 🚀

Александр Кулаков

7 лет назад

8