Давайте знайомитись: Android Lead Слава Сергєєв про свій професійний шлях
Нікси — це не лише масштабні всеукраїнські конференції та легендарні корпоративи. Насамперед 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?
Протягом усього цього інтерв’ю я не втомлююся повторювати і повторюю це знову, що дуже важливо бути небайдужими до того, що ви робите. Потрібно продовжувати залишатися захопленими та зацікавленими в результаті. Дізнатися про весь світ і вивчити його ми не зможемо навіть за все життя. А проблеми трапляються у всіх: джунів, архітекторів, лідів та ТОП-менеджерів.
Будьте відповідальними за свої слова та обіцянки, продовжуйте рухатися вперед незважаючи ні на що, будьте готові присвятити себе та свій час обраному напрямку, і не варто розпорошуватися – зосередьтеся на одній технології, добре вивчіть її, і лише потім починайте розглядати нову, якщо це необхідно .
Я не говорю, що це просто. Так, подекуди доведеться йти на жертви, але це повністю окупиться і дуже скоро принесе свій результат. А він гарантує вам надійне та перспективне майбутнє як у професійному, так і у фінансовому плані.