Как стать автором
Обновить
36.17
Хабр IT-гид
Истории об IT от Хабра

3 хакатона = 6 лет стажа: как я сделал красивое резюме и получил первую работу в IT

Время на прочтение8 мин
Количество просмотров30K

Привет, хабравчане! Меня зовут Максим. Я из Новосибирска, мне 36 лет. Два года назад я начал воплощать в жизнь юношескую мечту: занялся программированием. Базово освоив Python, я стал мониторить рынок труда и через два отклика на стажёра понял, что таких, как я, — сотни. На удалённые стажировки и вакансии с минимальным опытом — по 800 откликов, на вакансии в моём миллионнике — по 50–80 человек. Надо всех обойти, а я из продаж, IT не изучал. Как получить опыт, если ты джун? Я нашёл имбовый способ — сейчас поделюсь. 

Эту статью я написал, чтобы помочь начинающим разрабам, аналитикам, датасайентистам и тем, кто только хочет в IT.

Почему именно хакатоны

Самый популярный совет для набора опыта — это пет-проект. Но когда ещё не понимаешь, как и что устроено в IT-проекте, и ты один, проект может затянуться. Хакатон удобнее:

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

  • Решение реальной проблемы бизнеса — кейс в портфолио.

  • Срок выполнения задачи, как в спринте, — до двух недель.

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

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

Самообразование: выход на линию старта

Моя мечта юношества — программирование, но без усилий. Поэтому я стал менеджером — это проще: звонишь, сразу получаешь опыт, деньги и становишься сильнее. Так я проработал в продажах 15 лет, и только к 35 годам задумался об IT. Язык выбрал быстро: большая часть рекламы была про Python. 

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

Оплатил курс. Но чем дальше шёл, тем сложнее всё давалось. Менторы не помогали усвоить информацию на 100%. И тут я получил совет от сокурсников: бери информацию из других источников. Это помогло! Так выше шанс найти разжёванную информацию. В ход пошло всё: ютуб, телеграм-каналы, Хабр, чаты по программированию на Python, помощь новичкам в IT, книги, stackoverflow и т. д.

Когда через полгода дошёл до изучения Django, отправил пару резюме на вакансию стажёра без опыта. Но тестовое было непонятное, и я забил. Однако продолжил учиться. 

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

Первый хакатон: тренировочный процесс

Про хакатоны я узнал осенью, когда только-только окончил курс ООП (объектно ориентированное программирование). И уже в декабре 2021 года случился мой первый опыт участия в хакатоне. Это был «КБШЖДХКТН Hack2Corp» — хакатон Куйбышевской железной дороги.

Через телеграм-чат хакатона нашёл команду, которая легко приняла меня. Я сразу сказал, что хочу просто посмотреть: у меня есть базовые знания «питона» и нет опыта. Но ребята, разработчик и PM, оказались гостеприимными, и я даже внёс небольшой вклад в работу.

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

Задача была разработать сервис, чтобы автоматически создавать номограммы с отметками всех элементов на пути поезда (светофоры, ЛЭП, станции, стрелки и т. д.) и актуализировать их на основе базы инфраструктурных данных. 

Выглядело это так: 

Интерфейс с анимацией изменений в реальном времени с помощью Plotly — библиотеки для визуализации данных. Она состоит из двух частей:

  • Front-End на JS;

  • Back-End на Python (за основу взята библиотека Seaborn).

Тогда я знал только очевидные «питонячьи» решения, но чувствовал ответственность: искал информацию, подготовил презентацию и представил решение заказчикам. Очень помогли навыки, полученные в продажах. 

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

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

Я начал развиваться в более широком ключе: не «питончиком» единым :)

Главное открытие

Вписывайся в таймлайн — заказчику нужно решение здесь и сейчас. И в первый раз, и на других соревнованиях я встречал команды, которые говорили: «Мы подготовили решение на бумажке и больше ничего не успели. Если вам нравится идея, мы готовы после хакатона её доработать, а вы заплатите». Частая история, звучит красиво, но на практике не работает. Компании обычно на такие предложения отвечают: «До свидания, ребята, мы не можем ждать».  

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

Ачивка в резюме с первого хакатона

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

Навыки и стек: 

  • понимание принципов ООП;

  • понимание классических структур данных и алгоритмов; 

  • Ubuntu-пользователь; 

  • GitHub;

  • PyCharm.

Второй хакатон: дебют со своей командой

В мае 2022 года на курсах, где я учился, устроили внутренний хакатон, тоже на железнодорожную тему: про очерёдность движения поездов, больше для Data Science. Сокурсники позвали меня в команду. Решили вместе участвовать, чтобы притереться друг к другу и после выйти уже на серьёзные хакатоны и коммерческие проекты.  

Задача хакатона: для каждого вагона сформировать определённую последовательность операций. Мы расширили ТЗ для себя. Моя задача была запихнуть решение DS в приложение на Flask. Наши DS заняли второе место в этом хакатоне, а я приобрёл опыт прикручивания модуля DS к приложению и вывода аналитики на фронт. 

Ачивка в резюме 

Разработка веб-приложения на основе DS[-решения]: загрузка датасета и его выдача на веб-график с характеристиками решения.

Навыки и стек: 

  • Flask;

  • Python; 

  • работа с СУБД.

Третий хакатон: повышение ставок — один шаг до офера

Тут даже я виден (1 столбец, 4 сверху)
Тут даже я виден (1 столбец, 4 сверху)

Третий хакатон был всероссийским — MoscowCityHack. Было три задачи, по 100 команд на каждую. Жёсткая конкуренция. Среди участников — и новички, и опытные ребята: мидлы и сеньоры IT-компаний. Ставки поднялись, здесь игра пошла на деньги, и потребовались все наши силы. От нас участвовали два бэка, один фронт, два дата-саентиста и проджект-менеджер. 

Примерная задача стала известна за две недели. Нашей команде нужно было спарсить данные о промышленных поставщиках Москвы, перенести эти данные в БД, вывести на фронт с разной фильтрацией и добавить аналитику.

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

Заняли мы 12-е место из 50+ команд. Считаю, это супер для команды новичков. Все радовались и кидали стикеры с пивом в наш ТГ-чатик. Мы впервые добились успеха. 

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

Главные открытия 

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

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

Ачивки в резюме

Опыт работы в команде. Разработка сервиса по сбору и анализу информации о продукции производителей Москвы для развития импортозамещения. Моя роль — создание парсинга сайтов и сбор информации о производителях для приложения в json-формате. Собрано 6000 записей по 20 значений в каждой. 

Навыки и стек: 

  • beautifulsoup4, lxml, json;

  • регистрация и аутентификация по токенам; 

  • создание permissions и моделей для модератора, компании и сотрудника департамента Москвы;

  • Celery/redis для выполнения парсинга по графику; 

  • Django, Django REST Framework (DRF);

  • GitHub;

  • Heroku.

Финишная прямая: как после 250+ откликов я чуть не сдался, но всё-таки устроился на работу

После участия в хакатонах я снова начал прощупывать рынок труда. Но сначала проапгрейдил резюме: практику с учёбы и хакатонов растянул на страницу, а прежний 15-летний опыт сократил до минимума. Примерно так выглядело моё резюме: https://t.me/SibDevJun/18. После этого меня стали приглашать на технические собеседования. 

Я думал, техсобесы — это уже проще: главное — практика, а база, теория — это ноль. На деле оказалось, что нужно знать всё — не зубрить, а именно понимать. После пары-тройки собеседований я начал проходить основные вопросы и получать тестовые. К 15–20-му тестовому выполнял почти 100%, улучшал качество кода.

Я отправил 250+ откликов, решил 20+ тестовых и прошёл больше 30 собеседований. Джуновские вакансии заканчивались, а работы не было. Я почувствовал «плато тренировки» — это спортивный термин: когда выложился на занятиях по полной, а прогресса нет.  

Тогда я расширил поиск: смотрел предложения с опытом от года, а потом и вовсе всё подряд. Главное, попадать в стек вакансии хотя бы на 80%.

Стаж 3-6 лет — именно столько было в вакансии, на которую я откликнулся и получил офер. Но взяли меня как начинающего специалиста, конечно же.

Саммари: как хакатоны помогают в поиске работы

С недавнего TenderHack в Новосибирске, где я принял участие и мы заняли 4 место
С недавнего TenderHack в Новосибирске, где я принял участие и мы заняли 4 место
Олицетворение хакатона, который идет нон-стоп 2 суток
Олицетворение хакатона, который идет нон-стоп 2 суток

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

Знакомый студент онлайн-школы тоже решил попробовать себя в хакатонах. В его команде оказался лид из IT-компании. После хакатона мой знакомый получил офер и сейчас уже мидл в той компании.

Самые частые страхи начинающих айтишников по поводу хакатонов: «я не смогу один», «у меня нет команды», «я ничего не умею».

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

И недостаток знаний не проблема. Мой первый хакатон был именно таким: я напросился в команду, чтобы посмотреть, как идёт эта самая «разработка». А если вдруг в процессе поймёте, что можете чем-то помочь, всегда можете влететь в разработку в подходящий момент. 

А главное, даже если вы ничего не сделаете, вас никто не будет ругать. Зато вы прочувствуете от и до, как проходит хакатон, чтобы в следующий раз прийти более подготовленным. Провалить хакатон нестрашно. Команд много, и, если не выйдете на питч, вас не запомнят. А если выйдете, нужно сделать всё, чтобы запомнили. Даже если решение не дотягивает до 100% техзадания. И чем больше хакатонов пройдёте, тем охотнее вас будут принимать в новые команды, а потом и на работу.

Буду рад увидеть ваши комментарии к статье и вас у себя в телеграм канале https://t.me/SibDevJun, где рассказываю про свой путь от студента до … изначально было джуна, но теперь уже путь идет дальше. НЕ учу как программировать, только помогаю и рассказываю как попасть и жить в айти!

Теги:
Хабы:
Всего голосов 29: ↑25 и ↓4+21
Комментарии17

Публикации

Информация

Сайт
company.habr.com
Дата регистрации
Дата основания
Численность
2–10 человек
Представитель
Андрей