Давайте знакомиться: Android Lead Слава Сергеев о своем профессиональном пути

27 ноября 2020

Никсы — это не только масштабные всеукраинские конференции и легендарные корпоративы. В первую очередь NIX — это эксперты, с которыми становится возможным обучение сотен неопытных ребят основам программирования, их постоянное развитие и личный профессиональный рост. Благодаря усилиям всей команды имя NIX появляется в мировых IT-рейтингах, а онлайн-конференции всеукраинского масштаба собирают 17 000 просмотров. В этой серии статей представители NIX team делятся своими секретами успеха.

На связи  Android Lead Слава. В детстве он учился в гуманитарном классе, потом поступил на техническую специальность в университет, пошел писать тестирование, чтобы попасть на практику по Java в NIX, потому что никто из друзей не захотел прогулять его вместе с ним. А все ради того, чтобы сегодня стать самым крутым Android Lead. Как потенциальный джавист превратился в опытного разработчика Android, какую литературу он изучал для этого, что помогло ему успешно пройти тестирование и получить оффер после его окончания, а также как повторить его рецепт успеха, читайте в интервью.

 

Как и когда ты начал изучать программирование?

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

В старших классах я хотел уехать учиться за границу. Но обстоятельства сложились не в мою пользу. И тогда я начал искать такие направления, которые открывали перспективу переезда на учебу в другую страну. В приоритете были технические специальности, поэтому поступать я решил в политех. Учился я на факультете компьютерных информационных технологий на направлении “Специальные компьютеризированные системы”. И вот здесь я уже начал более тесно соприкасаться со сферой IT, учил Паскаль, C++, Java и пр.

Ты занимался дополнительно самообучением? Или тебе хватало университетской программы?

Никогда такого за собой такого не замечал ;). В университете я не посещал никаких дополнительных курсов по программированию. У меня не было сохраненных вкладок или кучи профильной литературы. Я был как все обычные студенты. 

Когда ты решил полностью связать свою жизнь с IT?

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

Как ты попал на практику в Никсы? Откуда узнал о такой возможности?

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

Начнем с самого начала. О Никсах нам рассказывали на кафедре. Говорили, что здесь можно пройти практику и даже получить оффер, если хорошо себя показать. Для этого нужно было сдать письменное тестирование, ради которого Никсовые эксперты сами приезжали к нам в университет (!). И вот настал день очередного тестирования (они проводятся регулярно), за окном было солнечно, и я решил его благополучно прогулять, а свои свои силы попробовать в другой раз. Но все мои друзья решили писать тесты именно в этот день, поэтому прогуливать мне было не с кем, и я пошел с ними. 

Получилось так, что к тестам я заранее не готовился, а из знаний у меня была только поверхностная теория, которую мы учили в университете. Поэтому во время тестирования мне было нелегко, а ответы на некоторые вопросы даже пришлось спрашивать у товарищей. Тем, кто вдруг решит сделать так же, мой совет так не делать. Чтобы пройти отборочный тест, нужно иметь базовые знания направления, на которые вы идёте. В противном случае вам придется очень сложно, вы впустую потратите время и скорее всего тест не сдадите. И самое интересное. Тогда, 10 лет назад, я пришел писать тесты на направление Java. А сейчас я Android Lead. Но это уже другая забавная история.

Как ты готовился к собеседованию перед началом практики?

Чтобы попасть на практику (а сегодня — на курсы обучения) в Никсы, сначала нужно пройти письменное тестирование. Если сдадите его удачно, вас пригласят на собеседование, по результатам которого вас или возьмут на практику, или нет. А в конце курса вам снова нужно будет пройти собеседование, на котором вы можете получить оффер на одну из открытых вакансий NIX.

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

Если бы сейчас тебе снова пришлось за две недели изучить язык программирования, какой бы алгоритм действий ты выбрал для этого?

Для меня важнее всего проявлять искренний интерес и не забивать на обучение. Конечно, две недели на то, чтобы идеально выучить азы языка, очень мало. Но этого времени вполне достаточно, чтобы сформировать четкое представление о том, с чем тебе предстоит работать. Главное – сесть и начать что-то делать, и не переставать это делать все время, которое у тебя есть. Если ты спустишь все на тормозах, у тебя точно ничего не получится. Будьте уверены, на авось здесь не прокатит. 

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

Что нужно знать, чтобы пройти тестирование, собеседование и попасть в Никсы?

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

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

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

Что включала в себя практика в Никсах?

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

Что нужно делать во время обучения в NIX, чтобы получить оффер?

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

Особенно это актуально для первого года учебы и работы. Сфера очень большая и обширная, здесь всегда есть чему учиться и куда расти. И в какой-то момент вы сами поймете, что 8 часов в день на протяжении трех недель недостаточно для того, чтобы изучить всё. Во время вашего становления как профессионального разработчика вам так или иначе придется жертвовать своим личным временем в пользу самообучения.

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

Как так вышло, что будущий джавист в результате стал экспертом Андроид?

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

Как оказалось, на момент окончания моей практики в отделе Java все открытые вакансии были замещены. И в качестве альтернативы мне предложили рассмотреть направление, в котором тоже активно используется язык Java. Вот только о том, что меня взяли в Android, я узнал в конце собеседования, когда HR-manager сказала, что я неплохо справился для Android направления. Наверное, она заметила мое удивление по моим ползущим вверх бровям, но все сложилось как нельзя кстати.

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

Что ты читал и изучал, чтобы подтянуть свои знания по Android?

Я полностью доверился Google, читал все подряд, никак информацию не фильтровал. Начал я с “Hello, world!”, потом начал делать что-то посложнее и старался максимально прощупать технологию. Я делал свои промежуточные выводы, половина из которых потом оказались неправильными. Но по крайней мере я пробовал и продолжал учиться. 

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

Как долго тебя продолжали обучать и менторить?

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

Исходя из личного опыта, скажу, что первые два года хороший программист все равно будет продолжать учиться, узнавать много нового. И только потом обучение станет чем-то повседневным и необходимость в нем начнет возникать более точечно, а не в таких глобальных масштабах, как в первые месяцы работы. Я считаю, что первые два года в карьере разработчика самые важные. Если здесь вы расслабитесь и спустите все на самотек, высока вероятность, что хорошего специалиста из вас может не получится. Даже спустя пять-семь лет работы в IT невозможно досконально изучить технологию – всегда найдётся что-то, что можно будет изучать, изучать и изучать.

У тебя есть секрет успеха, как новичку эффективно построить процесс обучения программированию?

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

Что тебе помогло стать лидом?

Первое время я совершенно не ощущал себя таковым. Амбиции, конечно, были, но я долгое время думал, что ещё не готов. Возможно, причина в том, что мне нравилось нести ответственность только за себя. Только так я мог быть на 100% уверенным в результате. А когда к работе подключался кто-то еще, я начинал переживать за него, чувствовать свою ответственность. 

Лет через 5 после старта моей карьеры в IT я впервые стал груплидом. Тогда я впервые примерил роль человека, который несет ответственность не только за себя, но и за других людей. Мне понравилось помогать, двигаться вперед с командой единым организмом, видеть результаты, к которым лично ты приложил немало усилий. Потом примерил еще раз, и еще. И вот полтора года назад эволюционным путём я стал Android Lead.

Сложно быть лидом? В чем секрет успеха?

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

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

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

Что ты посоветуешь ребятам, которые только начинают свою карьеру в IT?

На протяжении всего этого интервью я не устаю повторять, и повторю это снова, что очень важно быть небезразличными к тому, что вы делаете. Нужно продолжать оставаться увлеченными и заинтересованными в результате. Узнать весь мир и изучить его мы не сможем даже за всю жизнь. А проблемы случаются у всех: джунов, архитекторов, лидов и ТОП-менеджеров. 

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

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