Данная статья опубликована мной на «Хабре». Также хочу поделиться ей здесь, на моих любимых курсах Hexlet, очень много мне давших.
После публикации на «Хабре» статей о bike меня много спрашивали, как я попал в IT. Мне и самому были очень интересны подобные статьи, когда я учился. Хорошо помню, как они придавали мне мотивации двигаться дальше. Именно эти причины побудили меня написать эту историю.
Всего лишь год назад я работал в совершенно другой сфере, никак с IT не связанной, и лишь мечтал о работе программиста. И вот сейчас я уже практически middle в компании — резиденте Сколково. А начиналось все еще немного раньше, примерно в феврале 2018. Даже, пожалуй, еще раньше — летом 2017.
Содержание
Об авторе
Но прежде чем продолжить, хочу кратко рассказать о себе. Мне 32 года, есть двое мелких (2 и 4 года) и жена в декрете! В прошлой жизни я 8 лет работал в продажах, моя работа никогда не была связана с компьютером (кроме базовых штук вроде Excel и Outlook). Год назад я еще бегал и даже два раза пробежал марафон.
Работал на обычной работе, не хорошей и не плохой. И в декабре 2018 года я окончательно решил сменить профессию на ту, которая мне нравится — профессию программиста.
Почему программирование?
Тут появляется вопрос — а как именно я узнал, что мне нравится программирование, если никогда этим не занимался? У меня и самого нет ответа, это скорее цепь случайностей, чем какое-то «со школы нравился комп и ковыряться в нем» и все такое.
На самом деле меня никогда не тянуло «внутрь компьютера», в нем мне нравилось только играть в игры. Settlers2, Starcraft, Diablo2,Heroes3... ммм… И еще постоянно замечал за собой неодолимую тягу к Excel, к упорядочиванию и к математике.
Осень. Coach
Итак, лето 2017 года, я продажник, зависаю на форуме трилайфа (пытался в триатлон), где нахожу парня — начинающего coach, который готов провести coach-сессию за опыт и отзыв. Почему нет? И вот мы на coach-сессии выясняем ответ на мой вопрос. На один вопрос. Кем я хочу быть? Это очень важный вопрос, и счастливчик тот, кто нашел на него ответ.
В итоге с помощью правильных вопросов прихожу к выводу — хочу быть программистом. И… успешно забиваю на это почти на целый год.
Случайность? Зерно посеяно.
Зима. Наставник
В феврале 2018 я случайно знакомлюсь с Сашей — моим наставником, вспоминаю все свои потаенные профессиональные желания и иду учиться. Анализирую, куда пойти, и решаю: на фронтенд (а что такое фронтенд?))). Почему? Да я и сам не знаю, мне показалось, тут интересно (это оказалось правдой)!
В итоге по совету наставника начинаю изучать js по всем известному русскоязычному сайту — learn.javascript.
Материала там уйма, но материал суховат. На рекурсии мой пыл окончательно угасает и занятия забрасываются. Кто-то сможет здесь учиться, но я только сейчас добираюсь сюда снова для более широкого и местами глубокого охвата.
Случайность? Земля полита.
О дружбе
Тут надо сделать небольшое лирическое отступление. У меня есть друг — Ваня. Мы с ним познакомились в организованной мной с еще одним приятелем любительской хоккейной команде. Потом как-то сблизились благодаря похожим взглядам на некоторые аспекты жизни и совместной постоянной дороге на работу.
Потом я ушел из хоккея и начал заниматься бегом, а он все смеялся надо мной. Над тем, как я купил пульсометр и все время замерял пульс. Но в итоге он, поглядев на меня, пришел в бег и даже купил пульсометр. Далее мы вместе пробежали полумарафон, потом и марафон.
Во время подготовки к этим забегам естественным образом меняется жизненный ритм и вообще жизненная позиция. Если курил — бросаешь. Если пил — тоже. Если ел дрянь — тоже бросаешь. Плюс постоянные тренировки и цель учат тебя не только размышлять, теоретезировать и планировать, но идти к ним и достигать их, включая преодоления препятствий.
В общем, мы с ним вместе прошли весь этот цикл перерождения тела и духа, притом он ушел даже дальше меня.
Случайность? Земля удобрена.
Весна.Курсы!
И вот наступает конец осени 2018 года. Примерно в ноябре-декабре Ваня рассказал мне про курсы. Даже не курсы,а Курсы — Hexlet! Он и сам дозрел до смены профессии с экономической на айти и стал заниматься. Понравилось, поделился со мной. Курсы сыграли важнейшую роль в моем становлении как инженера, а не эникейщика. Поэтому написав о них на Хабре, хочу отдать им — и конкретно Кириллу — дань уважения и поблагодарить.
Итак, декабрь, я стартую свое обучение на курсах. Очень нравится, материал доступный, но в то же время сложный. Приходится много думать самому и искать решение проблем самостоятельно, что, забегая вперед, скажу, мне очень пригодилось уже на работе.
Случайность? Первые ростки.
Бывало трудно
Учусь не отступать перед сложностями. Тут уже есть некий опыт при подготовке к марафону, который помогает. Учусь продолжать даже в сложные моменты.
А они бывали. Критическими были 2 точки. Первая на 3 проекте,когда я полностью переписывал проект 2 раза с нуля. Стирал все и начинал заново. Руки опустились очень низко, но силы продолжить нашлись. Спасибо тебе, бег!. Это примерно как на 37 км марафона поймать стену, но не перейти на шаг. Кирилла я тогда возненавидел. Но потом отпустило.
И второй момент. Однажды,чтобы идти дальше, мне пришлось вернуться на два курса назад, повторить эти два курса и повторить еще один более старый. Данная операция заняла у меня две недели. И все для того, чтобы решить одну задачу, которую никак не мог решить.
Февраль 2019. Я как продажник пытаюсь хакнуть систему и перескочить в программисты на развитых софт и не очень пока хард-скиллах. Не получается, но получаю первый опыт собеседований.
Продолжаю усиленно грызть гранит науки. Усиленно — это по 2-3 часа каждый рабочий день и больше на выходных. Это помимо основной работы и семейно-отцовских обязанностей. На каждый проект, который тогда еще длился неделю, трачу по 40 часов и более.
Наступает апрель. Курсы по js пройдены, впереди react и последний проект. Опять волна собеседований, опять отказы, но уже хотя бы понимаю, что мне говорят, и могу отвечать.
Не унываю, тем более, что мой дружбан хоккеист-марафонец в апреле устраивается работать в отличную компанию. В тот период безумно радуюсь за него, и это сильно мотивирует продолжать, хотя не скажу, что как-то был демотивирован. Мне явно нравилось то,чем занимаюсь и хотелось выучить все-все по теме, до чего дотянутся руки(сейчас это жжение только усилилось!)
Май. Прохожу последние курсы и неожиданно быстро и легко пишу последний проект. Курсы окончены. Я более или менее секу в js react (фактически хороший фундамент).
Лето! Собеседования
Активизируюсь в плане собеседований. Тут стоит сделать еще одно лирическое отступление. Я продажник с большим опытом, у меня есть опыт общения с людьми, я не боюсь звонить незнакомому человеку и что-то у него узнавать. Я боюсь выступать перед людьми, но одновременно это мне нравится.
Случайность? Грядка прополота.
О подходе
Мой опыт говорит о том, что всем нравится индивидуальный подход. Поэтому беру поиски компании в свои руки. Делаю выборку компаний,которые мне нравятся. Боюсь, но включаю сюда и те компании, в которые, судя по требованиям, не прохожу.
Пишу в каждую сопроводительное письмо, где расписываю, чем я могу быть им полезен, а что я пока не знаю, но выучу и узнаю. В итоге мне дают пару тестовых заданий и пару приглашений на собеседования.
Собеседования в целом проходят очень позитивно, это уже технические собеседования. Беседуем на равных с техническими специалистами компаний (не в плане знаний, а в плане общечеловеческих взаимоотношений). Мне дают обратную связь, рекомендуют что-то подтянуть.
Ремарка будущим джунам
Я знаю, как интересно почитать будущим junior о составе собеседования, но и сказать-то особо нечего. Люди в основном смотрят на общую адекватность, плюс как-то пытаются оценить потенциал. По крайней мере адекватные люди. К тем, кто пытается как-то иначе — и работать идти не стоит. Именно так я решил и заранее «запрограммировал» себя на то, что достоин хорошего места. А раз так, то нет никакого смысла идти лишь бы куда.
Это помогло мне вести диалог с работодателем на равных, тем самым давая понять, что как они выбирают меня, так и я выбираю их. Это важно — снять лишние барьеры в голове. Что касается технических моментов, то учите базовые вещи: рекурсия, замыкания, лексическое окружение и так далее, язык и гуглите о прохождении собеседований. Ответственно подойдите к этому. Прохождение собеседований — это такой же навык, и его можно отработать! Так же хочу отметить, что запрограммировать себя в голове царем без реальных на то оснований — затея бесполезная и опасная.
Тестовые задания
Из интересного — в ВТБ мне дали тестовое задание. Нужно на карте отрисовать 100 маркеров в рандомных местах. Хорошо, если взаимодействовать с сервером и отлично, если на суше.
Задание пришлось мне по вкусу, в итоге сделал два репозитория на гите. В первом просто запрашивал у сторонних апи нужные данные, а на втором прикрутил свой сервер и простенькое кэширование результатов.
Я спросил себя: как определить сушу, чем она характерна? Тем, что, например, все города на суше! Значит мне нужно ставить маркеры на рандомных городах. Еще приятель подкинул мысль, что вся суша выше нуля, но это мне показалось сложнее в реализации.
В итоге карта у меня гугл, города я запрашивал во «ВКонтакте». Для этого сначала приходилось запрашивать страны,потом города уходили на геокодирование в «Яндекс», откуда возвращались координаты.
Координаты складывались в массив на сервере. Когда на мое приложение (задеплоено на Хероку, может стартовать 30 секунд из-за особенностей этого бесплатного хостинга) заходил новый юзер, добавлялись новые координаты (вк-вк-яндекс-моя карта гугла).
Когда количество координат достигает определенного уровня, при заходе каждого нового юзера уходит только один запрос, который добавляет только еще одну пачку координат. Правда БД тут нет, и когда сервер Хероку засыпает (полчаса без посещений), а потом просыпается, то все сначала. Потом прикрутил карту «Яндекса» и сделал простенький переключатель в фирменных цветах.
Столкнулся с проблемой cors, решил ее через сервис,который позволяет это обходить, но сильно ограничивает количество запросов. В общем нравилось мне это.
Правда к стыду данного сотрудника ВТБ стоит отметить, что он куда-то совершенно слился и не дал мне обратной связи.
Вот первый вариант — без сервера.
А вот второй вариант — с сервером.
После долгого простоя стартуют 30 секунд.
Работа!
Итак, конец мая. Компания из Сколково. Их требования явно выше моих компетенций. Боюсь, но все же кидаю резюме, очень хотел сюда устроится.
Они отвечают, дают несложное тестовое: cделать простенькую страничку с пагинацией, фильтром и простеньким сервером. Есть небольшое количество данных, необходимо реализовать работу странички, взаимодействие с сервером по стандартам REST и все такое.
Верстки особо не требуется, скорее понимание REST, что такое json, клиент-серверное взаимодействие и логика на js.
В общем делаю, отправляю. Им нравится,зовут на собес.
Прихожу, беседуем с Катей из HR, моим будущим тимлидом Сашей и старшим коллегой Сергеем. В основном уже не технические вопросы, скорее как раз на адекватность и мои амбиции. Они смотрят, я ли тот человек, кто решил их тестовое.
Уезжаю от них в гнетущем настроении. Мне явно понравилось, но по требованиям явно не дотягиваю. Приезжаю домой,иду в магазин и там меня настигает звонок с оффером! От них, от тех, куда я так хотел попасть! Они согласовали мои условия!
Ощущения — не передать словами!
На работе
Стоит отметить, что взяв меня — зеленого джуна — компания,конечно, рисковала.
Но в итоге за 3 месяца испытательного срока я сумел проявить себя, проявить инициативу и стать самостоятельным работникам.
По собственной инициативе приезжаю на работу на час-полтора раньше(3-4 дня из 5). В это время никого нет, и я спокойно учусь. За первые недели две после настройки окружения освоил Angularjs и активно влился в проект.
Далее сразу по собственной инициативе привнес js es6 и выше в наш проект (раньше не было babel, и коллеги не могли использовать новый синтаксис). По собственной инициативе настроил сборку на Webpack и довел ее до последней версии. Ранее у нас просто bat файл собирал.
По собственной инициативе полностью переделал интеграцию нашего проекта с другим нашим подпроектом. На нашем сайте используется карта — это тоже подпроект. И раньше она загружалась каждый раз по новой при переходе на другую страницу, а это более 4 МБ. Я сделал единую карту на весь проект, и это только одна загрузка! Ну и по мелочи добавил.
Добавил на проект куки, потом заменил на свежеизученный localStorage. Также по собственной инициативе написал программу, аналог webpack-dev-server.
В срок или быстрее выполнял текущие задачи,а все остальное (кроме карты) делал в свое свободное время, так как мне просто НРАВИТСЯ это! Мне хочется делать наш проект удобнее и лучше! И я просто кайфую от этого! Так же учился расставлять приоритеты по текущим задачам.
В итоге проходит 3,5 месяца, опять проявляю инициативу и получаю повышение!
Не знаю, junior ли я еще? Наверное уже нет. Дерево растет!
Заключение
Итак, получается вот такая цепь случайностей. Много лет работаю в продажах, где учусь не бояться взаимодействовать с окружающими людьми и проявлять инициативу. Создаю хоккейную команду, где познакомлюсь с приятелем, который потом осуществляет решающий импульс в сторону моего изучения программирования (волшебный пендель).
Начинаю бегать, чтобы сбросить вес, а в итоге учусь составлять и выполнять план, сложности воспринимать как часть плана и преодолевать их, учусь «надо» превращать в действие.
Встречаю coach, с которым прихожу к выводу о работе программистом — первый импульс. Встречаю наставника,который дал второй импульс.
Хронологически волшебный пендель в этом месте.
В заключении хочу сказать, что мне очень нравится работа, нравится ощущения от «командной игры», нравится коллектив (у нас реально отличные ребята и тимлид). Сразу после устройства на работу я составил себе план саморазвития, разбил его по месяцам. Постоянно самообучаюсь и самосовершенствуюсь. У меня довольно много пробелов в знаниях, но я их вычисляю и устраняю! Чем больше устраняю, тем больше появляется новых.
Также хочу отметить, что даже на самом скучном легаси на angularjs (хотя у нас качественно написано) можно найти очень интересные задачи и постоянно развиваться.
Все дело в том, как посмотреть!
Благодарности
Считаю,что благодарностей много не бывает, и вообще надо почаще их выражать близким людям! Хочу поблагодарить 3 людей, без которых не было бы моей победы.
Моя жена, Галя. Я знаю, как тебе было тяжело последнее время, я ощущаю твою поддержку. Без тебя бы ничего этого не было. Все это для тебя!
Мой друг, Ваня. Как прекрасно, когда в зрелом возрасте обретаешь то, чего совершенно не ждешь и не особенно-то веришь, что можешь обрести! И обретаешь это не эгоистично, а даже в некоторой степени альтруистично! Уверен, мы с тобой способны очень на многое!
Мой наставник, Саша. Хоть мы ни разу не виделись и у тебя чересчур резкие взгляды, но ты сильная личность и оказал очень большое влияние на меня как программиста, за что я безмерно тебе благодарен. Я бы не смог добиться того,чего добился,если бы не наши разговоры и твое наставничество.
Послесловие
Пытливый читатель может заметить, что еще за чертовщина с временами года в повествовании? Автор,куда ты смотришь? Для усиления эффекта статьи мне хотелось пройти цикл смен времен года как метафору зарождения новой жизни. Вот такая получается еще одна история.
P.S. Сейчас снова вернулся на «Хекслет». Прохожу БД, дальше сервер и после нового года Java! Очень надеюсь,что Java наконец-то сдвинется здесь с мертвой точки.
Оригинал статьи опубликован на «Хабре».
<!DOCTYPE html>
<html class="h-100" data-bs-theme="light" data-mantine-color-scheme="light" lang="ru" prefix="og: https://ogp.me/ns#">
<head>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<link crossorigin="true" href="https://cdn.hexlet.io" rel="preconnect">
<link href="https://mc.yandex.ru" rel="preconnect">
<meta content="aa2vrdtq64dub8knuf83lwywit311w" name="facebook-domain-verification">
<link href="/favicon.ico" rel="icon" sizes="any">
<link href="/favicon.svg" rel="icon" type="image/svg+xml">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/manifest.webmanifest" rel="manifest">
<script>
//<![CDATA[
window.gon={};gon.ym_counter="25559621";gon.is_bot=true;gon.applications={};gon.current_user={"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26 18:04:43 UTC","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false};gon.token="1WKCB5VYjuFFqOW9rlT-vZVjMMm3Rso-OaLkjuml8986s0kwZyYjgfPrwSWiWw7KVWodY79xNJyEQn7au6IUsQ";gon.locale="ru";gon.language="ru";gon.theme="light";gon.rails_env="production";gon.mobile=false;gon.google={"analytics_key":"UA-1360700-51","optimize_key":"GTM-5QDVFPF"};gon.captcha={"google_v3_site_key":"6LenGbgZAAAAAM7HbrDbn5JlizCSzPcS767c9vaY","yandex_site_key":"ysc1_Vyob5ZPPUdPBsu0ykt8bVFdzsfpoVjQChLGl2b4g19647a89","verification_failed":null};gon.social_signin=false;gon.typoreporter_google_form_id="1FAIpQLSeibfGq-KvWQ2Fyru-zkFFRVTLBuzXAHAoEyN1p49FtDmNoNA";
//]]>
</script>
<meta charset="utf-8">
<title>Как зеленый джуниор в IT попал</title>
<meta name="description" content="Данная статья опубликована мной на «Хабре». Также хочу поделиться ей здесь, на моих любимых курсах Hexlet, очень много мне давших.">
<link rel="canonical" href="https://ru.hexlet.io/blog/posts/kak-zelenyy-dzhunior-v-it-popal">
<meta property="og:title" content="Как зеленый джуниор в IT попал">
<meta property="og:description" content="Данная статья опубликована мной на «Хабре». Также хочу поделиться ей здесь, на моих любимых курсах Hexlet, очень много мне давших.">
<meta property="og:image" content="https://ru.hexlet.io/vite/assets/blog_post-7eTyeLLt.webp">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="x9VV-2w8YSbnOWgOiBjcbRb7Xld9BmzsnNVdgxnZfoIoBJ7MnkLMRlF6TJaEFywa1vJz_XUxkk4hNcfXS96Z7A" />
<script src="/vite/assets/inertia-BIn5nEMk.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/preload-helper-BJ4cLWpC.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-DOv3_-Z_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ahoy-DrlRQ-1D.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/analytics-cb8xch9l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Surface-DL2bpZA-.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/extends-C-EagtpE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/inheritsLoose-BBd-DCVI.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/objectWithoutPropertiesLoose-DRHXDhjp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/index.esm-DAqKOkZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Button-CGPUux8l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/CloseButton-D1euiPao.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Group-BX48WcuU.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Loader-BQEY8g6v.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Modal-Cy3HByv7.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/OptionalPortal-1Hza5P2w.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Stack-CtjJzfw4.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Textarea-Ck64llAy.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/DirectionProvider-Dc9zdUke.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/events-DJQOhap0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-reduced-motion-D2owz4wa.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-disclosure-zKtK5W1r.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-hotkeys-Cnc_Rwkb.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/random-id-DOQyszCZ.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/exports-C_MrNx_T.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<link rel="stylesheet" href="/vite/assets/application-BqhCP46M.js" />
<script src="/vite/assets/application-Df9RExpe.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/autocomplete-VMNbxKGl.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/createPopper-C3aM9r1M.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/js.cookie-D1-O8zkX.js" as="script" crossorigin="anonymous"><link rel="stylesheet" href="/vite/assets/application-C8HjmMaq.css" media="screen" />
<script>
window.ym = function(){(ym.a=ym.a||[]).push(arguments)};
window.addEventListener('load', function() {
setTimeout(function() {
ym.l = 1*new Date();
ym(window.gon.ym_counter, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
// Загружаем скрипт
var k = document.createElement('script');
k.async = 1;
k.src = 'https://mc.yandex.ru/metrika/tag.js';
document.head.appendChild(k);
ym(window.gon.ym_counter, 'getClientID', function(clientID) {
window.ymClientId = clientID;
});
}, 1500);
});
</script>
<!-- Google Tag Manager - deferred -->
<script>
// dataLayer stub сразу — пуши работают до загрузки скрипта
window.dataLayer = window.dataLayer || [];
// Сам скрипт — отложенно после load
window.addEventListener('load', function() {
setTimeout(function() {
dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
var j = document.createElement('script');
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-WK88TH';
document.head.appendChild(j);
}, 1500);
});
</script>
<!-- End Google Tag Manager -->
</head>
<body>
<noscript>
<div>
<img alt="" src="https://mc.yandex.ru/watch/25559621" style="position:absolute; left:-9999px;">
</div>
</noscript>
<header class="sticky-top bg-body">
<nav class="navbar navbar-expand-lg">
<div class="container-xxl">
<a class="navbar-brand" href="/"><img alt="Логотип Хекслета" height="24" src="https://ru.hexlet.io/vite/assets/logo_ru_light-BpiEA1LT.svg" width="96">
</a><button aria-controls="collapsable" aria-expanded="false" aria-label="Меню" class="navbar-toggler border-0 mb-0 mt-1" data-bs-target="#collapsable" data-bs-toggle="collapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsable">
<ul class="navbar-nav mb-lg-0 mt-lg-1">
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
Все курсы
<span class="bi bi-chevron-down align-middle ms-1"></span>
</button>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item d-flex py-2" href="/courses"><div class="fw-bold me-auto">Все что есть</div>
<div class="text-muted">117</div>
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные категории</b>
</li>
<li>
<a class="dropdown-item py-2" href="/courses_devops">Курсы по DevOps
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_data_analytics">Курсы по аналитике данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_programming">Курсы по программированию
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_testing">Курсы по тестированию
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные курсы</b>
</li>
<li>
<a class="dropdown-item py-2" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/go">Go-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/java">Java-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/python">Python-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/qa-auto-engineer-java">Автоматизатор тестирования на Java
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/data-analytics">Аналитик данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/frontend">Фронтенд-разработчик
</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
О Хекслете
<span class="bi bi-chevron-down align-middle"></span>
</button>
<ul class="dropdown-menu bg-body">
<li>
<a class="dropdown-item py-2" href="/pages/about">О нас
</a></li>
<li>
<a class="dropdown-item py-2" href="/blog">Блог
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/hse-research" role="button">Результаты (Исследование)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://career.hexlet.io" role="button">Хекслет Карьера
</span></li>
<li>
<a class="dropdown-item py-2" href="/testimonials">Отзывы студентов
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://t.me/hexlet_help_bot" role="button">Поддержка (В ТГ)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/referal-program/?promo_creative=priglasite-druzei&promo_name=referal-program&promo_position=promo_position&promo_start=010724&promo_type=link" role="button">Реферальная программа
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/certificate" role="button">Подарочные сертификаты
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://hh.ru/employer/4307094" role="button">Вакансии
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://b2b.hexlet.io" data-target="_blank" role="button">Компаниям
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexly.ru/" data-target="_blank" role="button">Колледж
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexlyschool.ru/" data-target="_blank" role="button">Частная школа
</span></li>
</ul>
</li>
<li><a class="nav-link" href="/subscription/new">Подписка</a></li>
</ul>
<ul class="navbar-nav flex-lg-row align-items-lg-center gap-2 ms-auto">
<li>
<a class="nav-link" aria-label="Переключить тему" href="/theme/switch?new_theme=dark"><span aria-hidden="true" class="bi bi-moon"></span>
</a></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="/u/new" role="button"><span>Регистрация</span>
</span></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="https://ru.hexlet.io/session/new" role="button"><span>Вход</span>
</span></li>
</ul>
</div>
</div>
</nav>
</header>
<div class="x-container-xxxl">
</div>
<main class="mb-6 min-vh-100 h-100">
<link rel="preload" as="image" href="/vite/assets/blog_post-7eTyeLLt.webp"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczMSwicHVyIjoiYmxvYl9pZCJ9fQ==--f5df4883f3f678321cb4fa96e9ce657bd5ee1adf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNywicHVyIjoiYmxvYl9pZCJ9fQ==--2d5cbbf5c3b4a73ae4b2c50632305d78f5872e4d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAyOCwicHVyIjoiYmxvYl9pZCJ9fQ==--ae9eed98663dd1201759d042a5ba7ca790866156/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programming-bro.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--f7793ed718d27cc7ce1799556a7623d56e7635f8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20snippets-rafiki.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY3NywicHVyIjoiYmxvYl9pZCJ9fQ==--745022c2f47ba4203dd11cd8922cd55d5bebfdca/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20typing-rafiki.png"/><link rel="preload" as="image" href="/vite/assets/development-BVihs_d5.png"/><div id="app" data-page="{"component":"web/blog/posts/show","props":{"errors":{},"locale":"ru","language":"ru","httpsHost":"https://ru.hexlet.io","host":"ru.hexlet.io","colorScheme":"light","auth":{"user":{"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26T18:04:43.834Z","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false}},"cloudflareTurnstileSiteKey":"0x4AAAAAAA15KmeFXzd2H0Xo","vkIdClientId":"51586979","yandexIdClientId":"88d071f1d3384eb4bd1deb37910235c7","formAuthToken":"6ljo_2Ej781bN5_9l187lTC_ez6-ovCvHzelV5a8hN8FiSPIk11Cre10u2WbUMvi8LZWlLaVDg2i1z8DxLtjsQ","post":{"model_name":"BlogPost","category":{"id":3,"name":"Истории успеха","slug":"success","state":"published","created_at":"2016-07-30T12:57:18.308Z"},"creator":{"public_name":"Евгений Квач","id":196310,"is_tutor":false},"tags":[{"id":633,"slug":"javascript","name":"JavaScript"}],"id":493,"title":"Как зеленый джуниор в IT попал","slug":"kak-zelenyy-dzhunior-v-it-popal","state":"published","summary":"Данная статья опубликована мной на «Хабре». Также хочу поделиться ей здесь, на моих любимых курсах Hexlet, очень много мне давших.","votes_count":61,"created_at":"2019-10-07T12:08:41.633Z","published_at":"2019-10-09T08:39:18.872Z","body":"Данная статья опубликована мной на «Хабре». Также хочу поделиться ей здесь, на моих любимых курсах Hexlet, очень много мне давших. \n\nПосле публикации на «Хабре» статей о bike меня много спрашивали, как я попал в IT. Мне и самому были очень интересны подобные статьи, когда я учился. Хорошо помню, как они придавали мне мотивации двигаться дальше. Именно эти причины побудили меня написать эту историю. \n\nВсего лишь год назад я работал в совершенно другой сфере, никак с IT не связанной, и лишь мечтал о работе программиста. И вот сейчас я уже практически middle в компании — резиденте Сколково. А начиналось все еще немного раньше, примерно в феврале 2018. Даже, пожалуй, еще раньше — летом 2017. \n\n::programs\n\n## Содержание\n\n## Об авторе\nНо прежде чем продолжить, хочу кратко рассказать о себе. Мне 32 года, есть двое мелких (2 и 4 года) и жена в декрете! В прошлой жизни я 8 лет работал в продажах, моя работа никогда не была связана с компьютером (кроме базовых штук вроде Excel и Outlook). Год назад я еще бегал и даже два раза пробежал марафон. \n\nРаботал на обычной работе, не хорошей и не плохой. И в декабре 2018 года я окончательно решил сменить профессию на ту, которая мне нравится — профессию программиста. \n\n## Почему программирование?\nТут появляется вопрос — а как именно я узнал, что мне нравится программирование, если никогда этим не занимался? У меня и самого нет ответа, это скорее цепь случайностей, чем какое-то «со школы нравился комп и ковыряться в нем» и все такое.\n \nНа самом деле меня никогда не тянуло «внутрь компьютера», в нем мне нравилось только играть в игры. Settlers2, Starcraft, Diablo2,Heroes3... ммм… И еще постоянно замечал за собой неодолимую тягу к Excel, к упорядочиванию и к математике. \n\n## Осень. Coach \nИтак, лето 2017 года, я продажник, зависаю на форуме трилайфа (пытался в триатлон), где нахожу парня — начинающего coach, который готов провести coach-сессию за опыт и отзыв. Почему нет? И вот мы на coach-сессии выясняем ответ на мой вопрос. На один вопрос. Кем я хочу быть? Это очень важный вопрос, и счастливчик тот, кто нашел на него ответ.\n \nВ итоге с помощью правильных вопросов прихожу к выводу — хочу быть программистом. И… успешно забиваю на это почти на целый год. \nСлучайность? Зерно посеяно.\n \n## Зима. Наставник\nВ феврале 2018 я случайно знакомлюсь с Сашей — моим наставником, вспоминаю все свои потаенные профессиональные желания и иду учиться. Анализирую, куда пойти, и решаю: на фронтенд (а что такое фронтенд?))). Почему? Да я и сам не знаю, мне показалось, тут интересно (это оказалось правдой)! \n\nВ итоге по совету наставника начинаю изучать js по всем известному русскоязычному сайту — learn.javascript.\nМатериала там уйма, но материал суховат. На рекурсии мой пыл окончательно угасает и занятия забрасываются. Кто-то сможет здесь учиться, но я только сейчас добираюсь сюда снова для более широкого и местами глубокого охвата. \nСлучайность? Земля полита. \n\n## О дружбе\nТут надо сделать небольшое лирическое отступление. У меня есть друг — Ваня. Мы с ним познакомились в организованной мной с еще одним приятелем любительской хоккейной команде. Потом как-то сблизились благодаря похожим взглядам на некоторые аспекты жизни и совместной постоянной дороге на работу.\n \nПотом я ушел из хоккея и начал заниматься бегом, а он все смеялся надо мной. Над тем, как я купил пульсометр и все время замерял пульс. Но в итоге он, поглядев на меня, пришел в бег и даже купил пульсометр. Далее мы вместе пробежали полумарафон, потом и марафон.\n\nВо время подготовки к этим забегам естественным образом меняется жизненный ритм и вообще жизненная позиция. Если курил — бросаешь. Если пил — тоже. Если ел дрянь — тоже бросаешь. Плюс постоянные тренировки и цель учат тебя не только размышлять, теоретезировать и планировать, но идти к ним и достигать их, включая преодоления препятствий. \n \nВ общем, мы с ним вместе прошли весь этот цикл перерождения тела и духа, притом он ушел даже дальше меня. \nСлучайность? Земля удобрена.\n \n## Весна.Курсы!\nИ вот наступает конец осени 2018 года. Примерно в ноябре-декабре Ваня рассказал мне про курсы. Даже не курсы,а Курсы — Hexlet! Он и сам дозрел до смены профессии с экономической на айти и стал заниматься. Понравилось, поделился со мной. Курсы сыграли важнейшую роль в моем становлении как инженера, а не эникейщика. Поэтому написав о них на Хабре, хочу отдать им — и конкретно Кириллу — дань уважения и поблагодарить. \n\nИтак, декабрь, я стартую свое обучение на курсах. Очень нравится, материал доступный, но в то же время сложный. Приходится много думать самому и искать решение проблем самостоятельно, что, забегая вперед, скажу, мне очень пригодилось уже на работе. \nСлучайность? Первые ростки. \n\n## Бывало трудно\nУчусь не отступать перед сложностями. Тут уже есть некий опыт при подготовке к марафону, который помогает. Учусь продолжать даже в сложные моменты.\n \nА они бывали. Критическими были 2 точки. Первая на 3 проекте,когда я полностью переписывал проект 2 раза с нуля. Стирал все и начинал заново. Руки опустились очень низко, но силы продолжить нашлись. Спасибо тебе, бег!. Это примерно как на 37 км марафона поймать стену, но не перейти на шаг. Кирилла я тогда возненавидел. Но потом отпустило.\n \nИ второй момент. Однажды,чтобы идти дальше, мне пришлось вернуться на два курса назад, повторить эти два курса и повторить еще один более старый. Данная операция заняла у меня две недели. И все для того, чтобы решить одну задачу, которую никак не мог решить. \n\nФевраль 2019. Я как продажник пытаюсь хакнуть систему и перескочить в программисты на развитых софт и не очень пока хард-скиллах. Не получается, но получаю первый опыт собеседований.\n \nПродолжаю усиленно грызть гранит науки. Усиленно — это по 2-3 часа каждый рабочий день и больше на выходных. Это помимо основной работы и семейно-отцовских обязанностей. На каждый проект, который тогда еще длился неделю, трачу по 40 часов и более. \n\nНаступает апрель. Курсы по js пройдены, впереди react и последний проект. Опять волна собеседований, опять отказы, но уже хотя бы понимаю, что мне говорят, и могу отвечать. \n \nНе унываю, тем более, что мой дружбан хоккеист-марафонец в апреле устраивается работать в отличную компанию. В тот период безумно радуюсь за него, и это сильно мотивирует продолжать, хотя не скажу, что как-то был демотивирован. Мне явно нравилось то,чем занимаюсь и хотелось выучить все-все по теме, до чего дотянутся руки(сейчас это жжение только усилилось!) \n\nМай. Прохожу последние курсы и неожиданно быстро и легко пишу последний проект. Курсы окончены. Я более или менее секу в js react (фактически хороший фундамент). \n\n## Лето! Собеседования\nАктивизируюсь в плане собеседований. Тут стоит сделать еще одно лирическое отступление. Я продажник с большим опытом, у меня есть опыт общения с людьми, я не боюсь звонить незнакомому человеку и что-то у него узнавать. Я боюсь выступать перед людьми, но одновременно это мне нравится. \nСлучайность? Грядка прополота. \n\n\n## О подходе\nМой опыт говорит о том, что всем нравится индивидуальный подход. Поэтому беру поиски компании в свои руки. Делаю выборку компаний,которые мне нравятся. Боюсь, но включаю сюда и те компании, в которые, судя по требованиям, не прохожу. \n\nПишу в каждую сопроводительное письмо, где расписываю, чем я могу быть им полезен, а что я пока не знаю, но выучу и узнаю. В итоге мне дают пару тестовых заданий и пару приглашений на собеседования. \n\nСобеседования в целом проходят очень позитивно, это уже технические собеседования. Беседуем на равных с техническими специалистами компаний (не в плане знаний, а в плане общечеловеческих взаимоотношений). Мне дают обратную связь, рекомендуют что-то подтянуть. \n\n## Ремарка будущим джунам\nЯ знаю, как интересно почитать будущим junior о составе собеседования, но и сказать-то особо нечего. Люди в основном смотрят на общую адекватность, плюс как-то пытаются оценить потенциал. По крайней мере адекватные люди. К тем, кто пытается как-то иначе — и работать идти не стоит. Именно так я решил и заранее «запрограммировал» себя на то, что достоин хорошего места. А раз так, то нет никакого смысла идти лишь бы куда.\n \nЭто помогло мне вести диалог с работодателем на равных, тем самым давая понять, что как они выбирают меня, так и я выбираю их. Это важно — снять лишние барьеры в голове. Что касается технических моментов, то учите базовые вещи: рекурсия, замыкания, лексическое окружение и так далее, язык и гуглите [о прохождении собеседований](https://ru.hexlet.io/blog/categories/career). Ответственно подойдите к этому. Прохождение собеседований — это такой же навык, и его можно отработать! Так же хочу отметить, что запрограммировать себя в голове царем без реальных на то оснований — затея бесполезная и опасная. \n\n## Тестовые задания\nИз интересного — в ВТБ мне дали тестовое задание. Нужно на карте отрисовать 100 маркеров в рандомных местах. Хорошо, если взаимодействовать с сервером и отлично, если на суше.\n \nЗадание пришлось мне по вкусу, в итоге сделал два репозитория на гите. В первом просто запрашивал у сторонних апи нужные данные, а на втором прикрутил свой сервер и простенькое кэширование результатов. \n \nЯ спросил себя: как определить сушу, чем она характерна? Тем, что, например, все города на суше! Значит мне нужно ставить маркеры на рандомных городах. Еще приятель подкинул мысль, что вся суша выше нуля, но это мне показалось сложнее в реализации.\n \nВ итоге карта у меня гугл, города я запрашивал во «ВКонтакте». Для этого сначала приходилось запрашивать страны,потом города уходили на геокодирование в «Яндекс», откуда возвращались координаты. \n\nКоординаты складывались в массив на сервере. Когда на мое приложение (задеплоено на Хероку, может стартовать 30 секунд из-за особенностей этого бесплатного хостинга) заходил новый юзер, добавлялись новые координаты (вк-вк-яндекс-моя карта гугла).\n \nКогда количество координат достигает определенного уровня, при заходе каждого нового юзера уходит только один запрос, который добавляет только еще одну пачку координат. Правда БД тут нет, и когда сервер Хероку засыпает (полчаса без посещений), а потом просыпается, то все сначала. Потом прикрутил карту «Яндекса» и сделал простенький переключатель в фирменных цветах. \n\nСтолкнулся с проблемой cors, решил ее через сервис,который позволяет это обходить, но сильно ограничивает количество запросов. В общем нравилось мне это. \nПравда к стыду данного сотрудника ВТБ стоит отметить, что он куда-то совершенно слился и не дал мне обратной связи.\n \nВот [первый вариант](http://chilly-transport.surge.sh/) — без сервера. \nА вот [второй вариант](https://maps-server-euhoo.herokuapp.com/) — с сервером. \nПосле долгого простоя стартуют 30 секунд. \n\n## Работа!\nИтак, конец мая. Компания из Сколково. Их требования явно выше моих компетенций. Боюсь, но все же кидаю резюме, очень хотел сюда устроится. \nОни отвечают, дают несложное тестовое: cделать простенькую страничку с пагинацией, фильтром и простеньким сервером. Есть небольшое количество данных, необходимо реализовать работу странички, взаимодействие с сервером по стандартам REST и все такое.\n \nВерстки особо не требуется, скорее понимание REST, что такое json, клиент-серверное взаимодействие и логика на js. \nВ общем [делаю](https://coreclass.herokuapp.com/), отправляю. Им нравится,зовут на собес. \n \nПрихожу, беседуем с Катей из HR, моим будущим тимлидом Сашей и старшим коллегой Сергеем. В основном уже не технические вопросы, скорее как раз на адекватность и мои амбиции. Они смотрят, я ли тот человек, кто решил их тестовое.\n \nУезжаю от них в гнетущем настроении. Мне явно понравилось, но по требованиям явно не дотягиваю. Приезжаю домой,иду в магазин и там меня настигает звонок с оффером! От них, от тех, куда я так хотел попасть! Они согласовали мои условия! \nОщущения — не передать словами! \n\n## На работе\nСтоит отметить, что взяв меня — зеленого джуна — компания,конечно, рисковала. \nНо в итоге за 3 месяца испытательного срока я сумел проявить себя, проявить инициативу и стать самостоятельным работникам. \n\nПо собственной инициативе приезжаю на работу на час-полтора раньше(3-4 дня из 5). В это время никого нет, и я спокойно учусь. За первые недели две после настройки окружения освоил Angularjs и активно влился в проект.\n \nДалее сразу по собственной инициативе привнес js es6 и выше в наш проект (раньше не было babel, и коллеги не могли использовать новый синтаксис). По собственной инициативе настроил сборку на Webpack и довел ее до последней версии. Ранее у нас просто bat файл собирал.\n \nПо собственной инициативе полностью переделал интеграцию нашего проекта с другим нашим подпроектом. На нашем сайте используется карта — это тоже подпроект. И раньше она загружалась каждый раз по новой при переходе на другую страницу, а это более 4 МБ. Я сделал единую карту на весь проект, и это только одна загрузка! Ну и по мелочи добавил.\n \nДобавил на проект куки, потом заменил на свежеизученный localStorage. Также по собственной инициативе написал программу, аналог webpack-dev-server.\n\nВ срок или быстрее выполнял текущие задачи,а все остальное (кроме карты) делал в свое свободное время, так как мне просто НРАВИТСЯ это! Мне хочется делать наш проект удобнее и лучше! И я просто кайфую от этого! Так же учился расставлять приоритеты по текущим задачам.\n \nВ итоге проходит 3,5 месяца, опять проявляю инициативу и получаю повышение! \nНе знаю, junior ли я еще? Наверное уже нет. Дерево растет! \n\n\n## Заключение\n\nИтак, получается вот такая цепь случайностей. Много лет работаю в продажах, где учусь не бояться взаимодействовать с окружающими людьми и проявлять инициативу. Создаю хоккейную команду, где познакомлюсь с приятелем, который потом осуществляет решающий импульс в сторону моего изучения программирования (волшебный пендель). \n\nНачинаю бегать, чтобы сбросить вес, а в итоге учусь составлять и выполнять план, сложности воспринимать как часть плана и преодолевать их, учусь «надо» превращать в действие. \n \nВстречаю coach, с которым прихожу к выводу о работе программистом — первый импульс. Встречаю наставника,который дал второй импульс. \nХронологически волшебный пендель в этом месте. \n\nВ заключении хочу сказать, что мне очень нравится работа, нравится ощущения от «командной игры», нравится коллектив (у нас реально отличные ребята и тимлид). Сразу после устройства на работу я составил себе план саморазвития, разбил его по месяцам. Постоянно самообучаюсь и самосовершенствуюсь. У меня довольно много пробелов в знаниях, но я их вычисляю и устраняю! Чем больше устраняю, тем больше появляется новых.\n \nТакже хочу отметить, что даже на самом скучном легаси на angularjs (хотя у нас качественно написано) можно найти очень интересные задачи и постоянно развиваться. \n\nВсе дело в том, как посмотреть! \n\n::posts\n\n## Благодарности\nСчитаю,что благодарностей много не бывает, и вообще надо почаще их выражать близким людям! Хочу поблагодарить 3 людей, без которых не было бы моей победы. \nМоя жена, Галя. Я знаю, как тебе было тяжело последнее время, я ощущаю твою поддержку. Без тебя бы ничего этого не было. Все это для тебя! \n \nМой друг, Ваня. Как прекрасно, когда в зрелом возрасте обретаешь то, чего совершенно не ждешь и не особенно-то веришь, что можешь обрести! И обретаешь это не эгоистично, а даже в некоторой степени альтруистично! Уверен, мы с тобой способны очень на многое!\n \nМой наставник, Саша. Хоть мы ни разу не виделись и у тебя чересчур резкие взгляды, но ты сильная личность и оказал очень большое влияние на меня как программиста, за что я безмерно тебе благодарен. Я бы не смог добиться того,чего добился,если бы не наши разговоры и твое наставничество. \n\n## Послесловие\nПытливый читатель может заметить, что еще за чертовщина с временами года в повествовании? Автор,куда ты смотришь? Для усиления эффекта статьи мне хотелось пройти цикл смен времен года как метафору зарождения новой жизни. Вот такая получается еще одна история. \n\nP.S. Сейчас снова вернулся на «Хекслет». Прохожу БД, дальше сервер и после нового года Java! Очень надеюсь,что Java наконец-то сдвинется здесь с мертвой точки.\n\nОригинал статьи [опубликован на «Хабре»](https://habr.com/ru/post/470451/).","reading_time":9,"url":"https://ru.hexlet.io/blog/posts/kak-zelenyy-dzhunior-v-it-popal","cover_thumb_variant":null,"cover_list_variant":"/vite/assets/blog_post-7eTyeLLt.webp","cover_main_variant":"/vite/assets/blog_post-7eTyeLLt.webp","related_stacks_count":5},"relatedPosts":[{"model_name":"BlogPost","id":491,"title":"Большой путь начинается с маленького шага. #ITStory 2019","slug":"bolshoy-put-nachinaetsya-s-malenkogo-shaga-itstory-2019","summary":"Краткая история моего вхождения в IT индустрию в 29 лет. Польза «Хекслета» очевидна, и её нельзя игнорировать. ","created_at":"2019-10-06T17:35:45.113Z","published_at":"2019-10-08T09:48:18.023Z","cover_list_variant":"/vite/assets/blog_post-7eTyeLLt.webp"},{"model_name":"BlogPost","id":483,"title":"Путь от эникейщика до программиста","slug":"put-ot-enikeyschika-do-programmista","summary":"Конечно, это здорово, когда ты можешь и комп с принтером починить, и сервак на любой оси поднять, и письмо накатать в министерство связи. Среди юристов и бухгалтеров ты конечно же первый парень на деревне, но это не делает тебя крутым специалистом в принципе. Ты занимаешься всем и сразу, а в итоге ничем. Распыляешь свою энергию и не можешь углубиться ни во что конкретно. Вот я и превратился в 33-х летнего эникейщика. История рассказывает, как я выбрался из этой ловушки.","created_at":"2019-09-30T10:07:12.795Z","published_at":"2019-10-03T06:50:19.324Z","cover_list_variant":"/vite/assets/blog_post-7eTyeLLt.webp"},{"model_name":"BlogPost","id":482,"title":"Индиана Джонс: в поисках утраченного призвания","slug":"indiana-dzhons-v-poiskah-utrachennogo-prizvaniya","summary":"Очень важно не ошибиться с выбором профессии. Но если ошибешься — никогда не поздно все исправить и найти занятие по душе.","created_at":"2019-09-27T13:53:07.370Z","published_at":"2019-10-01T06:39:42.583Z","cover_list_variant":"/vite/assets/blog_post-7eTyeLLt.webp"}],"category":{"id":3,"name":"Истории успеха","slug":"success","state":"published","created_at":"2016-07-30T12:57:18.308Z"},"mainStackCategory":{"id":2,"name":"Курсы по веб-разработке","slug":"web_development","short_name":"Веб-разработка","order":190,"state":"published","category_slug":"courses_web_development"},"categories":[{"id":6,"name":"Мотивация","slug":"motivation","state":"published","created_at":"2016-10-06T18:31:38.903Z"},{"id":3,"name":"Истории успеха","slug":"success","state":"published","created_at":"2016-07-30T12:57:18.308Z"},{"id":14,"name":"Дневник студента","slug":"student-diary","state":"published","created_at":"2019-02-25T13:27:09.471Z"},{"id":4,"name":"Код","slug":"code","state":"published","created_at":"2016-08-23T13:33:44.258Z"},{"id":12,"name":"Карьера","slug":"career","state":"published","created_at":"2017-07-21T15:42:21.481Z"}],"relatedLandings":[{"stack":{"id":7,"slug":"python","title":"Python-разработчик","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":10,"duration_in_months":10},"id":7,"slug":"python","title":"Python-разработчик ","subtitle":"Изучите Python, Django, REST и Fast API для создания веб-приложений","subtitle_for_lists":"Изучите Python, Django, REST и Fast API для создания веб-приложений","locale":"ru","current":true,"duration_in_months_text":"10 месяцев","stack_slug":"python","price_text":"от 6 792 ₽","duration_text":"10 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczMSwicHVyIjoiYmxvYl9pZCJ9fQ==--f5df4883f3f678321cb4fa96e9ce657bd5ee1adf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png"},{"stack":{"id":12,"slug":"frontend","title":"Фронтенд-разработчик","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":20,"duration_in_months":10},"id":17,"slug":"frontend","title":"Фронтенд-разработчик","subtitle":"Изучите HTML, CSS, JavaScript и React","subtitle_for_lists":"Изучите HTML, CSS, JavaScript и React","locale":"ru","current":true,"duration_in_months_text":"10 месяцев","stack_slug":"frontend","price_text":"от 6 792 ₽","duration_text":"10 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNywicHVyIjoiYmxvYl9pZCJ9fQ==--2d5cbbf5c3b4a73ae4b2c50632305d78f5872e4d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png"},{"stack":{"id":34,"slug":"algorithms","title":"Алгоритмы и структуры данных","audience":"for_programmers","start_type":"anytime","pricing_model":"subscription","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":4000,"duration_in_months":2},"id":56,"slug":"algorithms","title":"Алгоритмы и структуры данных","subtitle":"Навык, который увеличит ваши шансы пройти алгоритмическое интервью в международные компании на 80%","subtitle_for_lists":"Алгоритмы для собеседований","locale":"ru","current":true,"duration_in_months_text":"2 месяца","stack_slug":"algorithms","price_text":"от 3 900 ₽","duration_text":"2 месяца","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAyOCwicHVyIjoiYmxvYl9pZCJ9fQ==--ae9eed98663dd1201759d042a5ba7ca790866156/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programming-bro.png"},{"stack":{"id":180,"slug":"fullstack-python","title":"Fullstack-разработчик на Python","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":null,"duration_in_months":16},"id":281,"slug":"fullstack-python","title":"Fullstack-разработчик на Python","subtitle":"","subtitle_for_lists":null,"locale":"ru","current":true,"duration_in_months_text":"16 месяцев","stack_slug":"fullstack-python","price_text":"от 7 934 ₽","duration_text":"16 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--f7793ed718d27cc7ce1799556a7623d56e7635f8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20snippets-rafiki.png"},{"stack":{"id":131,"slug":"flask","title":"Веб разработка на Python","audience":"for_beginners","start_type":"anytime","pricing_model":"subscription","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":1050,"duration_in_months":1},"id":222,"slug":"flask","title":"Веб-разработка на Python","subtitle":"Навык создания веб-приложений на Flask для разработки лёгких и гибких серверных решений","subtitle_for_lists":"Навык создания веб-приложений на Flask","locale":"ru","current":true,"duration_in_months_text":"1 месяц","stack_slug":"flask","price_text":"от 3 900 ₽","duration_text":"1 месяц","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY3NywicHVyIjoiYmxvYl9pZCJ9fQ==--745022c2f47ba4203dd11cd8922cd55d5bebfdca/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20typing-rafiki.png"}]},"url":"/blog/posts/kak-zelenyy-dzhunior-v-it-popal","version":"143505ecd123087a8fdfa4acb7147980e9d23d76","encryptHistory":false,"clearHistory":false}"><style data-mantine-styles="true">:root, :host{--mantine-font-family: Arial, sans-serif;--mantine-font-family-headings: Arial, sans-serif;--mantine-heading-font-weight: normal;--mantine-radius-default: 0rem;--mantine-primary-color-filled: var(--mantine-color-indigo-filled);--mantine-primary-color-filled-hover: var(--mantine-color-indigo-filled-hover);--mantine-primary-color-light: var(--mantine-color-indigo-light);--mantine-primary-color-light-hover: var(--mantine-color-indigo-light-hover);--mantine-primary-color-light-color: var(--mantine-color-indigo-light-color);--mantine-spacing-xxl: calc(4rem * var(--mantine-scale));--mantine-font-size-xs: 12px;--mantine-font-size-sm: 14px;--mantine-font-size-md: 16px;--mantine-font-size-lg: clamp(16.0000px, calc(15.2727px + 0.2273vw), 18.0000px);--mantine-font-size-xl: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-display-3: clamp(32.0000px, calc(26.1818px + 1.8182vw), 48.0000px);--mantine-font-size-display-2: clamp(36.0000px, calc(25.8182px + 3.1818vw), 64.0000px);--mantine-font-size-display-1: clamp(40.0000px, calc(25.4545px + 4.5455vw), 80.0000px);--mantine-font-size-h1: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-font-size-h2: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-font-size-h3: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-font-size-h4: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-font-size-h5: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-h6: 1rem;--mantine-primary-color-0: var(--mantine-color-indigo-0);--mantine-primary-color-1: var(--mantine-color-indigo-1);--mantine-primary-color-2: var(--mantine-color-indigo-2);--mantine-primary-color-3: var(--mantine-color-indigo-3);--mantine-primary-color-4: var(--mantine-color-indigo-4);--mantine-primary-color-5: var(--mantine-color-indigo-5);--mantine-primary-color-6: var(--mantine-color-indigo-6);--mantine-primary-color-7: var(--mantine-color-indigo-7);--mantine-primary-color-8: var(--mantine-color-indigo-8);--mantine-primary-color-9: var(--mantine-color-indigo-9);--mantine-color-red-0: #ffeaea;--mantine-color-red-1: #fed4d4;--mantine-color-red-2: #f4a7a8;--mantine-color-red-3: #ec7878;--mantine-color-red-4: #e55050;--mantine-color-red-5: #e03131;--mantine-color-red-6: #e02829;--mantine-color-red-7: #c71a1c;--mantine-color-red-8: #b21218;--mantine-color-red-9: #9c0411;--mantine-color-violet-0: #fce9ff;--mantine-color-violet-1: #f1cfff;--mantine-color-violet-2: #e09bff;--mantine-color-violet-3: #d16fff;--mantine-color-violet-4: #be37fe;--mantine-color-violet-5: #b51afe;--mantine-color-violet-6: #b009ff;--mantine-color-violet-7: #9b00e4;--mantine-color-violet-8: #8a00cc;--mantine-color-violet-9: #7800b3;--mantine-color-indigo-0: #edecff;--mantine-color-indigo-1: #d6d5fe;--mantine-color-indigo-2: #aaa9f4;--mantine-color-indigo-3: #7b79eb;--mantine-color-indigo-4: #5451e4;--mantine-color-indigo-5: #3b37e0;--mantine-color-indigo-6: #2d2adf;--mantine-color-indigo-7: #1f1ec7;--mantine-color-indigo-8: #1819b2;--mantine-color-indigo-9: #0c149e;--mantine-color-cyan-0: #dffdff;--mantine-color-cyan-1: #caf5ff;--mantine-color-cyan-2: #99e8ff;--mantine-color-cyan-3: #64daff;--mantine-color-cyan-4: #3ccffe;--mantine-color-cyan-5: #24c8fe;--mantine-color-cyan-6: #00c2ff;--mantine-color-cyan-7: #00ade4;--mantine-color-cyan-8: #009acd;--mantine-color-cyan-9: #0085b5;--mantine-color-green-0: #e9fdec;--mantine-color-green-1: #d7f6dc;--mantine-color-green-2: #b0eab9;--mantine-color-green-3: #86df94;--mantine-color-green-4: #62d574;--mantine-color-green-5: #4ccf5f;--mantine-color-green-6: #3fcc54;--mantine-color-green-7: #2fb344;--mantine-color-green-8: #25a03b;--mantine-color-green-9: #138a2e;--mantine-color-yellow-0: #fff7e2;--mantine-color-yellow-1: #ffeecd;--mantine-color-yellow-2: #ffdc9c;--mantine-color-yellow-3: #ffc966;--mantine-color-yellow-4: #feb93a;--mantine-color-yellow-5: #feae1e;--mantine-color-yellow-6: #ffa90f;--mantine-color-yellow-8: #ca8200;--mantine-color-yellow-9: #af7000;--mantine-h1-font-size: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-h1-font-weight: normal;--mantine-h2-font-size: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-h2-font-weight: normal;--mantine-h3-font-size: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-h3-font-weight: normal;--mantine-h4-font-size: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-h4-font-weight: normal;--mantine-h5-font-size: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-h5-font-weight: normal;--mantine-h6-font-size: 1rem;--mantine-h6-font-weight: normal;}
:root[data-mantine-color-scheme="dark"], :host([data-mantine-color-scheme="dark"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-dark-filled: var(--mantine-color-dark-5);--mantine-color-dark-filled-hover: var(--mantine-color-dark-6);--mantine-color-dark-light: rgba(105, 105, 105, 0.15);--mantine-color-dark-light-hover: rgba(105, 105, 105, 0.2);--mantine-color-dark-light-color: var(--mantine-color-dark-0);--mantine-color-dark-outline: var(--mantine-color-dark-1);--mantine-color-dark-outline-hover: rgba(184, 184, 184, 0.05);--mantine-color-gray-filled: var(--mantine-color-gray-5);--mantine-color-gray-filled-hover: var(--mantine-color-gray-6);--mantine-color-gray-light: rgba(222, 226, 230, 0.15);--mantine-color-gray-light-hover: rgba(222, 226, 230, 0.2);--mantine-color-gray-light-color: var(--mantine-color-gray-0);--mantine-color-gray-outline: var(--mantine-color-gray-1);--mantine-color-gray-outline-hover: rgba(241, 243, 245, 0.05);--mantine-color-red-filled: var(--mantine-color-red-5);--mantine-color-red-filled-hover: var(--mantine-color-red-6);--mantine-color-red-light: rgba(236, 120, 120, 0.15);--mantine-color-red-light-hover: rgba(236, 120, 120, 0.2);--mantine-color-red-light-color: var(--mantine-color-red-0);--mantine-color-red-outline: var(--mantine-color-red-1);--mantine-color-red-outline-hover: rgba(254, 212, 212, 0.05);--mantine-color-pink-filled: var(--mantine-color-pink-5);--mantine-color-pink-filled-hover: var(--mantine-color-pink-6);--mantine-color-pink-light: rgba(250, 162, 193, 0.15);--mantine-color-pink-light-hover: rgba(250, 162, 193, 0.2);--mantine-color-pink-light-color: var(--mantine-color-pink-0);--mantine-color-pink-outline: var(--mantine-color-pink-1);--mantine-color-pink-outline-hover: rgba(255, 222, 235, 0.05);--mantine-color-grape-filled: var(--mantine-color-grape-5);--mantine-color-grape-filled-hover: var(--mantine-color-grape-6);--mantine-color-grape-light: rgba(229, 153, 247, 0.15);--mantine-color-grape-light-hover: rgba(229, 153, 247, 0.2);--mantine-color-grape-light-color: var(--mantine-color-grape-0);--mantine-color-grape-outline: var(--mantine-color-grape-1);--mantine-color-grape-outline-hover: rgba(243, 217, 250, 0.05);--mantine-color-violet-filled: var(--mantine-color-violet-5);--mantine-color-violet-filled-hover: var(--mantine-color-violet-6);--mantine-color-violet-light: rgba(209, 111, 255, 0.15);--mantine-color-violet-light-hover: rgba(209, 111, 255, 0.2);--mantine-color-violet-light-color: var(--mantine-color-violet-0);--mantine-color-violet-outline: var(--mantine-color-violet-1);--mantine-color-violet-outline-hover: rgba(241, 207, 255, 0.05);--mantine-color-indigo-filled: var(--mantine-color-indigo-5);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-6);--mantine-color-indigo-light: rgba(123, 121, 235, 0.15);--mantine-color-indigo-light-hover: rgba(123, 121, 235, 0.2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-0);--mantine-color-indigo-outline: var(--mantine-color-indigo-1);--mantine-color-indigo-outline-hover: rgba(214, 213, 254, 0.05);--mantine-color-blue-filled: var(--mantine-color-blue-5);--mantine-color-blue-filled-hover: var(--mantine-color-blue-6);--mantine-color-blue-light: rgba(116, 192, 252, 0.15);--mantine-color-blue-light-hover: rgba(116, 192, 252, 0.2);--mantine-color-blue-light-color: var(--mantine-color-blue-0);--mantine-color-blue-outline: var(--mantine-color-blue-1);--mantine-color-blue-outline-hover: rgba(208, 235, 255, 0.05);--mantine-color-cyan-filled: var(--mantine-color-cyan-5);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-6);--mantine-color-cyan-light: rgba(100, 218, 255, 0.15);--mantine-color-cyan-light-hover: rgba(100, 218, 255, 0.2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-0);--mantine-color-cyan-outline: var(--mantine-color-cyan-1);--mantine-color-cyan-outline-hover: rgba(202, 245, 255, 0.05);--mantine-color-teal-filled: var(--mantine-color-teal-5);--mantine-color-teal-filled-hover: var(--mantine-color-teal-6);--mantine-color-teal-light: rgba(99, 230, 190, 0.15);--mantine-color-teal-light-hover: rgba(99, 230, 190, 0.2);--mantine-color-teal-light-color: var(--mantine-color-teal-0);--mantine-color-teal-outline: var(--mantine-color-teal-1);--mantine-color-teal-outline-hover: rgba(195, 250, 232, 0.05);--mantine-color-green-filled: var(--mantine-color-green-5);--mantine-color-green-filled-hover: var(--mantine-color-green-6);--mantine-color-green-light: rgba(134, 223, 148, 0.15);--mantine-color-green-light-hover: rgba(134, 223, 148, 0.2);--mantine-color-green-light-color: var(--mantine-color-green-0);--mantine-color-green-outline: var(--mantine-color-green-1);--mantine-color-green-outline-hover: rgba(215, 246, 220, 0.05);--mantine-color-lime-filled: var(--mantine-color-lime-5);--mantine-color-lime-filled-hover: var(--mantine-color-lime-6);--mantine-color-lime-light: rgba(192, 235, 117, 0.15);--mantine-color-lime-light-hover: rgba(192, 235, 117, 0.2);--mantine-color-lime-light-color: var(--mantine-color-lime-0);--mantine-color-lime-outline: var(--mantine-color-lime-1);--mantine-color-lime-outline-hover: rgba(233, 250, 200, 0.05);--mantine-color-yellow-filled: var(--mantine-color-yellow-5);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-6);--mantine-color-yellow-light: rgba(255, 201, 102, 0.15);--mantine-color-yellow-light-hover: rgba(255, 201, 102, 0.2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-0);--mantine-color-yellow-outline: var(--mantine-color-yellow-1);--mantine-color-yellow-outline-hover: rgba(255, 238, 205, 0.05);--mantine-color-orange-filled: var(--mantine-color-orange-5);--mantine-color-orange-filled-hover: var(--mantine-color-orange-6);--mantine-color-orange-light: rgba(255, 192, 120, 0.15);--mantine-color-orange-light-hover: rgba(255, 192, 120, 0.2);--mantine-color-orange-light-color: var(--mantine-color-orange-0);--mantine-color-orange-outline: var(--mantine-color-orange-1);--mantine-color-orange-outline-hover: rgba(255, 232, 204, 0.05);--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-9) 0%, var(--mantine-color-cyan-7) 100%);--app-color-surface: #2e2e2e;}
:root[data-mantine-color-scheme="light"], :host([data-mantine-color-scheme="light"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-red-light: rgba(224, 40, 41, 0.1);--mantine-color-red-light-hover: rgba(224, 40, 41, 0.12);--mantine-color-red-outline-hover: rgba(224, 40, 41, 0.05);--mantine-color-violet-light: rgba(176, 9, 255, 0.1);--mantine-color-violet-light-hover: rgba(176, 9, 255, 0.12);--mantine-color-violet-outline-hover: rgba(176, 9, 255, 0.05);--mantine-color-indigo-light: rgba(45, 42, 223, 0.1);--mantine-color-indigo-light-hover: rgba(45, 42, 223, 0.12);--mantine-color-indigo-outline-hover: rgba(45, 42, 223, 0.05);--mantine-color-cyan-light: rgba(0, 194, 255, 0.1);--mantine-color-cyan-light-hover: rgba(0, 194, 255, 0.12);--mantine-color-cyan-outline-hover: rgba(0, 194, 255, 0.05);--mantine-color-green-light: rgba(63, 204, 84, 0.1);--mantine-color-green-light-hover: rgba(63, 204, 84, 0.12);--mantine-color-green-outline-hover: rgba(63, 204, 84, 0.05);--mantine-color-yellow-light: rgba(255, 169, 15, 0.1);--mantine-color-yellow-light-hover: rgba(255, 169, 15, 0.12);--mantine-color-yellow-outline-hover: rgba(255, 169, 15, 0.05);--app-color-surface: #f1f3f5;--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-5) 100%);}</style><style data-mantine-styles="classes">@media (max-width: 35.99375em) {.mantine-visible-from-xs {display: none !important;}}@media (min-width: 36em) {.mantine-hidden-from-xs {display: none !important;}}@media (max-width: 47.99375em) {.mantine-visible-from-sm {display: none !important;}}@media (min-width: 48em) {.mantine-hidden-from-sm {display: none !important;}}@media (max-width: 61.99375em) {.mantine-visible-from-md {display: none !important;}}@media (min-width: 62em) {.mantine-hidden-from-md {display: none !important;}}@media (max-width: 74.99375em) {.mantine-visible-from-lg {display: none !important;}}@media (min-width: 75em) {.mantine-hidden-from-lg {display: none !important;}}@media (max-width: 87.99375em) {.mantine-visible-from-xl {display: none !important;}}@media (min-width: 88em) {.mantine-hidden-from-xl {display: none !important;}}</style><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","author":"Евгений Квач","name":"Как зеленый джуниор в IT попал","datePublished":"2019-10-09T08:39:18.872Z","headline":"Данная статья опубликована мной на «Хабре». Также хочу поделиться ей здесь, на моих любимых курсах Hexlet, очень много мне давших.","image":"/vite/assets/blog_post-7eTyeLLt.webp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":61}]}</script><div style="--container-size:var(--container-size-lg);margin-top:var(--mantine-spacing-xl);height:100%" class="m_7485cace mantine-Container-root" data-size="lg" data-strategy="block"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"position":1,"@type":"ListItem","item":{"@id":"/blog","name":"Блог Хекслета"}},{"position":2,"@type":"ListItem","item":{"@id":"/blog/categories/success","name":"Истории успеха"}},{"position":3,"@type":"ListItem","item":{"@id":"/blog/posts/kak-zelenyy-dzhunior-v-it-popal","name":"Как зеленый джуниор в IT попал"}}]}</script><div style="margin-bottom:var(--mantine-spacing-xs)" class="m_8b3717df mantine-Breadcrumbs-root"><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/"><div style="color:inherit" class="m_4451eb3a mantine-Center-root"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-home-link "><path d="M20.085 11.085l-8.085 -8.085l-9 9h2v7a2 2 0 0 0 2 2h4.5"></path><path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 1.807 1.143"></path><path d="M20 21a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M20 16a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M15 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M21 16l-5 3l5 2"></path></svg></div></a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/blog">Блог Хекслета</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/blog/categories/success">Истории успеха</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><p style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:var(--mantine-color-dimmed)" class="mantine-focus-auto m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root" data-size="sm">Как зеленый джуниор в IT попал</p></div><style data-mantine-styles="inline">.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}@media(min-width: 36em){.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}}</style><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root __m__-_R_eub_"><style data-mantine-styles="inline">.__m__-_R_deub_{width:100%;}@media(min-width: 36em){.__m__-_R_deub_{width:70%;}}@media(min-width: 75em){.__m__-_R_deub_{width:75%;}}</style><div class="__m__-_R_deub_"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><h1 style="--title-fw:var(--mantine-h1-font-weight);--title-lh:var(--mantine-h1-line-height);--title-fz:var(--mantine-h1-font-size)" class="m_8a5d1357 mantine-Title-root" data-order="1">Как зеленый джуниор в IT попал</h1></div></div></div><div style="position:absolute;top:calc(18.75rem * var(--mantine-scale))" class=""></div><style data-mantine-styles="inline">.__m__-_R_2iub_{--grid-gutter:var(--mantine-spacing-xl);}</style><div class="m_410352e9 mantine-Grid-root __m__-_R_2iub_"><div class="m_dee7bd2f mantine-Grid-inner"><style data-mantine-styles="inline">.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:83.33333333333334%;--col-max-width:83.33333333333334%;}}@media(min-width: 62em){.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:66.66666666666667%;--col-max-width:66.66666666666667%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_dmiub_"><div style="--stack-gap:var(--mantine-spacing-md);--stack-align:stretch;--stack-justify:flex-start;margin-bottom:var(--mantine-spacing-xl)" class="m_6d731127 mantine-Stack-root"><div class=""><div style="--group-gap:var(--mantine-spacing-xs);--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-xl)" class="m_4081bf90 mantine-Group-root"><button style="--badge-height:var(--badge-height-sm);--badge-padding-x:var(--badge-padding-x-sm);--badge-fz:var(--badge-fz-sm);--badge-bg:var(--mantine-color-default);--badge-color:var(--mantine-color-default-color);--badge-bd:calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-default-border);cursor:pointer;color:inherit" class="m_347db0ec mantine-Badge-root" data-variant="default" data-size="sm" type="button" aria-label="JavaScript"><span class="m_5add502a mantine-Badge-label">JavaScript</span></button></div><div style="--group-gap:calc(0.625rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-sm);color:var(--mantine-color-gray-text)" class="m_4081bf90 mantine-Group-root"><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-inline-end:var(--mantine-spacing-lg)" class="m_4081bf90 mantine-Group-root">9 октября 2019 г.</div><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-clock "><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"></path><path d="M12 7v5l3 3"></path></svg></div>9 минут</div><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-thumb-up "><path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path></svg></div>61</div></div><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img style="--image-radius:var(--mantine-radius-md);--image-object-fit:cover;width:100%;height:100%" class="m_9e117634 mantine-Image-root" src="/vite/assets/blog_post-7eTyeLLt.webp" alt="Как зеленый джуниор в IT попал"/></div></div><div role="link" tabindex="0" style="cursor:pointer"><button style="display:block;width:100%" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Присоединяйтесь к нашему Telegram-сообществу"><div style="background-color:light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-6))" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:auto;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-telegram "><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4"></path></svg></div>Присоединяйтесь к нашему Telegram-сообществу</div></div></button></div><div style="margin-bottom:var(--mantine-spacing-xl)" class="m_d08caa0 mantine-Typography-root"><p>Данная статья опубликована мной на «Хабре». Также хочу поделиться ей здесь, на моих любимых курсах Hexlet, очень много мне давших.</p>
<p>После публикации на «Хабре» статей о bike меня много спрашивали, как я попал в IT. Мне и самому были очень интересны подобные статьи, когда я учился. Хорошо помню, как они придавали мне мотивации двигаться дальше. Именно эти причины побудили меня написать эту историю.</p>
<p>Всего лишь год назад я работал в совершенно другой сфере, никак с IT не связанной, и лишь мечтал о работе программиста. И вот сейчас я уже практически middle в компании — резиденте Сколково. А начиналось все еще немного раньше, примерно в феврале 2018. Даже, пожалуй, еще раньше — летом 2017.</p>
<style data-mantine-styles="inline">.__m__-_R_7derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xs);--carousel-slide-size:70%;}@media(min-width: 36em){.__m__-_R_7derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xl);--carousel-slide-size:50%;}}</style><div style="--carousel-control-size:calc(2.5rem * var(--mantine-scale));--carousel-controls-offset:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-lg);padding-block:var(--mantine-spacing-sm);background:var(--app-color-surface)" class="m_17884d0f mantine-Carousel-root responsiveClassName" data-orientation="horizontal" data-include-gap-in-size="true"><div class="m_39bc3463 mantine-Carousel-controls" data-orientation="horizontal"><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="previous" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="next" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(-90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="m_a2dae653 mantine-Carousel-viewport" data-type="media"><div class="m_fcd81474 mantine-Carousel-container __m__-_R_7derddmiub_" data-orientation="horizontal"><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/python?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">10 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Python-разработчик </p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите Python, Django, REST и Fast API для создания веб-приложений</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczMSwicHVyIjoiYmxvYl9pZCJ9fQ==--f5df4883f3f678321cb4fa96e9ce657bd5ee1adf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png" alt="Python-разработчик " loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 6 792 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/frontend?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">10 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Фронтенд-разработчик</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите HTML, CSS, JavaScript и React</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNywicHVyIjoiYmxvYl9pZCJ9fQ==--2d5cbbf5c3b4a73ae4b2c50632305d78f5872e4d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png" alt="Фронтенд-разработчик" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 6 792 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/algorithms?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">2 месяца</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Алгоритмы и структуры данных</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Алгоритмы для собеседований</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAyOCwicHVyIjoiYmxvYl9pZCJ9fQ==--ae9eed98663dd1201759d042a5ba7ca790866156/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programming-bro.png" alt="Алгоритмы и структуры данных" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/fullstack-python?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">16 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Fullstack-разработчик на Python</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root"></p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--f7793ed718d27cc7ce1799556a7623d56e7635f8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20snippets-rafiki.png" alt="Fullstack-разработчик на Python" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 7 934 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/flask?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">1 месяц</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Веб-разработка на Python</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Навык создания веб-приложений на Flask</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY3NywicHVyIjoiYmxvYl9pZCJ9fQ==--745022c2f47ba4203dd11cd8922cd55d5bebfdca/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20typing-rafiki.png" alt="Веб-разработка на Python" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><h2 style="--title-fw:var(--mantine-h2-font-weight);--title-lh:var(--mantine-h2-line-height);--title-fz:var(--mantine-h2-font-size);margin-bottom:var(--mantine-spacing-md);font-size:var(--mantine-font-size-h3)" class="m_8a5d1357 mantine-Title-root" data-order="2" data-responsive="true">Каталог</h2><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Полный список доступных курсов по разным направлениям</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="/vite/assets/development-BVihs_d5.png" alt="Orientation"/></div></div></div></a></div></div></div></div></div>
<h2 id="heading-2-1">Содержание</h2>
<ul>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-2">Об авторе</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-3">Почему программирование?</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-4">Осень. Coach</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-5">Зима. Наставник</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-6">О дружбе</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-7">Весна.Курсы!</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-8">Бывало трудно</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-9">Лето! Собеседования</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-10">О подходе</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-11">Ремарка будущим джунам</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-12">Тестовые задания</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-13">Работа!</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-14">На работе</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-15">Заключение</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-16">Благодарности</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-17">Послесловие</a></li>
</ul>
<h2 id="heading-2-2">Об авторе</h2>
<p>Но прежде чем продолжить, хочу кратко рассказать о себе. Мне 32 года, есть двое мелких (2 и 4 года) и жена в декрете! В прошлой жизни я 8 лет работал в продажах, моя работа никогда не была связана с компьютером (кроме базовых штук вроде Excel и Outlook). Год назад я еще бегал и даже два раза пробежал марафон.</p>
<p>Работал на обычной работе, не хорошей и не плохой. И в декабре 2018 года я окончательно решил сменить профессию на ту, которая мне нравится — профессию программиста.</p>
<h2 id="heading-2-3">Почему программирование?</h2>
<p>Тут появляется вопрос — а как именно я узнал, что мне нравится программирование, если никогда этим не занимался? У меня и самого нет ответа, это скорее цепь случайностей, чем какое-то «со школы нравился комп и ковыряться в нем» и все такое.</p>
<p>На самом деле меня никогда не тянуло «внутрь компьютера», в нем мне нравилось только играть в игры. Settlers2, Starcraft, Diablo2,Heroes3... ммм… И еще постоянно замечал за собой неодолимую тягу к Excel, к упорядочиванию и к математике.</p>
<h2 id="heading-2-4">Осень. Coach</h2>
<p>Итак, лето 2017 года, я продажник, зависаю на форуме трилайфа (пытался в триатлон), где нахожу парня — начинающего coach, который готов провести coach-сессию за опыт и отзыв. Почему нет? И вот мы на coach-сессии выясняем ответ на мой вопрос. На один вопрос. Кем я хочу быть? Это очень важный вопрос, и счастливчик тот, кто нашел на него ответ.</p>
<p>В итоге с помощью правильных вопросов прихожу к выводу — хочу быть программистом. И… успешно забиваю на это почти на целый год.<br/>
Случайность? Зерно посеяно.</p>
<h2 id="heading-2-5">Зима. Наставник</h2>
<p>В феврале 2018 я случайно знакомлюсь с Сашей — моим наставником, вспоминаю все свои потаенные профессиональные желания и иду учиться. Анализирую, куда пойти, и решаю: на фронтенд (а что такое фронтенд?))). Почему? Да я и сам не знаю, мне показалось, тут интересно (это оказалось правдой)!</p>
<p>В итоге по совету наставника начинаю изучать js по всем известному русскоязычному сайту — learn.javascript.
Материала там уйма, но материал суховат. На рекурсии мой пыл окончательно угасает и занятия забрасываются. Кто-то сможет здесь учиться, но я только сейчас добираюсь сюда снова для более широкого и местами глубокого охвата.<br/>
Случайность? Земля полита.</p>
<h2 id="heading-2-6">О дружбе</h2>
<p>Тут надо сделать небольшое лирическое отступление. У меня есть друг — Ваня. Мы с ним познакомились в организованной мной с еще одним приятелем любительской хоккейной команде. Потом как-то сблизились благодаря похожим взглядам на некоторые аспекты жизни и совместной постоянной дороге на работу.</p>
<p>Потом я ушел из хоккея и начал заниматься бегом, а он все смеялся надо мной. Над тем, как я купил пульсометр и все время замерял пульс. Но в итоге он, поглядев на меня, пришел в бег и даже купил пульсометр. Далее мы вместе пробежали полумарафон, потом и марафон.</p>
<p>Во время подготовки к этим забегам естественным образом меняется жизненный ритм и вообще жизненная позиция. Если курил — бросаешь. Если пил — тоже. Если ел дрянь — тоже бросаешь. Плюс постоянные тренировки и цель учат тебя не только размышлять, теоретезировать и планировать, но идти к ним и достигать их, включая преодоления препятствий.</p>
<p>В общем, мы с ним вместе прошли весь этот цикл перерождения тела и духа, притом он ушел даже дальше меня.<br/>
Случайность? Земля удобрена.</p>
<h2 id="heading-2-7">Весна.Курсы!</h2>
<p>И вот наступает конец осени 2018 года. Примерно в ноябре-декабре Ваня рассказал мне про курсы. Даже не курсы,а Курсы — Hexlet! Он и сам дозрел до смены профессии с экономической на айти и стал заниматься. Понравилось, поделился со мной. Курсы сыграли важнейшую роль в моем становлении как инженера, а не эникейщика. Поэтому написав о них на Хабре, хочу отдать им — и конкретно Кириллу — дань уважения и поблагодарить.</p>
<p>Итак, декабрь, я стартую свое обучение на курсах. Очень нравится, материал доступный, но в то же время сложный. Приходится много думать самому и искать решение проблем самостоятельно, что, забегая вперед, скажу, мне очень пригодилось уже на работе.<br/>
Случайность? Первые ростки.</p>
<h2 id="heading-2-8">Бывало трудно</h2>
<p>Учусь не отступать перед сложностями. Тут уже есть некий опыт при подготовке к марафону, который помогает. Учусь продолжать даже в сложные моменты.</p>
<p>А они бывали. Критическими были 2 точки. Первая на 3 проекте,когда я полностью переписывал проект 2 раза с нуля. Стирал все и начинал заново. Руки опустились очень низко, но силы продолжить нашлись. Спасибо тебе, бег!. Это примерно как на 37 км марафона поймать стену, но не перейти на шаг. Кирилла я тогда возненавидел. Но потом отпустило.</p>
<p>И второй момент. Однажды,чтобы идти дальше, мне пришлось вернуться на два курса назад, повторить эти два курса и повторить еще один более старый. Данная операция заняла у меня две недели. И все для того, чтобы решить одну задачу, которую никак не мог решить.</p>
<p>Февраль 2019. Я как продажник пытаюсь хакнуть систему и перескочить в программисты на развитых софт и не очень пока хард-скиллах. Не получается, но получаю первый опыт собеседований.</p>
<p>Продолжаю усиленно грызть гранит науки. Усиленно — это по 2-3 часа каждый рабочий день и больше на выходных. Это помимо основной работы и семейно-отцовских обязанностей. На каждый проект, который тогда еще длился неделю, трачу по 40 часов и более.</p>
<p>Наступает апрель. Курсы по js пройдены, впереди react и последний проект. Опять волна собеседований, опять отказы, но уже хотя бы понимаю, что мне говорят, и могу отвечать.</p>
<p>Не унываю, тем более, что мой дружбан хоккеист-марафонец в апреле устраивается работать в отличную компанию. В тот период безумно радуюсь за него, и это сильно мотивирует продолжать, хотя не скажу, что как-то был демотивирован. Мне явно нравилось то,чем занимаюсь и хотелось выучить все-все по теме, до чего дотянутся руки(сейчас это жжение только усилилось!)</p>
<p>Май. Прохожу последние курсы и неожиданно быстро и легко пишу последний проект. Курсы окончены. Я более или менее секу в js react (фактически хороший фундамент).</p>
<h2 id="heading-2-9">Лето! Собеседования</h2>
<p>Активизируюсь в плане собеседований. Тут стоит сделать еще одно лирическое отступление. Я продажник с большим опытом, у меня есть опыт общения с людьми, я не боюсь звонить незнакомому человеку и что-то у него узнавать. Я боюсь выступать перед людьми, но одновременно это мне нравится.<br/>
Случайность? Грядка прополота.</p>
<h2 id="heading-2-10">О подходе</h2>
<p>Мой опыт говорит о том, что всем нравится индивидуальный подход. Поэтому беру поиски компании в свои руки. Делаю выборку компаний,которые мне нравятся. Боюсь, но включаю сюда и те компании, в которые, судя по требованиям, не прохожу.</p>
<p>Пишу в каждую сопроводительное письмо, где расписываю, чем я могу быть им полезен, а что я пока не знаю, но выучу и узнаю. В итоге мне дают пару тестовых заданий и пару приглашений на собеседования.</p>
<p>Собеседования в целом проходят очень позитивно, это уже технические собеседования. Беседуем на равных с техническими специалистами компаний (не в плане знаний, а в плане общечеловеческих взаимоотношений). Мне дают обратную связь, рекомендуют что-то подтянуть.</p>
<h2 id="heading-2-11">Ремарка будущим джунам</h2>
<p>Я знаю, как интересно почитать будущим junior о составе собеседования, но и сказать-то особо нечего. Люди в основном смотрят на общую адекватность, плюс как-то пытаются оценить потенциал. По крайней мере адекватные люди. К тем, кто пытается как-то иначе — и работать идти не стоит. Именно так я решил и заранее «запрограммировал» себя на то, что достоин хорошего места. А раз так, то нет никакого смысла идти лишь бы куда.</p>
<p>Это помогло мне вести диалог с работодателем на равных, тем самым давая понять, что как они выбирают меня, так и я выбираю их. Это важно — снять лишние барьеры в голове. Что касается технических моментов, то учите базовые вещи: рекурсия, замыкания, лексическое окружение и так далее, язык и гуглите <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.hexlet.io/blog/categories/career" rel="noopener noreferrer" target="_blank">о прохождении собеседований</a>. Ответственно подойдите к этому. Прохождение собеседований — это такой же навык, и его можно отработать! Так же хочу отметить, что запрограммировать себя в голове царем без реальных на то оснований — затея бесполезная и опасная.</p>
<h2 id="heading-2-12">Тестовые задания</h2>
<p>Из интересного — в ВТБ мне дали тестовое задание. Нужно на карте отрисовать 100 маркеров в рандомных местах. Хорошо, если взаимодействовать с сервером и отлично, если на суше.</p>
<p>Задание пришлось мне по вкусу, в итоге сделал два репозитория на гите. В первом просто запрашивал у сторонних апи нужные данные, а на втором прикрутил свой сервер и простенькое кэширование результатов.</p>
<p>Я спросил себя: как определить сушу, чем она характерна? Тем, что, например, все города на суше! Значит мне нужно ставить маркеры на рандомных городах. Еще приятель подкинул мысль, что вся суша выше нуля, но это мне показалось сложнее в реализации.</p>
<p>В итоге карта у меня гугл, города я запрашивал во «ВКонтакте». Для этого сначала приходилось запрашивать страны,потом города уходили на геокодирование в «Яндекс», откуда возвращались координаты.</p>
<p>Координаты складывались в массив на сервере. Когда на мое приложение (задеплоено на Хероку, может стартовать 30 секунд из-за особенностей этого бесплатного хостинга) заходил новый юзер, добавлялись новые координаты (вк-вк-яндекс-моя карта гугла).</p>
<p>Когда количество координат достигает определенного уровня, при заходе каждого нового юзера уходит только один запрос, который добавляет только еще одну пачку координат. Правда БД тут нет, и когда сервер Хероку засыпает (полчаса без посещений), а потом просыпается, то все сначала. Потом прикрутил карту «Яндекса» и сделал простенький переключатель в фирменных цветах.</p>
<p>Столкнулся с проблемой cors, решил ее через сервис,который позволяет это обходить, но сильно ограничивает количество запросов. В общем нравилось мне это.<br/>
Правда к стыду данного сотрудника ВТБ стоит отметить, что он куда-то совершенно слился и не дал мне обратной связи.</p>
<p>Вот <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="http://chilly-transport.surge.sh/" rel="noopener noreferrer" target="_blank">первый вариант</a> — без сервера.<br/>
А вот <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://maps-server-euhoo.herokuapp.com/" rel="noopener noreferrer" target="_blank">второй вариант</a> — с сервером.<br/>
После долгого простоя стартуют 30 секунд.</p>
<h2 id="heading-2-13">Работа!</h2>
<p>Итак, конец мая. Компания из Сколково. Их требования явно выше моих компетенций. Боюсь, но все же кидаю резюме, очень хотел сюда устроится.<br/>
Они отвечают, дают несложное тестовое: cделать простенькую страничку с пагинацией, фильтром и простеньким сервером. Есть небольшое количество данных, необходимо реализовать работу странички, взаимодействие с сервером по стандартам REST и все такое.</p>
<p>Верстки особо не требуется, скорее понимание REST, что такое json, клиент-серверное взаимодействие и логика на js.<br/>
В общем <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://coreclass.herokuapp.com/" rel="noopener noreferrer" target="_blank">делаю</a>, отправляю. Им нравится,зовут на собес.</p>
<p>Прихожу, беседуем с Катей из HR, моим будущим тимлидом Сашей и старшим коллегой Сергеем. В основном уже не технические вопросы, скорее как раз на адекватность и мои амбиции. Они смотрят, я ли тот человек, кто решил их тестовое.</p>
<p>Уезжаю от них в гнетущем настроении. Мне явно понравилось, но по требованиям явно не дотягиваю. Приезжаю домой,иду в магазин и там меня настигает звонок с оффером! От них, от тех, куда я так хотел попасть! Они согласовали мои условия!<br/>
Ощущения — не передать словами!</p>
<h2 id="heading-2-14">На работе</h2>
<p>Стоит отметить, что взяв меня — зеленого джуна — компания,конечно, рисковала.<br/>
Но в итоге за 3 месяца испытательного срока я сумел проявить себя, проявить инициативу и стать самостоятельным работникам.</p>
<p>По собственной инициативе приезжаю на работу на час-полтора раньше(3-4 дня из 5). В это время никого нет, и я спокойно учусь. За первые недели две после настройки окружения освоил Angularjs и активно влился в проект.</p>
<p>Далее сразу по собственной инициативе привнес js es6 и выше в наш проект (раньше не было babel, и коллеги не могли использовать новый синтаксис). По собственной инициативе настроил сборку на Webpack и довел ее до последней версии. Ранее у нас просто bat файл собирал.</p>
<p>По собственной инициативе полностью переделал интеграцию нашего проекта с другим нашим подпроектом. На нашем сайте используется карта — это тоже подпроект. И раньше она загружалась каждый раз по новой при переходе на другую страницу, а это более 4 МБ. Я сделал единую карту на весь проект, и это только одна загрузка! Ну и по мелочи добавил.</p>
<p>Добавил на проект куки, потом заменил на свежеизученный localStorage. Также по собственной инициативе написал программу, аналог webpack-dev-server.</p>
<p>В срок или быстрее выполнял текущие задачи,а все остальное (кроме карты) делал в свое свободное время, так как мне просто НРАВИТСЯ это! Мне хочется делать наш проект удобнее и лучше! И я просто кайфую от этого! Так же учился расставлять приоритеты по текущим задачам.</p>
<p>В итоге проходит 3,5 месяца, опять проявляю инициативу и получаю повышение!<br/>
Не знаю, junior ли я еще? Наверное уже нет. Дерево растет!</p>
<h2 id="heading-2-15">Заключение</h2>
<p>Итак, получается вот такая цепь случайностей. Много лет работаю в продажах, где учусь не бояться взаимодействовать с окружающими людьми и проявлять инициативу. Создаю хоккейную команду, где познакомлюсь с приятелем, который потом осуществляет решающий импульс в сторону моего изучения программирования (волшебный пендель).</p>
<p>Начинаю бегать, чтобы сбросить вес, а в итоге учусь составлять и выполнять план, сложности воспринимать как часть плана и преодолевать их, учусь «надо» превращать в действие.</p>
<p>Встречаю coach, с которым прихожу к выводу о работе программистом — первый импульс. Встречаю наставника,который дал второй импульс.<br/>
Хронологически волшебный пендель в этом месте.</p>
<p>В заключении хочу сказать, что мне очень нравится работа, нравится ощущения от «командной игры», нравится коллектив (у нас реально отличные ребята и тимлид). Сразу после устройства на работу я составил себе план саморазвития, разбил его по месяцам. Постоянно самообучаюсь и самосовершенствуюсь. У меня довольно много пробелов в знаниях, но я их вычисляю и устраняю! Чем больше устраняю, тем больше появляется новых.</p>
<p>Также хочу отметить, что даже на самом скучном легаси на angularjs (хотя у нас качественно написано) можно найти очень интересные задачи и постоянно развиваться.</p>
<p>Все дело в том, как посмотреть!</p>
<style data-mantine-styles="inline">.__m__-_R_4jderddmiub_{--carousel-slide-gap:var(--mantine-spacing-xs);--carousel-slide-size:80%;}@media(min-width: 36em){.__m__-_R_4jderddmiub_{--carousel-slide-gap:var(--mantine-spacing-xl);--carousel-slide-size:50%;}}</style><div style="--carousel-control-size:calc(2.5rem * var(--mantine-scale));--carousel-controls-offset:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-lg);padding-block:var(--mantine-spacing-sm);background:var(--app-color-surface)" class="m_17884d0f mantine-Carousel-root responsiveClassName" data-orientation="horizontal" data-include-gap-in-size="true"><div class="m_39bc3463 mantine-Carousel-controls" data-orientation="horizontal"><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="previous" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="next" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(-90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="m_a2dae653 mantine-Carousel-viewport" data-type="media"><div class="m_fcd81474 mantine-Carousel-container __m__-_R_4jderddmiub_" data-orientation="horizontal"><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/bolshoy-put-nachinaetsya-s-malenkogo-shaga-itstory-2019"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="/vite/assets/blog_post-7eTyeLLt.webp" loading="lazy" alt="Большой путь начинается с маленького шага. #ITStory 2019"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Большой путь начинается с маленького шага. #ITStory 2019</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Краткая история моего вхождения в IT индустрию в 29 лет. Польза «Хекслета» очевидна, и её нельзя ...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">8 октября 2019 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/put-ot-enikeyschika-do-programmista"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="/vite/assets/blog_post-7eTyeLLt.webp" loading="lazy" alt="Путь от эникейщика до программиста"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Путь от эникейщика до программиста</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Конечно, это здорово, когда ты можешь и комп с принтером починить, и сервак на любой оси поднять,...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">3 октября 2019 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/indiana-dzhons-v-poiskah-utrachennogo-prizvaniya"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="/vite/assets/blog_post-7eTyeLLt.webp" loading="lazy" alt="Индиана Джонс: в поисках утраченного призвания"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Индиана Джонс: в поисках утраченного призвания</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Очень важно не ошибиться с выбором профессии. Но если ошибешься — никогда не поздно все исправить...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">1 октября 2019 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div></div></div></div>
<h2 id="heading-2-16">Благодарности</h2>
<p>Считаю,что благодарностей много не бывает, и вообще надо почаще их выражать близким людям! Хочу поблагодарить 3 людей, без которых не было бы моей победы.<br/>
Моя жена, Галя. Я знаю, как тебе было тяжело последнее время, я ощущаю твою поддержку. Без тебя бы ничего этого не было. Все это для тебя!</p>
<p>Мой друг, Ваня. Как прекрасно, когда в зрелом возрасте обретаешь то, чего совершенно не ждешь и не особенно-то веришь, что можешь обрести! И обретаешь это не эгоистично, а даже в некоторой степени альтруистично! Уверен, мы с тобой способны очень на многое!</p>
<p>Мой наставник, Саша. Хоть мы ни разу не виделись и у тебя чересчур резкие взгляды, но ты сильная личность и оказал очень большое влияние на меня как программиста, за что я безмерно тебе благодарен. Я бы не смог добиться того,чего добился,если бы не наши разговоры и твое наставничество.</p>
<h2 id="heading-2-17">Послесловие</h2>
<p>Пытливый читатель может заметить, что еще за чертовщина с временами года в повествовании? Автор,куда ты смотришь? Для усиления эффекта статьи мне хотелось пройти цикл смен времен года как метафору зарождения новой жизни. Вот такая получается еще одна история.</p>
<p>P.S. Сейчас снова вернулся на «Хекслет». Прохожу БД, дальше сервер и после нового года Java! Очень надеюсь,что Java наконец-то сдвинется здесь с мертвой точки.</p>
<p>Оригинал статьи <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://habr.com/ru/post/470451/" rel="noopener noreferrer" target="_blank">опубликован на «Хабре»</a>.</p></div><div class=""><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-lg)" class="m_4081bf90 mantine-Group-root"><div class="m_4451eb3a mantine-Center-root" data-inline="true"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:var(--mantine-spacing-xs);color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-user "><path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path></svg></div><p style="margin-inline-end:var(--mantine-spacing-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Евгений Квач</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">6 лет назад</p></div><div style="align-items:center" class="m_8bffd616 mantine-Flex-root __m__-_R_5dirddmiub_"><a style="display:inline-flex" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/kak-zelenyy-dzhunior-v-it-popal/votes"><div style="--ti-size:var(--ti-size-sm);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:var(--mantine-spacing-xs);color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-thumb-up "><path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path></svg></div></a><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">61</p></div></div></div><div style="background-color:var(--mantine-color-indigo-light);border:calc(0.0625rem * var(--mantine-scale)) solid transparent;padding:var(--mantine-spacing-xl)" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Читайте также:</p><ul style="margin-inline-start:var(--mantine-spacing-lg)" class="m_abbac491 mantine-List-root"><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/bolshoy-put-nachinaetsya-s-malenkogo-shaga-itstory-2019">Большой путь начинается с маленького шага. #ITStory 2019</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/put-ot-enikeyschika-do-programmista">Путь от эникейщика до программиста</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/indiana-dzhons-v-poiskah-utrachennogo-prizvaniya">Индиана Джонс: в поисках утраченного призвания</a></span></div></li></ul></div><div style="margin-block:var(--mantine-spacing-xl)" class="m_3eebeb36 mantine-Divider-root" data-orientation="horizontal" role="separator"></div></div><div></div></div><style data-mantine-styles="inline">.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:16.666666666666668%;--col-max-width:16.666666666666668%;}}@media(min-width: 62em){.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:33.333333333333336%;--col-max-width:33.333333333333336%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_lmiub_ mantine-visible-from-md"><div style="background-color:var(--mantine-color-indigo-light);border:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-bottom:var(--mantine-spacing-xl);padding:var(--mantine-spacing-xl);width:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div style="margin-bottom:var(--mantine-spacing-md)" class="m_4451eb3a mantine-Center-root" data-inline="true"><p style="font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Категории</p></div><ul class="m_abbac491 mantine-List-root"><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Мотивация">Мотивация</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Истории успеха">Истории успеха</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Дневник студента">Дневник студента</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Код">Код</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Карьера">Карьера</button></span></div></li></ul></div><div style="justify-content:end;margin-top:0rem;position:sticky;top:calc(5rem * var(--mantine-scale))" class="m_8bffd616 mantine-Flex-root __m__-_R_5dlmiub_"><div tabindex="0" style="cursor:pointer"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses_web_development?promo_name=program_category&promo_position=blog_post&promo_creative=card&promo_type=card"><div style="background-color:var(--mantine-color-default);border:calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-default-border);padding-inline:var(--mantine-spacing-xl);padding-top:var(--mantine-spacing-xl);padding-bottom:var(--mantine-spacing-xs);width:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div class="m_4451eb3a mantine-Center-root" data-inline="true"><p style="font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Курсы по веб-разработке</p></div><img class="m_9e117634 mantine-Image-root" src="/vite/assets/development-BVihs_d5.png"/><p style="margin-bottom:var(--mantine-spacing-xs);text-align:right" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></a></div></div></div></div></div></div></div>
</main>
<footer class="bg-dark fw-light text-light px-3 py-5">
<div class="row small">
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 mb-3">Хекслет</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/about">О нас</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/testimonials">Отзывы</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://b2b.hexlet.io" role="button">Корпоративное обучение</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/blog">Блог</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/qna">Вопросы и ответы</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/glossary">Глоссарий</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://help.hexlet.io" data-target="_blank" role="button">Справка</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" target="_blank" rel="noopener noreferrer" href="/map">Карта сайта</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 fw-normal mb-3">Направления</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_devops">DevOps
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_data_analytics">Аналитика
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_backend_development">Бэкенд
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_programming">Программирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_testing">Тестирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_front_end_dev">Фронтенд
</a></li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Профессии</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/go">Go-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/java">Java-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python">Python-разработчик </a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/data-analytics">Аналитик данных</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/qa-engineer">Инженер по ручному тестированию</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php">РНР-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/frontend">Фронтенд-разработчик</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Навыки</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python-django-developer">Django</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/docker">Docker</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php-laravel-developer">Laravel</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/postman">Postman</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-react-developer">React</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-rest-api">REST API в Node.js</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/spring-boot">Spring Boot</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/typescript">Typescript</a>
</li>
</ul>
</div>
</div>
<hr>
<div class="row">
<div class="col-12 col-sm-4 col-md-2">
<div class="fs-4">
<ul class="list-unstyled d-flex">
<li class="me-3">
<a aria-label="Telegram" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://t.me/hexlet_ru"><span class="bi bi-telegram"></span>
</a></li>
<li>
<a aria-label="Youtube" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://www.youtube.com/user/HexletUniversity"><span class="bi bi-youtube"></span>
</a></li>
</ul>
</div>
<div class="mb-2 d-flex flex-column">
<a class="link-light text-decoration-none" rel="nofollow" href="mailto:support@hexlet.io">support@hexlet.io</a>
<a class="link-light text-decoration-none py-2" target="_blank" href="https://t.me/hexlet_help_bot">t.me/hexlet_help_bot</a>
</div>
<ul class="list-unstyled d-flex">
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://hexlet.io/locale/switch?new_locale=en" data-target="_self" role="button"><span class="my-auto">EN</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 opacity-100 external-link" rel="nofollow" data-href="https://ru.hexlet.io/locale/switch?new_locale=ru" data-target="_self" role="button"><span class="my-auto">RU</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://kz.hexlet.io/locale/switch?new_locale=kz" data-target="_self" role="button"><span class="my-auto">KZ</span>
</span></li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<ul class="list-unstyled fs-4">
<li class="mb-3">
<a class="link-light text-decoration-none" href="tel:8%20800%20100%2022%2047">8 800 100 22 47</a>
<span class="d-block opacity-50 small">бесплатно по РФ</span>
</li>
<li>
<a class="link-light text-decoration-none" href="tel:%2B7%20495%20085%2021%2062">+7 495 085 21 62</a>
<span class="d-block opacity-50 small">бесплатно по Москве</span>
</li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<div class="small mb-3">Образовательные услуги оказываются на основании Л035-01298-77/01989008 от 14.03.2025</div>
<ul class="list-unstyled small">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/legal">Правовая информация</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/offer">Оферта</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/license">Лицензия</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/contacts">Контакты</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-12 col-md-4 small">
<div class="mb-2">
<div>ООО «<a href="/" class="text-decoration-none link-light">Хекслет Рус</a>»</div>
<div>108813 г. Москва, вн.тер.г. поселение Московский,</div>
<div>г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3</div>
<div>ОГРН 1217300010476</div>
<div>ИНН 7325174845</div>
</div>
<hr>
<div>АНО ДПО «<a href="/" class="text-decoration-none link-light">Учебный центр «Хекслет</a>»</div>
<div>119331 г. Москва, вн. тер. г. муниципальный округ</div>
<div>Ломоносовский, пр-кт Вернадского, д. 29</div>
<div>ОГРН 1247700712390</div>
<div>ИНН 7736364948</div>
</div>
</div>
</footer>
<div id="root-assistant-offcanvas"></div>
<script src="/vite/assets/assistant-D8AK0-_C.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-DOv3_-Z_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/MarkdownBlock-DbyKWoR_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/shiki-V011pkdv.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-XR8Qr8kR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dist-GCHh59xr.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useIsomorphicEffect-HJ6VK0D3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-KSp6QbZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/classnames-l6ipYlLR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/debounce-jMQ_Cf4f.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v67327c56f0bb4ef8b305cae61679db8f1769101564043" integrity="sha512-rdcWY47ByXd76cbCFzznIcEaCN71jqkWBBqlwhF1SY7KubdLKZiEGeP7AyieKZlGP9hbY/MhGrwXzJC/HulNyg==" data-cf-beacon='{"version":"2024.11.0","token":"d11015b65d11429ea6b4a2ef37dd7e0b","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>