Код
#истории

Николай Нагорный: «Учитывая ажиотаж в IT, я бы посоветовал сразу заходить на мидла»

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

Иллюстрация: Daniele Franchi / Designclass / Unsplash / Annie для Skillbox Media

Николай Нагорный


Тимлид команды Axiom в Росбанке, преподаватель в GeekBrains и Skillbox. Автор нескольких научных работ об IT в журналах ВАК (высшей аттестационной комиссии).


Ссылки


Привет! Меня зовут Николай, я преподаватель в Skillbox, курирую дипломные работы студентов на факультете бэкенда. Хочу рассказать о своём пути в IT и поделиться советами с теми, кто только начинает строить карьеру. Может быть, моя история кого-нибудь вдохновит и поможет двигаться к своей цели.

О первом знакомстве с программированием и упущенном времени

Я работаю в IT более десяти лет. С программированием, как и многие, познакомился в школе. Мы писали десктопные приложения на Visual Basic: рисовали окошки и кнопочки. Было забавно наблюдать, как интерфейс программы оживает на глазах.

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

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

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

Тем не менее всё, что ни делается, делается к лучшему. Когда я вернулся и восстановился, друг пригласил меня в Сочи. И тут началась моя айтишная история.

От парковщика до руководителя технического отдела за полгода

В Сочи я устроился парковщиком в дочернюю компанию «Газпрома». Изначально планировал стать там техническим специалистом — это человек, который меняет картриджи в принтере, настраивает сети, ставит антивирусы и так далее. Такой системный администратор на минималках. Устроиться по специальности без опыта было практически невозможно — тем более учась в колледже.

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

Я пошёл к начальнику IT-отдела и попросил провести со мной собеседование. Он согласился и начал задавать вопросы, причём не только технические, но и «жизненные», чтобы проверить, как я буду вести себя в стрессовых ситуациях. Ответить на всё не удалось, но руководитель увидел во мне главное — целеустремлённость. Так заветная должность технического специалиста стала моей.

Фото: личный архив Николая Нагорного

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

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

Как я стал 1С-разработчиком и ненадолго ушёл в бизнес

Когда в колледже мы добрались до программирования (кодили на Delphi), я уже успел поработать в IT и планировал стать 1С-разработчиком. Хотя если бы я мог вернуться назад лет на десять, то посоветовал бы себе учить С++ и английский :)

Конечно, я говорю это исходя из своих текущих задач. Если у вас нет опыта, то наверняка лучше начинать с Python, потому что это один из самых простых, лёгких и популярных языков. У него огромное комьюнити и есть куча раскрытых кейсов — если вы хотите что-то сделать на Python, то, скорее всего, для этого уже есть библиотека.

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

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

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

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

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

За два года мы подняли стоимость компании с 400 тысяч до 30 млн рублей. Я настроил все бизнес-процессы, придумал приложения для работы с поставщиками и контроля остатков продукции. Цветы — это скоропортящийся продукт, поэтому необходимо понимать, когда что приехало, что подлежит списанию, когда выгодно устроить распродажу и так далее.

Эта работа помогла мне колоссально прокачать и менеджерские, и программистские навыки. Позже я «отпочковался» от компании и создал собственный цветочный бизнес с другом.

Бизнес был успешным. Мы занимали второе место в Сочи по объёмам, а первое — компания, из которой я ушёл. Я взял те практики, которые освоил или придумал на прошлой работе, и улучшил их.

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

Возвращение в IT, череда интересных проектов и должность тимлида в Росбанке

Потом я вдруг понял, что хочу стать сильным инженером и досконально разобраться во всех технических нюансах, прежде чем уходить с головой в бизнес. Я продал свою долю в компании и устроился 1С-разработчиком в местный отель. Мой доход опустился с 200–300 тысяч до 60 тысяч.

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

Фото: личный архив Николая Нагорного

Я понимал, что без качественного обучения стать профессионалом не получится, поэтому начал готовиться к экзаменам по «1С». В итоге получил порядка 10 сертификатов, среди которых «1С:Специалист», «1С:Торговля» и различные NFC. Сертификаты дались нелегко: на протяжении полугода я отвечал на вопросы, не отрываясь от учебников, летал в Москву на экзамены. Тут очень помогла практика, которую я получил на работе и фрилансе.

И вот вскоре я стал ведущим 1С-разработчиком в «Красной Поляне», где написал два приложения: терминал для заказа билетов на горнолыжный курорт и конструктор документооборота. А во время пандемии переехал в Питер и устроился в «ТИТАН-2» — компанию, которая строит атомные станции по всему миру. Там писал интеграции, настраивал бизнес-процессы (куда без них) в совместном с Турцией проекте.

На тот момент мне казалось, что я достиг предела своих возможностей и, чтобы двигаться дальше, нужно было повышать квалификацию. Я взял в GeekBrains курс по Python и фреймворкам — выбрал именно его, потому что понравилось, как структурирован и оформлен материал. В целом курсы сэкономили мне кучу времени, потому что позволили избежать поиска информации в разных источниках.

Один из преподавателей курса оценил мой опыт в разработке и позвал в свой проект. Это было приложение на Django для магазинов сотовой связи. Через специальное устройство, похожее на зарядку (наверняка вы их видели), оно собирает информацию о том, сколько времени покупатели держат в руках тот или иной смартфон. По этим данным менеджеры понимают, какие товары пользуются спросом.

Затем я участвовал в разработке ПО для виртуализации в энтерпрайз-компаниях. Это своего рода аналог VirtualBox для компаний, но не такой дорогой. Писал интеграционные модули для принятия оплаты из-за рубежа после ухода SWIFT из России. А также оптимизировал бизнес-процессы для нефтегазового портала. В некоторых проектах до сих пор участвую в качестве приглашённого эксперта.

Сейчас я тимлид в Росбанке. Когда я только туда пришёл, в нашем проекте был всего один разработчик. Мне удалось собрать команду, с которой мы превратили MVP платформы для инвестиций в полноценный продукт. Недавно проект занял третье место в конкурсе «Проект года» в номинации «Веб-сайт года».

О преподавании в GeekBrains и Skillbox

Однажды преподаватель, который пригласил меня в свой проект, предложил мне самому учить студентов в GeekBrains. Я с радостью согласился, хоть и совершенно не представлял, что предстоит делать. К моему удивлению, собеседование с деканом факультета прошло гладко. Видимо, как и тогда в Сочи, руководитель заметил мою целеустремлённость.

К первому уроку я готовился около 16 часов: структурировал подходы, изучал материал. Я понимал, чего от меня хотят ученики, потому что сам недавно был на их месте и помнил, где возникали трудности. Довольно скоро я освоился и начал вести практически все курсы на факультете: по Django, DRF, PyQt и другие.

Скриншот: личный архив Николая Нагорного

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

В этом году меня пригласили экспертом в Skillbox — предложили стать тимлидом в командном проекте студентов для выпускной квалификационной работы. Я с удовольствием принял новый вызов :)

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

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

О трудностях в обучении

Когда студенты выходят во «взрослую» жизнь, они видят, что там всё намного сложнее, чем в учебных проектах. Поэтому важно не только выполнять пул задач, необходимый для получения сертификата, но и поработать с человеком из IT, набраться от него опыта.

Знаю, насколько иногда бывает сложно учиться. Считаю, что преподаватель не должен оставлять студента наедине с его проблемами. Некоторые упускают один, казалось бы, незначительный, момент: они не подбадривают учеников. Да, все эти простые фразы вроде «ты сможешь», «не волнуйся» и «у тебя всё получится» действительно могут воодушевить студента двигаться дальше к цели.

Другая проблема — иллюзии учеников. Некоторые думают, что на курсах им, как с флешки, закачают знания в голову, и они мгновенно превратятся в программистов. Всех, кто так думает, вынужден разочаровать: вы ничего не добьётесь, если не будете уделять хотя бы три часа в день самостоятельным занятиям и поискам ответов. Только прослушать курс и сделать домашнее задание — мало.

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

Немного о найме

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

Более того, при определённых обстоятельствах количество лет опыта может не играть роли. Допустим, есть два разработчика: первый, с двумя годами опыта, хорошо отвечает на технические вопросы, но слегка не уверен в себе; второй — пафосный сеньор, 15 лет во фрилансе, за всю жизнь самостоятельно разработал только калькулятор (да, такие тоже бывают), на технические вопросы отвечает пространно и запутанно. Я отдам предпочтение первому кандидату, потому что из него будет проще сделать специалиста, который нужен компании.

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

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

Вообще, грань между сильным джуном и начинающим мидлом очень тонкая — если судить по требуемым навыкам, то её почти нет. Когда я искал первую работу на Python, то сразу метил в мидлы, потому что за плечами уже был опыт «боевой» разработки на 1С. Резюме отправлял раз 150–200 — где-то я не подходил, где-то компания не подходила мне, а где-то просто не отвечали.

Фото: KOBU Agency / Unsplash

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

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

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

Немного раскрою внутреннюю кухню найма

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

Ленивые кандидаты, которые пишут о себе а-ля «Я учился в университете / на курсах и всё знаю», фильтр не проходят, потому что эйчары не видят в их письмах ключевых слов. Тем же, кто подробно расписывает свои навыки, звонят и задают вопросы, которые получили от тимлида.

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

Напоследок отмечу, что в России подход к найму отличается от западного. Там компании учитывают наличие у соискателя профильного образования: если вы магистр в области computer science, то вам зачтут три года опыта, если бакалавр — то два. То есть после окончания учёбы у вас уже будет опыт и не придётся искать выход из порочного круга.

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Нейросети для работы и творчества!
Хотите разобраться, как их использовать? Смотрите конференцию: четыре топ-эксперта, кейсы и практика. Онлайн, бесплатно. Кликните для подробностей.
Смотреть программу
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована