Зачем вообще эта статья, для кого и что дает читателю
Для тех, кто не хочет читать много,
Моя статья дает мотивации.
После написания статей о bike (раз, два) меня много спрашивали о том, как я попал в IT.
Мне и самому были очень интересны подобные статьи, когда я учился. Хорошо помню, как они придавали мне мотивации двигаться дальше.
Именно эти причины побудили меня написать данную статью.
Всего лишь год назад я работал в совершенно другой сфере, никак с IT не связанной и лишь мечтал о работе программистом.
И вот сейчас я уже практически middle в компании — резиденте Сколково.
А начиналось все еще немного раньше, примерно в феврале 2018…. Даже, пожалуй, еще раньше, летом 2017.
Об авторе
Но прежде, чем продолжить, хочу кратенько рассказать о себе.
Мне 32 года, есть двое мелких (2 и 4 года) и жена в декрете!
В прошлой жизни я 8 лет работал в продажах, моя работа никогда не была связана с компьютером (кроме базовых штук вроде excel и outlook).
Год назад я еще бегал и даже 2 раза пробежал марафон.
Работал на обычной работе, не хорошей и не плохой.
И в декабре 2018 года я окончательно решил сменить профессию на ту, которая мне нравится — профессию программиста.
Почему программирование?
Тут появляется вопрос — а как именно я узнал, что мне нравится программирование, если никогда этим не занимался?
У меня и самого нет ответа, это скорее цепь случайностей, чем какое -то “со школы нравился комп и ковыряться в нем” и все такое.
На самом деле меня никогда не тянуло “внутрь компьютера”, в нем мне нравилось только играть в игры. Settlers2, Starcraft, Diablo2, Heroes3… ммм… И еще постоянно замечал за собой неодолимую тягу к excel, к упорядочиванию и к математике.
Осень. Coach
Итак, лето 2017 года, я продажник, зависаю на форуме трилайфа (пытался в триатлон), где нахожу парня — начинающего coach, который готов провести coach-сессию за опыт и отзыв. Почему нет? И вот мы на coach-сессии выясняем ответ на мой вопрос. На один вопрос. Кем я хочу быть? Это очень важный вопрос и счастливчик тот, кто нашел на него ответ.
В итоге с помощью правильных вопросов прихожу к выводу — программистом.
И… успешно забиваю на это почти на целый год.
Случайность? Зерно посеяно.
Зима. Наставник
В феврале 2018 я случайно знакомлюсь с Сашей — моим наставником, вспоминаю все свои потаенные профессиональные желания и иду учиться. Анализирую куда пойти и решаю: на фронтенд (а что такое фронтенд?). Почему? Да я и сам не знаю, мне показалось, тут интересно (это оказалось правдой)!
В итоге по его совету начинаю изучать js по всем известному русскоязычному сайту — learn.javascript.
Материала там уйма, но материал суховат. На рекурсии мой пыл окончательно угасает и занятия забрасываются. Кто-то сможет здесь учиться, но я только сейчас добираюсь сюда снова для более широкого и местами глубокого охвата.
Случайность? Земля полита.
О дружбе
Тут надо сделать небольшое лирическое отступление.
У меня есть друг — Ваня. Мы с ним познакомились в организованной мной с еще одним приятелем любительской хоккейной команде. Потом как-то сблизились на — наверное — похожих взглядах на некоторые аспекты жизни и совместной постоянной дороге на работу.
Потом я ушел из хоккея и начал заниматься бегом, а он все смеялся надо мной. Над тем, как я купил пульсометр и все время замерял пульс. Но в итоге он — поглядев на меня — пришел в бег (и даже купил пульсометр). Далее мы вместе пробежали полумарафон, потом и марафон.
Во время подготовки к этим забегам естественным образом меняется жизненный ритм и вообще жизненная позиция. Если курил — бросаешь. Если пил — тоже. Если ел дрянь — тоже бросаешь. Плюс постоянные тренировки и цель — учат тебя не только размышлять, теоритезировать и планировать планы, но идти к ним и достигать их, включая преодоления препятствий.
В общем, мы с ним вместе прошли весь этот цикл перерождения тела и духа, притом он ушел даже дальше меня.
Случайность? Земля удобрена.
Весна.Курсы!
И вот наступает конец осени 2018 года.
Примерно в ноябре-декабре Ваня рассказал мне про курсы. Даже не курсы, а Курсы — Hexlet! Он и сам дозрел до смены профессии с экономической на айти и стал заниматься. Понравилось, поделился со мной. Курсы сыграли важнейшую роль в моем становлении как инженера, а не эникейщика. Поэтому написав о них здесь, на Хабре, хочу отдать им — и конкретно Кириллу — дань уважения и поблагодарить.
Итак, декабрь, я стартую свое обучение на курсах.
Очень нравится, материал доступный, но в то же время сложный.
Приходится много думать самому и искать решение проблем самостоятельно, что, забегая вперед, скажу, мне очень пригодилось уже на работе.
Случайность? Первые ростки.
Бывало трудно
Учусь не отступать перед сложностями. Тут уже есть некий опыт при подготовке к марафону, который помогает.
Учусь продолжать даже в сложные моменты.
А они бывали. Критическими были 2 точки. Первая на 3 проекте, когда я полностью переписывал проект 2 раза с нуля. Стирал все и начинал заново. Руки опустились очень низко, но силы продолжить нашлись (спасибо тебе, бег!). Это примерно как на 37 км марафона поймать стену, но не перейти на шаг. Кирилла я тогда возненавидел. Но потом отпустило.
И второй момент, когда для того, чтобы идти дальше, мне пришлось вернуться на 2 курса назад, повторить эти 2 курса и повторить еще один более старый. Данная операция заняла у меня 2 недели. И все для того, чтобы решить одну задачу, которую никак не мог решить.
Февраль 2019. Я — как продажник — пытаюсь хакнуть систему и перескочить в программисты на развитых софт и не очень пока хард скиллах. Не получается, но получаю первый опыт собеседований.
Продолжаю усиленно грызть гранит науки. Усиленно, это по 2-3 часа каждый рабочий день и больше в выхи. Это помимо основной работы и семейно — отцовских обязанностей.
На каждый проект (длится неделю) трачу по 40 часов и более за эту неделю.
Наступает апрель. Курсы по js пройдены, впереди react и последний проект.
Опять волна собеседований, опять отказы, но уже хотя бы понимаю, что мне говорят и могу отвечать.
Не унываю, тем более, что мой дружбан — хоккеист — марафонец в апреле устраивается работать в отличную компанию! В тот период безумно радуюсь за него и это сильно мотивирует продолжать, хотя не скажу, что как-то был демотивирован. Мне явно нравилось то, чем занимаюсь и хотелось выучить все-все по теме, до чего дотянутся руки (сейчас это жжение только усилилось!)
Май. Прохожу последние курсы и неожиданно быстро и легко пишу последний проект, курсы окончены. Я более-менее секу в js react (фактически хороший фундамент и неплохо шарю).
Лето! Собеседования.
Активизируюсь в плане собеседований.
Тут стоит сделать еще одно лирическое отступление.
Я продажник с большим опытом, у меня есть опыт общения с людьми, я не боюсь звонить незнакомому человеку и что-то у него узнавать. Я боюсь выступать перед людьми, но одновременно это мне нравится.
Случайность? Грядка прополота.
О подходе
Мой опыт говорит о том, что всем нравится индивидуальный подход.
Поэтому я беру поиски компании в свои руки.
Делаю выборку компаний, которые мне нравятся. Боюсь, но включаю сюда и те компании, в которые — судя по требованиям — не прохожу.
Пишу в каждую сопроводительное письмо, где расписываю — судя по требованиям —
Чем я могу быть им полезен, а что я пока не знаю, но выучу и узнаю.
В итоге мне дают пару тестовых заданий и пару приглашений на собеседования.
Собеседования в целом проходят очень позитивно, это уже технические собеседования. Беседуем на равных с техническими специалистами компаний (не в плане знаний, а в плане общечеловеческих взаимоотношений). Мне дают обратную связь, рекомендуют что-то подтянуть.
Ремарка будущим джунам
Я знаю, как интересно почитать будущим junior о составе собеседования, но и сказать-то особо нечего. Люди в основном смотрят на общую адекватность + как-то пытаются оценить потенциал. По крайней мере адекватные люди. К тем, кто пытается как-то иначе — и работать идти не стоит. Именно так я решил и заранее “запрограммировал” себя на то, что достоин хорошего места. А раз так, то нет никакого смысла идти лишь бы куда, лишь бы взяли.
Это помогло мне вести диалог с работодателем на равных, тем самым давая понять, что как они выбирают меня, так и я выбираю их. Это важно — снять лишние барьеры в голове. Что касается технических моментов, то учите базовые вещи (рекурсия, замыкания, лексическое окружение и так далее), язык и гуглите о прохождении собеседований. Ответственно подойдите к этому.
Прохождение собеседований — это такой же навык и его можно отработать! Так же хочу отметить, что запрограммировать себя в голове царем без реальных на то оснований — затея бесполезная и опасная.
Тестовые задания
Из интересного — в ВТБ мне дали тестовое задание. Нужно на карте отрисовать 100 маркеров в рандомных местах. Хорошо, если взаимодействовать с сервером и отлично, если на суше.
Задание пришлось мне по вкусу, в итоге сделал 2 репозитория на гите. В первом просто запрашивал у сторонних апи нужные данные, а на втором прикрутил свой сервер и простенькое “кэширование” результатов.
Я спросил себя: как определить сушу, чем она характерна? Тем, что, например, все города на суше! Значит мне нужно ставить маркеры на рандомных городах. Еще приятель подкинул мысль, что вся суша выше нуля, но это мне показалось сложнее в реализации.
В итоге карта у меня гугл, города я запрашивал во вконтакте (для этого сначала приходилось запрашивать страны), потом города уходили на геокодирование в яндекс, откуда возвращались координаты.
Координаты складывались в массив на сервере. Когда на мое приложение (задеплоено на Хероку, может стартовать 30 секунд из-за особенностей этого бесплатного хостинга) заходил новый юзер, добавлялись новые координаты (вк-вк-яндекс-моя карта гугла).
Когда количество координат достигает определенного количества, при заходе каждого нового юзера уходит только 1 запрос, который добавляет только еще одну пачку координат. Правда бд тут нет и когда сервер Хероку засыпает (полчаса без посещений), а потом просыпается, то все сначала. Потом прикрутил и карту яндекса и сделал простенький переключатель в фирменных цветах.
Столкнулся с проблемой cors, решил ее через сервис, который позволяет это обходить, но сильно ограничивает количество запросов.
В общем нравилось мне это.
Правда к стыду данного сотрудника ВТБ стоит отметить, что он куда-то совершенно слился и не дал мне обратной связи.
Вот первый вариант — без сервера.
А вот второй вариант — с сервером.
После долгого простоя стартуют 30 с.
Работа!
Итак, конец мая. Компания из Сколково. Их требования явно выше моих компетенций. Боюсь, но все же кидаю резюме, очень хотел сюда устроится.
Они отвечают, дают несложное тестовое: cделать простенькую страничку с пагинацией, фильтром и простеньким сервером. Есть небольшое количество данных, необходимо реализовать работу странички, взаимодействие с сервером по стандартам REST и все такое.
Верстки особо не требуется, скорее понимание REST, что такое json, клиент-серверное взаимодействие и логика на js.
В общем делаю, отправляю. Им нравится, зовут на собес.
Прихожу, беседуем с Катей из HR, моим будущим тимлидом Сашей и старшим коллегой Сергеем. В основном уже не технические вопросы, скорее как раз на адекватность и мои амбиции. Они смотрят, я ли тот человек, кто решил их тестовое.
Уезжаю от них в гнетущем настроении. Мне явно понравилось, но по требованиям явно не дотягиваю.
Приезжаю домой, иду в магазин и там меня настигает звонок с оффером! От них, от тех, куда я так хотел попасть! Они согласовали мои условия!
Ощущения — не передать словами!
На работе
Стоит отметить, что взяв меня — зеленого джуна — компания, конечно, рисковала.
Но в итоге за 3 месяца испытательного срока я сумел проявить себя, проявить инициативу и стать самостоятельным работникам.
В это время никого нет и я спокойно учусь.
За первые недели 2 после настройки окружения освоил angularjs и активно влился в проект.
Далее сразу по собственной инициативе привнес js es6 и выше в наш проект (раньше не было babel и коллеги не могли использовать новый синтаксис).
По собственной инициативе настроил сборку на webpack и довел ее до последней версии. Ранее у нас просто bat файл собирал.
По собственной инициативе полностью переделал интеграцию нашего проекта с другим нашим подпроектом. На нашем сайте используется карта — это тоже подпроект. И раньше она загружалась каждый раз по новой при переходе на другую страницу (а это более 4 мб!). Я сделал единую карту на весь проект и это только 1 загрузка! Ну и по мелочи добавил.
Добавил на проект куки, потом заменил на свежеизученный localStorage.
Так же по собственной инициативе написал программу, аналог webpack-dev-server, о чем тут есть уже 2 статьи и планируется еще как минимум одна.
В срок или быстрее выполнял текущие задачи, а все остальное (кроме карты) делал в свое свободное время, т.к. Мне просто НРАВИТСЯ это! Мне хочется делать наш проект удобнее и лучше!
И я просто кайфую от этого! Так же учился расставлять приоритеты по текущим задачам.
В итоге проходит 3,5 месяца, опять проявляю инициативу и получаю повышение!
Не знаю, junior ли я еще? Наверное уже нет.
Дерево растет!
Заключение
Итак, получается вот такая цепь случайностей.
Много лет работаю в продажах, где учусь не бояться взаимодействовать с окружающими людьми и проявлять инициативу.
Создаю хоккейную команду, где познакомлюсь с приятелем, который потом осуществляет решающий импульс в сторону моего изучения программирования (волшебный пендель).
Начинаю бегать, чтобы сбросить вес, а в итоге учусь составлять и выполнять план, сложности воспринимать как часть плана и преодолевать их, учусь «надо» превращать в действие.
Встречаю coach, с которым прихожу к выводу о работе программистом — первый импульс.
Встречаю наставника, который оказал второй импульс.
(Хронологически волшебный пендель в этом месте).
В заключении хочу сказать, что мне очень нравится работа, нравится ощущения от “командной игры”, нравится коллектив (у нас реально отличные ребята и тимлид). Сразу после устройства на работу я составил себе план саморазвития, разбил его по месяцам. Постоянно самообучаюсь и самосовершенствуюсь. У меня довольно много пробелов в знаниях, но я их вычисляю и устраняю! Чем больше устраняю, тем больше появляется новых.
Также хочу отметить, что даже на самом скучном легаси на angularjs (хотя у нас качественно написано) можно найти очень интересные задачи и постоянно развиваться.
Все дело в том, как посмотреть!
Благодарности
Я считаю, что благодарностей много не бывает и вообще надо почаще их выражать близким людям!
Хочу поблагодарить 3 людей, без которых не было бы моей победы.
Моя жена, Галя. Я знаю, как тебе было тяжело последнее время, я ощущаю твою поддержку. Без тебя бы ничего этого не было. Все это для тебя!
Мой друг, Ваня. Как прекрасно, когда в зрелом возрасте обретаешь то, чего совершенно не ждешь и не особенно-то веришь, что можешь обрести! И обретаешь это не эгоистично, а даже в некоторой степени альтруистично! Уверен, мы с тобой способны очень на многое!
Мой наставник, Саша. Хоть мы ни разу не виделись и у тебя чересчур резкие взгляды, но ты сильная личность и оказал очень большое влияние на меня как программиста, за что я безмерно тебе благодарен. Я бы не смог добиться того, чего добился, если бы не наши разговоры и твое наставничество.
Послесловие
Пытливый читатель может заметить, что еще за чертовщина с временами года в повествовании? Автор, куда ты смотришь?
Для усиления эффекта статьи мне хотелось пройти цикл смен времен года как метафору зарождения новой жизни.
Вот такая получается еще одна история.
Комментарии (16)
m1khaylov
07.10.2019 15:32+1Вы конечно молодец, что все получилось и довольно в короткий срок. Но считать себя уже не джуном только после прохождения испытательного срока… Ну такое знаете.
euhoo Автор
07.10.2019 15:37На самом деле абсолютно согласен с вами.
Думал над тем, включать ли это в статью или нет, т.к. выражение действительно спорное.
Но реальность говорит о том, что я скорее ближе к middle, чем к junior, как бы самонадеянно или нарциссически это не звучало. Опять же фраза про царя в тексте — отсылка именно к этой мысли.
Более того, я знаю, что именно за это мне сейчас тут наминусуют знатно.
Но, знаете, как в утиной типизации. Если что-то выглядит как утка, крякает как утка и плавает как утка, то, вероятно, это утка!KorP
07.10.2019 20:55+2В итоге проходит 3,5 месяца
Не знаю, junior ли я еще?
Да, вы ещё джун и будете им ещё пару лет, сколько бы времени вы не учились. Опыт приходит только со временем. Даже при огромном желании и мотивации нельзя наработать много летний опыт за 3 месяца.
Peregrinus
07.10.2019 23:02Да, определенно джун, все через это подходят. Вот когда начнёте сомневаться "а знаю ли я что-то вообще" и "что я тут забрал, ну какой из меня программист", значит лёд тронулся и можно уже думать что-то о мидле.
vconst
07.10.2019 15:35+1Только мне этот «цикл статей» кажется очередной рекламой «таксист-в-айти»?
euhoo Автор
07.10.2019 15:47Кстати, не реклама. Я им действительно признателен.
И цикл еще не закончен.
Вот сейчас я пытаюсь собрать клиент и сервер в один файл и сделать пакет в npm. Без сборки работает. Разбираюсь с серверной сборкой. Об этом будет следующая статья.
wundte
07.10.2019 16:48Спасибо за статью! Мотивации действительно прибавляет, как и заявлено.
Сам сейчас перебираюсь из строительной сферы в IT.
bgilfoyle
08.10.2019 23:14-1Приветствую, коллеги, я вот может быть крамольную мысль сейчас скажу, и заранее извиняюсь, если кого-то заденет мое субъективное мнение, но таких постов на различных ресурсах все больше и больше и я уже не могу удерживать его в себе: «Меня коробят такие посты / комметарии».
Вероятно, потому что я и мои друзья / коллеги начинали «заниматься IT» (как это сейчас модно говорить) тогда, когда было очень тяжело, когда «в IT» приходили по призванию, админу платили в 2-3 раза меньше среднего бухгалтера.
Когда ты говорил что админ, на тебя смотрели, и спрашивали: «Это про процессоры, да?»
Многие из моих коллег начали работать бесплатно, лишь бы попасть эникеем к опытному админу (или вообще куда-то). Документации был самый мизер, введя вопрос о настройке оборудования в google, ты получал все что угодно, но только не то что сейчас — ответ за пару кликов.
Это все, возможно «старческое» брюзжание — но я смотрю на сегодняшних стажеров и не вижу в 99% той искры, которая горела тогда в нас — собеседования с ними в стиле:
-«Ну, где тут у вас кофе-поинт и какие смуззи на нем есть?»
— «А гамаки у вас есть?»
к сожалению, становятся нормой.
Хотя те возможности, которые получают они сейчас — это то, о чем мы в свое время могли только мечтать.
Есть и вторая крайность — человек лет 40 решивший что в продажах / менеджменте / стройке уже не так хорошо, как тогда, когда я и мои коллеги донашивали последние кеды и обсуждали новый «Зюксель». И прошедший месячный / полугодовой курс на каком-то из ресурсов, решает что он теперь «погроммист» и идет по десяткам (иногда доходит до сотни) собеседованиям… Дошло уже до того, что недавно два моих знакомых, независимо друг от друга: вполне успешный повар с 10-летним стажем и ГИП на строительстве спросили у меня медиану ЗП программистов и сколько времени необходимо на вход в профессию. Что меня удивило один из них сказал: «Ну помнишь, я же в школе в компе ковырялся, так что это для меня не будет проблемой, думаю, что смогу».
Пожалуй, так складывается, по ряду факторов, все мы их знаем: ЗП, условия, труда и «кажущаяся» со стороны легкость труда, и огромное количество информации / обучения. Можем ли мы что-то изменить? Нет. Надо ли что-то менять? Конечно нет, ну только, пожалуй кроме отношения) Завидую ли я нынешней молодежи? — конечно, белой завистью. Глобализация и огромное количество информации порождают невероятные возможности. Злюсь ли я на них? Нет, мы тоже когда-то были молодыми и неопытными, и с теми 5%, что приходят с горящими глазами очень приятно работать.
Но посты от 40-летнего повара / таксиста / строителя о том, что теперь он «погроммист» — меня задевают. И я хочу задать им одни и те же вопросы:
— Почему ты идешь в профессию, которая тебе никогда не была близка?
— Потому что в 40 лет осознал, что «это твое»? Право, это уже даже не смешно.
— Где ты был 10 лет назад, когда доллар стоил 30 рублей, на стройке платили 120 тр, а среднему админу 35-40 тр?
— Что ты будешь делать, если «в IT» перестанут платить? В 50 лет пойдешь киберспортсменом, потому что это твое призвание?
PS на этом месте я заканчиваю, хотя мог бы писать еще долго, никого не хотел обидеть, это мое субъективное мнение, но под любым таким постом еще десятки комментариев:
«Спасибо за мотивацию, я тоже учу пограмирование, чтобы перейти из таксистов / рабочих»… И это меня коробит, потому что, я уверен, что эти люди так же быстро уйдут в любую другую сферу, из IT, как в нее пришли, когда платить в ней перестанут.
PPS буду рад услышать ваше мение, т.к. еще ни с кем не обсуждал данную мысль, а она меня реально гложет, и возможно, я не вижу всей картины.euhoo Автор
09.10.2019 10:37Представим, что вам что-то понравилось. Что-то увлекло.
Увлекло сильно!
Не мимолетно на недельку-две, а уже серьезно. Полгода — год вы уже посвящаете этому бОльшую часть свободного времени.
Так же понимаете, что это может приносить доход.
Ваши действия?
ilyanaumenko
09.10.2019 09:22Молодец. Я чуть постарше и тоже сейчас пытаюсь сменить профессию. Делаю свой первый сайт, для реального заказчика.
hypoglossus
09.10.2019 09:22Еще приятель подкинул мысль, что вся суша выше нуля
Но это не так. Побережье Мёртвого моря находится на 430 метров ниже уровня моря, а участки повыше, но тоже с отрицательной относительной высотой, есть на всех континентах.
KorP
При чём тут инженер и эникейщик? При чём тут вообще инженеры, если вы программированием занимались?
Dreyk
а программист по вашему не является инженером?
KorP
Ну вы ещё скажите, что программист и эникейщиком является!
Gorthauer87
Потому что хорошие программисты являются software engineer ами.