Все статьи | Истории успеха

Индиана Джонс: в поисках утраченного призвания

Индиана Джонс: в поисках утраченного призвания главное изображение

TL;DR

Простите, я честно пыталась сократить рассказ, но что-то не очень получилось) Надеюсь не заснете по пути. В конце истории несколько советов от Капитана Очевидности и парочка полезных ссылок.

Предыстория

Всем привет, меня зовут Аня, я латентный гуманитарий *хлоп хлоп хлоп*. Все школьные годы относительно легко справлялась с точными науками, но тяготела именно к гуманитарным, которые давались мне с трудом. И если бы в том возрасте мне сказали, что свою жизнь я свяжу с программированием, и что это занятие будет мне по душе — я бы сильно удивилась.

С компьютером в это время я не дружила от слова совсем. Уроки информатики в нашей школе проходили так: учитель находила в интернете код какой-то программы, распечатывала нам и заставляла посимвольно его перепечатывать. После чего мы «нажимали на зеленый треугольничек» и происходила магия! Перед нами появлялась какая-то анимация. Или не появлялась, в зависимости от того, насколько внимательно ты все перепечатываешь. Мы абсолютно не понимали, что и зачем делаем. Если у кого-то код не работал, на все вопросы у учителя был один ответ: «Значит неправильно перепечатал, посмотри внимательней». Самым сложным на уроке информатики было понять, как пишется слово label1, написанное моноширинным шрифтом — лэйбл один, лэйблл или лэйбелИ (да, с английским тоже все было очень плохо).

В старших классах школы остро стал вопрос о том, с какой профессией связать свою дальнейшую жизнь. Еле тлеющую мечту поступить на иняз, не подкрепленную никакими усилиями с моей стороны, затушил мамин энтузиазм по поводу того, что «все деньги в айти». Было решено, что я поступаю в технический вуз.

Несмотря на нулевой уровень подготовки в школе, ЕГЭ по информатике был успешно сдан, и оказалось, что программирование — очень увлекательное занятие, чем-то напоминающее столь любимое мной изучение иностранных языков. К сожалению, с выбором специальности я сильно ошиблась. Все, что мне принесло обучение в вузе — теперь уже ненужная корочка, несколько хороших друзей и неуверенность в себе и своих силах. Специальность «Защита информации», на которую я поступила, была лишь отдаленно связана с разработкой, и казалась неимоверно скучной. На единственной дисциплине, хоть как-то связанной с программированием, я впервые столкнулась с понятием «сексизм». Преподаватель искренне считал и прямым текстом говорил, что из женщин не получается хороших программистов, аргументируя свою позицию фразой «ну не дано». И если в первое время я как-то пыталась исправить его мнение о себе, то в конце семестра отчаялась и почти поверила, что действительно не дано. Следующие 5 лет я просто плыла по течению. От книг по специальности клонило в сон, а любая попытка переквалифицироваться в программиста сходила на нет. Мне казалось, что я свое упустила время и уже никогда не догоню сверстников. Куда уж мне в свои 24 тягаться с «19-летними Senior’ами», которые сразу знали, чего хотят от жизни :D

После защиты диплома я два года проработала по специальности. От работы тошнило, каждый день шла как на каторгу. Плакала перед, после, а иногда во время работы от постоянного хамства со стороны клиентов. Поняла, что при выборе профессии явно свернула не туда, и надо что-то менять. Жизнь одна, и тратить ее треть на нелюбимую работу — расточительство.

Учиться, учиться и еще раз учиться

Встал вопрос о том, где получить необходимые знания. От обилия образовательных ресурсов разбегались глаза. Записалась на изучение профессии «Фронтенд-разработчик» в одну из онлайн-школ, о чем потом сильно пожалела. Тебя как котенка просто бросают в пучину информации и оставляют с ней наедине. Ответ на свой вопрос от дипломного руководителя можно ждать неделю, но дедлайны никто не отменял. Жесткие сроки сдачи, небольшой временной промежуток между курсами, из-за которого ты толком не успеваешь переварить полученные знания, как в тебя уже впихивают новые. Совмещать с работой было практически нереально. Из четырех дипломных проектов я смогла защитить два, по оставшимся недоделанным не получила даже обратной связи. Снова охватило отчаяние и сомнения в собственных силах. Казалось, что просто выбросила довольно большие деньги на ветер. Спасением для меня стал «Хекслет».

Как-то в разговоре муж, он тоже программист, упомянул, что в их компании хотят брать на стажировку выпускников «Хекслета», так как там очень грамотный подход к обучению. И посоветовал мне тоже пройти там курсы. Отнеслась со скепсисом, но зарегистрировалась. И... Бесплатный курс «Введение в программирование» меня просто покорил. Я наконец по-настоящему поняла, как работает функция, что такое рекурсия и с чем ее едят. После бесплатного курса я не стала тянуть время, оплатила подписку и с головой погрузилась в профессию «Фронтенд JavaScript».

Материал подается кратко, но емко. Задания заставляют попотеть. Но когда самостоятельно доходишь до решения, испытываешь настоящую радость и прилив сил. Самый очевидный плюс Хекслета на мой взгляд — это отсутствие дедлайнов. Для работающего человека, который только задумывается сменить профессию, это очень важно. Нет ощущения, что тратишь кровно заработанные впустую, что все знания проходят мимо тебя, что все твои одногруппники все успевают и вообще умнички, одна ты ничего не понимаешь.

Самыми полезными для себя курсами считаю «Функции» и «Последовательности», так как в них освещаются вопросы, с которыми я безуспешно боролась на протяжении полугода.

Я абсолютно не понимала, зачем возвращать функцию из функции, что такое замыкание. Почему мы можем вернуть из функции только что-то одно, и почему после return не сработает другой return. Вроде очевидные вещи, но неподготовленного человека ставят в тупик.

«Хекслет», в отличие от курсов в стиле «стань крутым программистом за 30 секунд», не просто рассказывает как выполнить ту или иную задачу, но дает понимание, почему все работает именно так.

Я вполне могла запомнить, что вот есть такой метод map. Ну есть и есть. Но зачем он мне нужен, если у меня есть цикл for? Слабое понимание того, как внутри работает та или иная функция из коробки, заставляло меня городить огороды, писать непонятные и сложночитаемые циклы в циклах, которые в условиях, которые снова в циклах :) Но после самостоятельного написания map, filter и reduce в рамках курса «Последовательности», в голове все встало на свои места.

А еще я наконец-то пришла к пониманию всей прелести неизменяемости. Раньше я не понимала, зачем создавать много переменных, если я могу создать одну, а потом переписать ее значение. Ведь она же переменная :D Сейчас уже на автомате стараюсь использовать let по минимуму и в большинстве случаев обхожусь const.

Поиск работы

После нескольких месяцев интенсивной учебы пора было менять нелюбимую работу на любимую. Мысль об увольнении витала у меня с самого трудоустройства, но не было ни решимости, ни «подушки безопасности», чтобы поиск работы не был в стиле «лишь бы взяли хоть куда-нибудь». Спустя пол года обучения я накопила достаточно знаний и средств, которые позволят неспешно искать работу в течение трех месяцев. Чтобы не пойти на попятную, пришлось за месяц до увольнения оповестить начальство о том, что ухожу. В это же время я выложила на сайт для поиска работы свое резюме, не особо рассчитывая на профит и понимая, что с таким скудным багажом знаний искать будут не меня, а я.

К поиску работы я подошла основательно. Фриланс не рассматривала вообще: слишком мало уверенности в себе и в своих силах, а это работа для тех, кто точно уверен, что справится с задачей. Продуктовые команды тоже не рассматривала, так как думала, что они ищут исключительно скилловых ребят и с новичком возиться не будут. Оставался только один вариант — веб-студии. Сперва прошерстила список местных веб-студий, стажера никто не искал. Значит нужно искать удаленку.

Решила взять количеством. Нашла список веб-студий страны на каком-то сайте типа рейтинга рунета, по очереди заходила на их сайты в раздел вакансий и отмечала тех, кто ищет разработчиков, даже если я не подходила им по уровню. Планировалось, что после составления списка буду спамить всем «отобранным» студиям своим резюме в надежде на отклик. Так продолжалось до тех пор, пока не наткнулась на сайт одной из них, назовем ее студией А :) Там искали стажера на удаленку, навыки соответствовали моим. На сайте была отображена прозрачная система грейдов программистов, то есть сразу видно какими навыками нужно обладать и какие задачи выполнить, чтобы получить повышение. Обещали отличную документацию и систему наставничества для новичков. Не работа, а сказка. Я поняла, что хочу попасть именно туда.

Заполнила анкету и выслала ее на почту, указанную в контактах. Спустя неделю пришло лишь автоматическое письмо-отбивка, больше никакой реакции не было. Было странно не получить обратной связи, ведь они даже не проверили мои навыки. Списала это на огромный поток желающих. Раньше частенько читала статьи с советами по поиску работы, где говорилось, что лучше не доставать работодателя письмами с просьбами об обратной связи. Но желание получить работу в этой студии было сильнее боязни потерять лицо. Поэтому я нашла директора по кадрам в соцсетях и написала ей напрямую. На что получила ответ, что у них внезапно поменялись правила и теперь заявки рассматриваются только с тестовым. А тех, кто прислал просто анкету, они решили рассматривать в последнюю очередь. HR обещала скинуть тестовое в ближайшие пару дней, но спустя две недели я так ничего от нее не получила. В итоге на их сайте, который я просматривала ежедневно, в другом разделе появилось тестовое на грейд стажера. Необходимо было собрать сайт на их CMS. Решила не ждать ответа от HR и взяться за это задание. Навыков программирования для его выполнения иметь было почти не нужно, поэтому справилась я за несколько дней и больше времени потратила на подборку контента. Выслала свое тестовое, уже не особо рассчитывая на обратную связь. Тем временем, резюме мое пылилось на hh.ru и вяло набирало просмотры.

Первое собеседование

В то время, пока я ждала ответ на тестовое от студии А, мое резюме увидели в веб-студии из моего города, назовем ее студией Б. Студия Б сразу позвала на собеседование, не утруждая себя и меня тестовым заданием :) В течение всей недели до дня X я штудировала учебные материалы и возможные вопросы, встречающиеся на позиции Junior Frontend, решала задачки.

Готовилась практически зря. Само собеседование больше напоминало разговор по душам, а задачки мне дали совсем тривиальные: по распечатанному коду определить, какой CSS-селектор выше по приоритету и каким будет значение this. Предложение стажировки получила от студии Б на следующий день и дала свое согласие, так как обратной связи по тестовому от студии А так и не получила.

За пару дней до моего выхода на работу в студию Б студия А дала о себе знать и вынесла положительное решение по тестовому. Можно сказать, что студию А я взяла измором :) Встал вопрос, какую из компаний предпочесть. В итоге я выбрала удаленную работу. К сожалению, стажировка оказалась не такой радужной, как я себе представляла.

Первая работа

Знаете то чувство, когда чего-то очень сильно желаешь, всеми силами к этому стремишься, наконец достигаешь и разочаровываешься? Вот его я испытала на себе, наконец попав в «веб-студию мечты». Гайды и инструкции, которыми хвалились в описании стажировки, оказались для новичка непонятны. Планы на день по задачам на день было сложно выполнить, не задерживаясь после работы. Знания в области фронтенда, накопленные мной за обучение, оказались практически бесполезны, так как в компании не было такого понятия как фронтенд-разработчик, нужно было в срочном порядке учить PHP. Непонятные моменты по работе приходилось уточнять у мужа, работающего в другой компании, так как коллеги просто давали ссылку на инструкцию. Самые большие сложности возникали с разворачиванием проекта локально, сборкой и установкой пакетов. Эти моменты долго укладывались у меня в голове, от обилия гайдов с разной информацией просто теряешься. Чувствовала себя не стажером, который обучается, чтобы стать хорошим специалистом, а дешевой рабочей силой, которая уже по умолчанию должна все это уметь, но почему-то не умеет. Снова начала нервничать, что не успеваю выполнять план, не понимаю очевидных другим людям вещей, что снова нашла работу, не приносящую удовольствия.

Проработав так 2 месяца и совсем не почувствовав прогресса, решила, что пора искать что-то другое. Уволилась, взяла перерыв еще на месяц, снова вернулась на «Хекслет» и перепрошла курсы по профессии. Второй раз решение тех же задач спустя время давалось значительно легче и уже больше напоминало учительское.

Заключительная часть

С тех пор прошел ровно год. Ровно год я не «хожу на работу» в привычном понимании этого слова, а занимаюсь любимым делом в окружении прекрасных людей. Сейчас я младший фронтенд-разработчик в компании Ботмама, создающей конструктор чат-ботов. Теперь работа наконец-то приносит радость, а не воспринимается как неизбежное зло.

Работаю с библиотекой React, js-фреймворком Vue. Очень тяжело на стажировке давалось понимание Redux, но в этом мне помог разобраться курс на «Хекслете». Задачи на работе попадаются совершенно разноплановые: от банального перекрашивая кнопочек до написания собственных компонентов и рефакторинга легаси. Одна из самых интересных и сложных задач за последнее время — переезд проекта на 16 версию Реакта. Смогла довести до ума наработки другого разработчика. Считаю это своей маленькой победой :)

Недавно я решила вернуться на «Хекслет» и завершить прохождение профессии. До сих пор плаваю в асинхронности, в настройке окружения. Надеюсь восполнить свои пробелы. Да и в бэкенд было бы неплохо заглянуть :) В заключение хочу сказать большое спасибо команде «Хекслета». Я проштудировала большое количество обучающих материалов, но именно ваши курсы смогли разложить все по полочкам. А после прохождения практических заданий возникает чувство, что ты заслужил эти знания)) Всем будущим и настоящим студентам желаю успехов в изучении и осмелюсь дать несколько советов. Кому-то они могут показаться очевидными, но именно эти вещи я бы посоветовала себе 2 года назад, когда в очередной раз задумалась о смене профессии.

Несколько советов начинающим

  1. label1 - лэйбл один ;D
  2. Не думайте о том, что взялись за обучение слишком поздно. Главное начать, а дальше все пойдет как по маслу. Машину времени еще не изобрели, так что назад во времени вернуться уже в любом случае не получится. А чем больше вы откладываете первый шаг, тем сложнее будет начать в будущем. Тем временем девятнадцатилетние сеньоры не дремлют, а учатся :D
  3. Не зацикливайтесь на одном источнике информации. Если в одной статье объяснено не понятно, найдите вторую, третью, четвертую, в которых описано то же самое, но другими словами. Это поможет вам составить более полную картину.
  4. Давайте мозгу отдохнуть. Если случился затуп в какой-то задаче (а при обучении на «Хекслете» такое будет случаться часто) и ну никак не получается ее решить, просто отложите ее на пару часов и отвлекитесь на другое дело. Мозг все равно в фоновом режиме будет искать ответ на ваш вопрос, и озарение может прийти в совершенно неожиданный момент.
  5. Выложите свое резюме. За это вас никто не съест и не засмеет. Даже если вы не уверены в своих силах, даже если знаний совсем немного. Пусть в вялотекущем режиме набирает просмотры. А может вам повезет и ваш уровень будет достаточен для стажировки в какой-то компании. Ведь сколько бы вы ни шлифовали свои знания, самые полезные навыки получаешь именно во время работы.
  6. Не становитесь вечным учеником и не затягивайте с поиском работы. Всегда будет казаться, что знаний не хватает и что хорошо бы еще подучиться. Но ваши невероятные познания будут абсолютно бесполезны, если вы будете их только накапливать, но не применять. Как Кощей над златом чахнет. Не будьте Кощеем, не надо :)
  7. В резюме избегаем канцелярита. Стрессоустойчивостью и коммуникабельностью сейчас никого не удивить. А сухое перечисление технологий тоже не особо располагает к себе. Не все HR технически подкованы. Опишите свои скиллы так, как если бы рассказывали о них знакомому, далекому от технологий.
  8. Даже неудачное собеседование — это ценный опыт. Не справились с задачкой на собеседовании — решите ее дома. Запнулись на каком-то вопросе — придумайте на него красивый ответ, и в следующий раз не растеряетесь.
  9. Возвращайтесь к уже изученному. Через несколько месяцев после изучения какого-то материала пройдитесь по нему еще раз. Свежий взгляд на уже изученное помогает понять недопонятое и закрепить это в памяти.
  10. Не подглядывайте в решение учителя до того как сами выполните задание. Вообще. Даже если очень хочется. Даже если сил уже нет это решать. Заветные 100% в рейтинге будут вас мотивировать не срываться, и чем дальше будете проходить, тем сильнее будет мотивация. Если подглядеть решение, вы сможете его понять, но скорее всего не запомните. Если задачу решил сам, хоть криво и костыльно, то в дальнейшем сможешь это решение воспроизвести. А решение учителя поможет понять, как сделать код еще лучше и лаконичней.
  11. Если не получается какая-то задача, попробуйте расписать то, как она должна себя вести. Просто обычными словами. Это поможет структурировать информацию и прийти к верному решению. Кому как удобнее, я предпочитаю делать это в обычной тетрадке. Бумагомарание приводит мысли в порядок. Да и так приятно бывает вычеркнуть выполненный пункт.
  12. Сразу учитесь убирать за собой. Знаете, бывают такие моменты, когда поток мыслей идет, ты пишешь, пишешь код, думая, что исправишь все потом. Да, исправишь. Через пару месяцев, когда нужно будет вернуться к задаче :) И не поймешь, что и зачем написал. Учитесь поддерживать чистоту кода на ходу. Сэкономите себе и коллегам кучу времени.
  13. Не переставайте учиться даже после получения желаемой работы. Особенно после получения желаемой работы.
  14. Возвращайтесь периодически к старому коду. Как сказал один умный человек, если спустя пол года вам все еще нравится код, написанный в то время, то это дурной знак :D
  15. Решайте небольшие практические задачки, участвуйте в олимпиадах и конкурсах по программированию, коих на просторах интернета тьма. Помогает набить руку и находить неожиданные решения.
  16. Не перепрыгивайте через курсы. Даже если кажется, что вы в тупике и хочется уже поскорей перейти к следующему разделу, все равно разберитесь с текущей темой. На «Хекслете» все уроки взаимосвязаны? и если не разобраться досконально в одной теме, это потянет за собой целый ворох непонимания. Мне пришлось перескочить сразу через 10 уроков и приступить к курсам по React, так как на работе React нужно было знать «еще вчера». И прохождение этого курса мне далось очень нелегко и скорее всего не принесло столько пользы, сколько могло бы.
  17. Учите английский.

Полезные книги, статьи, ресурсы

  1. learn.javascript.ru - замечательный русскоязычный (и англоязычный) учебник. Много полезной инфы в сжатом виде. В конце почти каждой главы небольшие задачки. Старайтесь их решать, не подглядывая.
  2. Дэвид Флэнаган «JavaScript. Подробное руководство» — книга 2012 года. Стыд мне и позор, до конца ее пока что не дочитала, но множество полезных вещей из нее почерпнула. Поговаривают, что скоро выйдет 7 издание. Жду.
  3. Не хочу повторяться, просто зайдите сюда: рекомендуемые Хекслетом книги. Я пока читаю «Грокаем алгоритмы» и «Код. Тайный язык информатики». Отличные книги, очень подробно и понятно разъясняют довольно сложную для понимания информацию. Надеюсь когда-нибудь осилить весь список.

Какой фронтендер без знания верстки? От себя рекомендую:

  1. «Новая большая книга CSS» — Дэвид Макфарланд.
  2. webref.ru
  3. htmlacademy.ru — отличные интерактивные курсы по верстке.

React, Redux: https://maxfarseer.gitbooks.io/react-course-ru-v2/content/ https://maxfarseer.gitbooks.io/redux-course-ru-v2/content/ Отличные учебники. Они и курсы «Хекслета» помогли мне понять что к чему и не захлебнуться в потоке информации.

Аватар пользователя Анна Цуканова
Анна Цуканова 01 октября 2019
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
30 июня 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
30 июня 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
30 июня 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
30 июня 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
30 июня 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
30 июня 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
30 июня 5 месяцев