{"id":14279,"url":"\/distributions\/14279\/click?bit=1&hash=4408d97a995353c62a7353088166cda4ded361bf29df096e086ea0bbb9c1b2fc","title":"\u0427\u0442\u043e \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0435: \u0432\u044b\u0435\u0445\u0430\u0442\u044c \u043f\u043e\u0437\u0436\u0435 \u0438\u043b\u0438 \u0437\u0430\u0435\u0445\u0430\u0442\u044c \u0440\u0430\u043d\u044c\u0448\u0435?","buttonText":"","imageUuid":""}

Прыжок в пустоту: как я бросила работу, чтобы стать фронтенд-разработчиком, не зная чем это обернется

Меня зовут Екатерина, мне 32 года. А за спиной было девять лет работы на одном предприятии, преимущественно бухгалтером, образование экономиста-менеджера и полное непонимание что делать со своей профессиональной жизнью.

Спойлер: это не история про мечту, превозмогание и достижения. Она во многом про рациональность и правильный выбор.

Честно про обучение фронтенд-разработке, стажировку с реально сложными задачами и искреннюю радость от первого реализованного проекта.

Как у многих, все началось с выгорания

После 9 лет однотипной работы я устала от изменений ради изменений, огромного количества регламентных бумаг, и постоянного ощущения, что в эту профессию я попала случайно.

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

У программирования было важное отличие от других специальностей — я понимала в чем состоит конечный продукт этой деятельности.

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

Просто берешь и делаешь

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

Хочу сразу отметить — я не пример таланта или невероятной силы воли. Самый большой ресурс, который у меня был в отличие от многих других учеников — это время. Время и дисциплинированность.

На первом проекте была паника, когда сталкивалась с большим количеством совершенно незнакомых понятий и необходимостью осваивать документацию.

Где-то на третьем проекте был фронтенд, и паника все еще осталась.

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

«Просто берешь и делаешь» — кажется, этот призыв стал моим главным принципом.

Можно ли выгореть от учебы?

Но не все было так радужно. Можно ли выгореть от учебы, даже если не совмещаешь ее ни с чем? Можно. Это то что я в полной мере почувствовала под конец курса.

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

После верстки — курсы по написанию сервера на JS и по управлению базами данных.

Могу сказать, что из этого не самого простого периода в моей жизни больше всего мне запомнилась радость, когда в голове начинают складываться все составляющие приложения.

Возможность видеть картину в целом, пусть и на самом поверхностном уровне, — была для меня особым удовольствием.

Поиск работы оказался более изматывающим, чем учеба

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

Дело осложнялось тем, что я живу в небольшом сибирском городе с разницей во времени 4 часа с Москвой и к переезду была не готова — не все работодатели хотят иметь дело с таким сотрудником.

Накопленные средства, на которые я скромно жила месяцы учебы неумолимо стремились к концу, что также не способствовало бодрости духа.

После двух месяцев безуспешных поисков, я была готова сдаться и выйти на любую работу, какую предложат. И, скрепя сердце, выложила на HH.ru резюме бухгалтера. С программированием я не настроена была завязывать, но решила попробовать как-нибудь позже, еще подготовившись. Как тут один за другим поступили два предложения на собеседования. Одно из них было на позицию стажера в Kaiten.

Как я попала на свою первую стажировку — в Kaiten

Kaiten создает систему для управления процессами в компании. Виртуальные доски, карточки-задачи, возможность отслеживания всей разноплановой деятельности на одном пространстве. Профессиональный опыт подсказывал, что это мечта руководителей.

На собеседовании со мной общались двое представителей Kaiten, крайне дружелюбно и терпеливо, пока я косячила в элементарной логике и паниковала. А под конец они покорили меня, просто рассказав о своей работе, выстроенных процессах и об отношении к продукту, которым они сами пользуются каждый день.

Я решила, что я хочу с ними поработать, даже с учетом того что речь шла о стажировке, ограниченной по времени.

К слову, оффер в другую компанию я тоже получила, но решила остаться здесь:)

Что от меня требовалось на стажировке

В Kaiten была подготовлена подборка проектов для стажеров. Каждый из проектов — это небольшая фича, которая требовала плотного знакомства с продуктом и весомый итоговый результат.

В итоге вместе с наставником я выбрала в качестве проекта разработку нового импортера CSV/XLS файлов. Это был компромисс между чем-то интересным и не слишком сложным для новичка.

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

Моим наставником стал Ярослав Кошкарев, который проводил собеседование. Он обладал довольно большим запасом терпения.

Наша коммуникация велась по нескольким каналам:

  • Отслеживание моей задачи через Kaiten — все также как у разработчиков в штате.

  • Видео-созвоны — очень длительные первую неделю (на меня не жалели времени), после — по необходимости и для обсуждения рабочих моментов.

  • Код-ревью с подробным объяснением замечаний, если их причина была для меня не очевидна.
  • И постоянная поддержка в Слаке.

Мне понравилось, что кроме конкретных советов, мне объяснили, что из себя в целом представляет проект, как работают его части, как происходят процессы. Чтобы у меня в голове было понимание всей картины.

К слову, другие разработчики также очень быстро откликались в Слаке, отвечали на вопросы и оказывали помощь.

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

Оказалось, до программирование еще было далеко

Прежде чем начать писать код, нужно было понять, что писать — что мы хотим увидеть, чем пользователи захотят воспользоваться.

Честно сказать, я помню что меня охватила легкая паника, когда передо мной были поставлены первые задачи — аналитика и прототипирование.

Если с аналитикой предложений было более менее понятно, то с прототипами интерфейса было все непросто, потому что я совсем не визуальщик. Понимаю, для фронтендера звучит как приговор. Но где нет таланта — есть старание.

Самый первый вариант прототипа.

Прототипов было немало. Нужно было учесть все — от пользовательской психологии и поведения до разнообразных сценариев, с которыми могут прийти пользователи. А это означает работу с неконтролируемыми и непредсказуемыми данными.

Сценарии стали настоящим камнем преткновения. Как-только мой прототип отвечал одному требованию, Вячеслав, наш руководитель, описывал второе, третье, четвертое. Нужно было их сгруппировать, найти единое решение, а потом объединить в рамках одного прототипа.

Сценариев становится все больше.

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

Прототип, который в итоге лег в основу итогового варианта.

Теперь нужно было понять, как все это должно работать

Я поняла, как должен выглядеть импортер. А теперь нужно было определиться с тем, как он будет работать — составить сиквенс диаграмму процессов, происходящих внутри приложения. Это требовало понимания как в целом работает приложение, какие в нем есть части, как они разделяют ответственность.

Однозначно заявляю — без помощи наставника я бы сдалась на этом этапе.

Код рабочего приложения несравним с учебной программой (даже хорошей) и поначалу вызывает панику своими масштабами и сложностью.

И вот я добралась до своих первых строчек кода для коммерческого приложения. Ура!

Первая страничка для фронтенда была достаточно простая.

Сложности возникли с непосредственным парсингом файлов: отличие csv и xls, попытка найти единое решение для этих расширений, изучение документации, бесконечные пробы и отлавливание ошибок. Как только стало казаться, что очередная проблема решена — загружался новый файл, например, с неопробованной ранее кириллицей, — и все начиналось заново.

Наконец, этот этап работы был завершен — пришла пора первого деплоя!

На скриншотах с созвонов у меня максимально тяжелое и сосредоточенное выражение лица — пропустить или недопонять информацию было очень страшно.

Мама, я в телевизоре!

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

И вот, я увидела написанную мной страницу на проде — это один в один ощущение «мама, я в телевизоре»:) И так вышло, что первый деплой пришелся на мой день рождения. Теперь эта дата всегда со мной!

Привет, фронтенд — привет, косяки.

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

Этот фреймворк по-прежнему оставался моим слабым местом. Я честно призналась в этом наставнику и получила ответ, что это не критично, понимание придет с опытом.

Но опыт давался тяжело. Мое невежество в верстке и горы визуальных косяков (отступы, границы, размеры, странное расположение элементов) — максимум замечаний и правок.

Подходил к концу второй месяц практики, я стала уверена, что работу мне не предложат.

Было грустно, но проект я в любом случае была намерена довести до конца — мы с ним уже породнились.

Наконец, полноценная версия нового импортера была готова к первому релизу

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

В тот момент я четко поняла, почему программирование так часто называют магией — просто из букв, слов, строк кода создается нечто новое.

Именно на этом этапе, когда твой код находится на проде и ничего не ломает, захотелось, чтобы им пользовались, чтобы люди его оценили и принесли фидбек. Стало бы понятно, что твоя работа кому-то принесла пользу.

И я благодарна Вячеславу, нашему руководителю, за то что он отслеживает и приносит фидбэк нам — удобна ли новая функция для пользователей, нужно ли что-то изменить. Это воодушевляет.

Готовый мастер импорта файлов в Kaiten. Теперь с помощью него можно удобно загружать данные из других таск-трекеров с помощью CSV и XLS таблиц.

Срок моей стажировки подходил к концу — готова была прощаться

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

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

Поэтому, получив оффер, я была очень удивлена. И от неожиданности засомневалась еще больше — смогу ли я справиться? Ведь это уже не стажировка.

Но потом я взяла себя в руки — прошло достаточно времени, чтобы команда смогла объективно оценить мой уровень и вынести решение. А я успела проникнуться Кайтеном и понять, что тогда на собеседовании я не зря выбрала эту компанию.

Оффер был принят.

Это не история про мечту. Это история про рациональность

Решиться попробовать новую профессию можно даже после очередной лекции Аси Казанцевой, где говорится: «Самое главное что нужно понять — обучение физически меняет мозг».

Даже если очень стыдно выглядеть незнающим и задавать глупые вопросы — надо как-то взять себя в руки и задать их. Иначе можно так и остаться стоять на месте. Я пока и сама продолжаю с этим бороться.

Ну и конечно есть элемент удачи — невозможно на все повлиять. Мне повезло — в моем случае все совпало, и я теперь имею возможность заниматься комфортной и интересной деятельностью, работать с классными людьми в отличной компании.

0
305 комментариев
Написать комментарий...
Кемаль

Кажется натыкался на эту же статью на Хабре и она вызвала много хейта. Ну в целом изи, очередная айтишница, вопрос получится ли прыгнуть выше простых задач с табличками, удалением и дерганием get запросов, или же при первом рекурсивном обходе дерева и модификации его элементов придет понимание что элементы двигать на странице это ещё не весь Frontend.

P/S
Не хочу показаться злодеем, просто писать статьи о том как ты вошёл в профессию нужно хотя бы когда ты middle, я работаю два года и в довольно сложном проекте и у меня вообще нет чувства что я вошёл, такое ощущение что я все ещё на входе, потому что есть ещё куча технологий, у меня верстки это максимум 15% от всех задач, в остальном это монолиты кода, оптимизация, рефакторинг огромных модулей, и как популярно мнение что на Front-end не нужно знание алгоритмов, это как раз от людей которые пишут статьи после или до года опыта работы. Войти в профессию, это когда ты понимаешь фундаментально и готов перейти в любой момент с одной технологии на другую без долгого погружения в нее, а все те кто за пол года залетел на рутинные задачи типа сделать форму и вывести табличку, ещё не вошли в профессию.

Ответить
Развернуть ветку
Вадим Чиняев

омг, да это просто профессия. вы там еж.сь совсем ? ) у одного бабочки, у другого такое впечатление что звездолеты на фронте делают. Всегда интересно у хирургов или юристов такой же пафос? Ну там отрубил руку первую - "лошара, пока 10 рук не нарубишь это не вошел в профессию, погружение надо в печень фундаментальное."

просто тупо в постсоветском больше платят, чем в других обычных профессиях (в среднем) + удаленка. Этого достаточно и для работы и для мотивации и при этом не надо упарываться на литкоде или тип того, чтобы получать деньгу. И зачем куда-то прыгать?

Насчет "сложности" - есть конкретные примеры? а так из разряда я знаю кунгфу, карате и много др страшных слов.

Ответить
Развернуть ветку
Кемаль

Недавно в Антона Ларичева вышло псевдо интервью на Front-end разраба, где он девке сказал что она уже почти middle, но глядя на нее понимаешь что она как и все те кто пишут такого рода статьи деревянная и будущее ее туманно как дойдет дело до сложных задач, поэтому я и говорю что если ты написал пару гет запросов, привязал колл бэки и наверстал несколько страниц, не значит что надо бежать и всем рассказывать как легко в айти, потому что чем дальше в лес тем меньше дров, я сам когда учился гуглил как быстрее стать программистом, читал статьи, но даже тогда я понимал что такие статьи не мотивируют, они только надевают розовые очки. Потом такие люди приходят на собес и просят миллионы. Так например парк месяцев назад коллега собеседовал девочку с одного из местных банков и она попросила 1.5 млн тенге, по старому курсу это почти 300к рублей, но тянула она максимум на 70к, я все это к тому что такие статьи создают пузырь и перенревают рынок говно кадрами, люди начинают идти не по тому что хотят кодить, а ради денег, а деньги плохая мотивация и на длинной дистанции работают плохо, по крайней мере так показывают большинство исследований.

Ответить
Развернуть ветку
Д Хб

Разработчики любят деньги. И по вашим комментам видно, что это главная мотивация. Минус за то, что называете это чем-то странным.

Ответить
Развернуть ветку
Victor Pomortseff

Ну не знаю... Когда я ушел в IT, там не было таких денег. Шли те, кому нравится все это. И интернета не было и гугля и курсов.
И до сих пор нравится.
А деньги... Ну да, хорошо когда платят столько, что можно не думать о том на что жить и просто заниматься тем, что нравится. Но не более того. Сейчас часто предложения приходят от рекрутеров. И иногда предлагают больше чем есть сейчас. Но практически всегда если "больше", то или условия не нравятся, или область не интересная.
На текущем месте все удачно стеклось - хорошая команда, интересная работа, рост стабильный, деньги нормальные... И уходить куда-то ну совсем неохота.
Может быть потому что деньги как таковые не сильно уже нужны - все есть. Квартира в городе, дом за городом, машина... И можно позволить себе заниматься тем, что нравится, не одумляясь ценниками в магазинах.

Ответить
Развернуть ветку
Д Хб

Я всегда на ценник смотрю, студенческая привычка.
И люблю деньги. Считаю это нормальным. Так же как и то, что у кого-то другая мотивация.
Но даже дядя Боб не скрывал, что работает за деньги, а не идею.
Просто чувак выше с явно задранным чсв, не мог пройти мимо статьи "недо-мидла", сагрился.

Ответить
Развернуть ветку
Кемаль

Деньги мотивируют только на коротких дистанциях, работая над дерьмовым продуктом и в плохом коллективе, деньги со временем отойдут на второй план. На заводе Интел проводили исследование, которое как раз показало что одних денег мало.

Ответить
Развернуть ветку
Д Хб

На заводе Интел много что неправильно делают.

Ответить
Развернуть ветку
Вадим Чиняев

так что там сложного во фронте? примеры будут?

у всех разная мотивация. Деньги одна из. ЗП вообще может никак не коррелировать с уровнем знаний, а смотреть другому в рот - ну такое.

Я в статье не увидел, что кто то бежал с лозунгом - легко.

Ответить
Развернуть ветку
Кемаль

Давай сначала разберемся что в твоём понимании Frontend? Для меня однозначно не верстка, а динамичнское программирование, так как я работаю с картографическим big data продуктом. Или ты сравниваешь какой нибудь бэк на java с фронтом? Я кажется ясно описал что писать в начале профессии статьи о том что фронт или какая нибудь другая профессия это легко, это неправильно (речь о всех статьях войти в айти). Если так посудить, то и хирургом быть легко, заштопал рану и все, ты в профессии... В целом жалею что оставил комментарий под постом по той причине что пиздеж в комментариях такой же пустой как и суть статьи.

Ответить
Развернуть ветку
Вадим Чиняев

Это общие слова.
Да хоть нейросети, вопрос простой будут примеры? - опять куча слов. Вы же тут напихали ярлыков, но своей экспертизы предоставить не получается.

Я не сравниваю ничего, автор экспертом не стал, но а) - может ему и не надо, и б) - свое баблишко можно заработать без боли и страдания. Это реально рациональное решение в текущих условиях.

> жалею что ...

Пишите слово "по-моему, субъективно и тп". И будет вам радость.
У меня есть кейсы и где задроты инженеры в итоге никакого профита не приносили ни компании ни проекту, хотя также кидались умными словами и наоборот люди далекие от айти ради денег неплохо поднимались в профессии, статистику тем не менее не делаю и не обобщаю.

Ответить
Развернуть ветку
Kelerius

Зайдите на их проф форумы/чаты/сайты - наверняка найдете

Ответить
Развернуть ветку
302 комментария
Раскрывать всегда