Вместо эпиграфа
Проработав довольно долго в качестве backend-разработчика, начинаешь довольно односторонне видеть IT мир. Чтобы взгляд не замылился, нужно уметь видеть окружающую реальность глазами других людей. С этой макро-целью я хотел написать цикл статьей "IT изнутри", где рядовые и не очень кирпичики этого IT мира рассказывают о своей работе, технологиях, достоинствах и недостатках.
IT мир очень широк, и я начну с тех кто рядом со мной, кто работает на другом этаже ) У нас в компании %company_name% достаточно много интересных, умных людей.
В качестве пилотного интервью было выбрано интервью с релоцирующимся от нас, но от этого не менее хорошим team-lead’ом Вадимом Прудниковым. Итак, поехали.
IT изнутри. Team lead. Вадим Прудников
— Сколько ты проработал на %company_name%
Я проработал примерно полтора года, с конца августа 2016.
— А до этого?
До этого Klika Tech.
— Как долго ты работаешь в IT?
13,5 лет
— Помнишь ли ты свой первый день?
Да, конечно. Он был не в офисе, я сразу прилетел в Вальдорф. Работа началась с командировки, с перелета.
— Необычно, первый день и сразу командировка. У тебя такое раньше было?
Не было, но почему бы нет.
— Сразу, к интересующим каждого разработчика вещам. Какой твой рабочий инструментарий? (IDE, программы, конфигурация компа)
У меня основной подход, чтобы я настраивал свое рабочее окружение минимальное время если мне придется его перенастроить. Чтобы максимальное количество утилит было вынесено в облако, чтобы я мог иметь доступ с различных девайсов. Это касается общего подхода. Поэтому стараюсь ставить меньше программ.
IDE — Intellij Idea. Начинал давным-давно, еще с версии 4.5, без индексации, когда надо было думать, прежде чем искать по sources.
— Насколько я помню, раньше был выбор только Idea или Eclipse, позже на более-менее достойном уровне появился NetBeans
Холиварчик между Eclipse и Idea идет давно. Сейчас для меня он не актуален, так как Eclipse уже отстал по своей юзабилити. Но некоторые вещи все равно приходится в Eclipse делать, потому что есть плагины, например, для SAP
— Mac or Win?
У меня был рабочий ноутбук. ThinkPad какой-то там. i7 процессор, ssd, 20 с мелочью GB RAM
— Какие IT темы тебе интересны?
Разные. К примеру?
— Ну например, Kotlin?
Kotlin мне интересен, я в общем-то его и двигал в %company_name%. У нас есть внутренний проект, полностью написанных на Kotlin, и сейчас до сих пор пишется. Состоит, по-моему, из 4 микросервисов.
Люблю что-либо связанное с личными архитектурными подходами, т.е. построение различных распределенных систем, стараюсь не отставать в различных новых веяниях, в новых инструментах.
— Правильно ли понимаю, что ты бежишь за хайпом? Если модно делать на микросервисах — делаешь на микросервисах, если моден, например, SOAP будешь использовать SOAP?
Наверное нет. У меня все проходит через призму здравого смысла.
Так как я довольно старый, то одними и теми же словами называются одни и те же вещи на протяжении многих лет. Тема микросервисов не является чем-то будоражащим. Это решение каких-то проблем, с привнесением своих проблем. У меня довольно спокойное отношение к этому.
— Какая последняя книга, которая впечатлила?
Я на самом деле последние несколько лет вообще редко читаю книги. Так, только просматриваю. Последняя, которую просмотрел и прочитал несколько глав — "CRACKING the CODING INTERVIEW". Она помогает человеку сформировать мнение о базовых IT определениях (структуры данных, сложности алгоритмов), а также помогает понять, как лучше выбирать место работы. Мне было интересно почитать советы американских авторов.
— В наших реалиях она полезна?
Я сейчас буду релоцироваться, и эта книжка определенным образом помогла составить introduction о себе, как минимум.
— Ты давно работаешь, в каких должностях тебе удалось поработать в IT за все время?
QA-инженер, php developer, perl developer, java developer (Junior, Mid, senior, Lead), team lead
— Попрыгал по технологиям и остановился на java?
Особо не прыгал, прыжки заняли год с копейками. С конца 2005 я уже стал java заниматься
— Team Lead — кто это? (дай определение своими словами)
Я думаю, это очень сильно зависит от компании. Я не могу вакуумное определение дать. В каких-то компаниях этот человек — должность более управляющая (следит за командой), организующая (следит за процессами: сюда входит code review; распределение задач, контроль их скорости выполнения). Eсли рядом с этой должностью стоит еще и tech lead, то он отвечает за архитектурные моменты, делает декомпозицию задач на технические задачи. А где нет такого разделения то team lead может быть одновременно и техническим звеном и управляющим. Но это все зависит от компании, мне сложно сказать как-то в вакууме, разделить.
— Ты говоришь понятие team lead строго привязано к компании, но если обобщить весь твой опыт, то какие обязанности у team lead вне зависимости от компании?
По моему опыту, это человек, который несет ответственность за выполнения проекта с технической стороны. Должен архитектурные моменты определить, оценить различные вещи, распределить задачи между ребятами, контролировать как эти задачи выполняются, отслеживать риски (больше технические), экспертизу свою предоставлять, быть лицом команды
Твой типичный рабочий день — какой он? Ты приходил в 8, подходил к кофе-машине, начинал с чашечки кофе?
Нет. Не шел к кофе-машине. Действительно приходил к 8 с копейками и сразу я просматривал почту, если мог уладить сразу какие-то вопросы — улаживал сразу. Наверное в 9 30 это время когда я шел за чашкой кофе.
Типичных рабочих дней у меня наверное было мало, чтобы сел, покодил. Кидались какие-то запланированные митинги, но зачастую было сложно предугадать, зачастую активностей в %company_name% на мой взгляд было немало. Я отвечал за несколько проектов. И сам был как разработчик на проекте, и была работа и по presales activity, и по каким-то организационным активностям. Не было типичного рабочего дня. Единственное — что я пытался уходить не позже 18:30 — 19:00, это чисто из-за семьи и детей.
— Если мы говорим о рабочей неделе. То неделя у тебя из чего состояла? Обязательно митинги, митинг с заказчиком и разработчиками, которые у тебя в подчинении. Что еще?
Были разные активности, иногда совершенно спонтанные. Opportunity какое-то появилось. И важно было посмотреть как ресурсы распределить. По понедельником было планирование команды на неделю, чтобы знать примерно в excel кто чем будет занят, какая нагрузка будет на команду. Но в принципе просто различные активности, не помню, чтобы различные недели повторялись точь-в-точь. Да, были какие-то митинги еженедельные с заказчиком, но как у всех.
— Ты довольно давно работаешь в должности Team Lead. Какие достоинства и недостатки ты бы отметил?
Чисто с моей стороны достоинство, что ты можешь влиять и зачастую довольно сильно. Как программист ты можешь высказывать свое мнение по каким-то задачам, по каким-то техническим решениям. Team lead может влиять на большее: ты вовлекаешься в процесс и чувствуешь — делаешь что-то большее не просто пишешь код, помогаешь компании, помогаешь бизнесу расти.
А недостатки — приходится часто переключаться. Надо быть к этому готовым, что в голове надо держать очень много. У меня есть всякие подходы и к организации и писем, задач и то что тебе словами говорят, чтобы это никуда не потерялось, было приоритезированы. Человек должен быть к этому готов. Если ему комфортнее/нравится работать над задачей полдня или день, то тут ему надо подумать стоит ли становиться team lead’oм. Либо тогда быть team lead одного проекта. Тогда тоже OK.
В нашем случае если team lead java department, то так не получится, надо уметь переключаться.
— Если не секрет, на скольких проектах ты был team lead?
У нас?
— Да
Наверное, на 5 точно.
— До того, как ты стал team lead, ты кем был? Из чего ты пришел в данную должность?
-senior java developer
— Как нужно контролировать команду или как с ней вообще эффективно работать? (почему один из твоих бывших подчиненных сказал: "Рад что работал с ним. Таких людей очень редко можно встретить в своей карьере" чем ты думаешь это заслужил?)
В первую очередь надо быть порядочным человеком. Люди в тебе должны видеть того, на кого можно равняться. Надо быть готовым что не только люди за тобой будут идти, но и ты будешь за людьми идти. Не надо свое эго превозносить выше всего, всегда прислушиваться к мнению окружающих. Как показывает практика не бывает, что всегда прав.
Людям давать надо обязательно ответственность. Не надо микро-менеджерить людей, иначе они будут думать, что за них все сделаешь, и они ни за что не отвечают. Людям обязательно нужно давать ответственность, почувствовать эту ответственность. Но они должны понимать, что в случае чего команда (в частности team lead) помогут.
— А если кто-то совершает ошибки, и цена ошибки сорванный срок?
Ну это тогда team lead такое допустил. Все решения, которые существенно влияют на проект… за них должен отвечать архитектор/team lead. Поэтому он должен все эти вещи видеть и предусматривать.
— Как определять KPI team lead?
Я слово KPI не очень люблю, любой KPI можно "читить". Люди они устроены так, что контролирующие получат высокий KPI, но не реально хороший результат.
— Хорошо. Построим вопрос так. Как можно определить насколько эффективен или неэффективен team lead?
Зачастую об этом говорит результат, с точки зрения бизнеса. У lead’a есть какая-то ответственность, эта ответственность определяется на стадии приема на работу. Оговаривается, "ты должен заниматься этим, этим. Отвечать за то, за то". Lead не отвечает за поиск проектов, он не должен бегать по заказчикам и искать проекты, этим занимается sales. Но лид отвечает, что если приходит какой-то проект, то его надо реализовать. Это его ответственность.
По результату: customer satisfaction и что бизнесу принесло — можно сказать лид хорошо отрабатывает или нет.
— Team lead отвечает за подбор сотрудников?
У нас да. Я собственно и набирал команду. Старался выбрать людей, с которыми я могу работать.
— Какие навыки тебе реально помогали на должности team lead?
Я более-менее уравновешенный человек и это реально помогает, потому что сильные эмоции вредят работе. Компетентный человек не должен выплескивать эмоции на других.
Я являюсь довольно хорошим щитом между командой и всеми остальными. Некоторые вещи, которые случаются, не должны влиять на конкретных людей в команде. Если возникает какая-то проблема, я не лечу к конкретному сотруднику и не начинаю ему капать на мозг.
— Team Lead — это конечная точка или можно куда-то вырасти?
Можно и бизнес сделать, можно и менеджером стать хорошим, которого разработчики фиг обманут. Он знает всю подноготную технической реализации.
— Было в твоем опыте, когда разработчики пытались обмануть?
В моем опыте было, когда технически менеджер очень слабый, то технически слабому менеджеру вешали лапшу
— Поменялось ли что-то в мировоззрении за последние 3 года
В принципе нет.
— Что ценишь в людях? А что презираешь?
Я люблю открытость, честность, порядочность, целеустремленность. Не люблю, когда люди останавливаются и ничего не делают. Сидят и только жалуются.
Презираю качества, которые противоречат вышеизложенным. Когда люди лживы, льстят, играют в политические игры.
Я любитель чтобы люди объединяясь и приходили к какому-то результату на позитивной атмосфере. Зачастую важен не результат, а тот путь, которым ты идешь, чтобы этого результата достичь.
— В чем ты считаешь нужно подрасти?
Зачастую слышу какие-то новые слова. Я их записываю, и потом об этом новом читаю.
В техническом плане нужно постоянное развитие. Нет такого, что ты забираешься на вершину горы и там стоишь. Нет, ты постоянно карабкаешься, карабкаешься. Кто-то у подножия, кто-то выше тебя, но гора тоже растет.
— Что самое важное в жизни?
У каждого по-разному. Чтобы человек жил в гармонии с собой и окружающими. И очень важно не жалеть о том, что было в прошлом. Если живешь, живешь, а потом жалеешь, то что-то не так. Самое обидное, когда не осталось времени что-то исправить
— Лыжи или сноуборд?
Смотреть нравится сноуборд, уметь — лыжи.
— Наибольшее видимое достижение в работе?
Хороший вопрос. Я думаю оно еще ждет меня впереди. Я хотел бы выступить в качестве архитектора, lead разработчика в какой-нибудь сложно-распределенной системе, где будет прокачиваться большой объем данных. Пока у меня таких проектов не было. Я думаю он меня ждет.
На данный момент, то что удалось сделать в %company_name%, при тех условиях, которые были — это достаточно хорошее достижение. В принципе я вижу, что люди дают хорошие отзывы и люди растут. Многие джуниоры вырастают в мидлов. Один из джуниоров, которого я нанимал когда-то в 2013 году он сейчас работает как team lead.
— Если бы вернулся на 10 лет назад, чтобы вы посоветовал сам себе?
Наверное, быть более активным. У меня были периоды, когда я очень комфортно себя чувствовал на работе. Я получал и хорошие деньги, и был на хорошем счету. Но возвращаясь назад я понимаю, что мог бы быть эффективнее, мог больше узнать. И я советую всем вне работы постоянно что-то читать, чтобы быть конкурентным на рынке и не жаловаться "денег мало".
— Самая большая неожиданность в должности/профессии?
Не было сильных неожиданностей.
— Соцпакет (социальные плюшки) важны ли для тебя? Если да, то чем больше всего пользовался?
Только тем, что экономит время. Например, паркинг. Приехал, поставил машину, пошел в офис. Ничего чистить не надо, сел — поехал. Нормальные условия работы? просто нормальные адекватные условия, чтобы не надо было куда-то далеко ходить и что-то делать. В общем экономия времени.
Страховка мед в принципе важна, я ей не пользовался, но думаю что в принципе это хорошая штука.
— Почему уходишь из %company_name%?
Отрицательных моментов нет, я просто хочу попробовать поработать заграницей и все. Я нахожусь в таком возрасте, или я принимаю это решение, или потом буду жалеть всю жизнь что не попробовал. Вот и все.
— Какие технологии ты бы выбрал для своего идеального проекта?
Надо определится что такое идеальный проект. Наверное, что-то большое, распределенное. Технологии? Из java стека это Spring Cloud. Он содержит много библиотек, и был бы основой. Остальное зависит от специфики проекта.
— Поддался хайпу? Намайнил себе биткоинов?
Нет, не поддался. У меня, к сожалению, нет своего четкого мнения. Не знаю, хорошо это или плохо.
— Какие планы на ближайшие несколько лет?
Релоцироваться, закрепиться самому, семью привезти, язык изучить, закрепиться в другой стране.
— Набросай как ты видишь алгоритм становления Team Lead начиная с Junior Developer
Я дам пару советов, которые любого человека приведут к росту:
надо чтобы человеку было "не все равно"
- всегда надо делать больше немножко того, за что тебе платят. Когда ты начинаешь так делать, тогда понимаешь, что тебя замечают и ты начинаешь расти. Если ты будешь делать ровно то, за что тебе платят, то так и останешься работать, может получишь надбавку за выслугу лет.
— Чье интервью хотел бы почитать?
Было интересно интервью Олега Чубина.
Комментарии (7)
africaunite
19.01.2018 16:34Хорошее интервью вполне адекватного взрослого человека. И идея нормальная, при условии, что все остальные "рядовые сотрудники", интервью с которыми дойдет до публикации, также будут людьми со своим взглядом и опытом.
dmitry_hidden Автор
Если что, я не журналист, это потуги программиста-интроверта выйти из зоны комфорта и написать что-то интересное (
Так что прошу лучше напишите коммент, что не так. Это лучше, чем просто закапывать вашего брата глубже (
quantum
Я не минусовал, но зачем %company_name%?
dmitry_hidden Автор
Думал хабравчане расценят имя компании как некую рекламу. И якобы эту статью написал какой-нибудь HR, чтобы как-то засветить компанию на хабре. Поэтому хотел этого избежать.
Hokum
Мне кажется, что конкретика в данном случае не помешает. Можно посмотреть чем занимается компания, оценить уровень задач с которыми приходится сталкиваться сотрудникам. Это добавляет жизни, уменьшает абстрактность. Вы же публикуете интервью с конкретным реальным человеком, указываете его имя и должность. Ну и Вы все равно указали ссылку на профиль вашего коллеги на Linkedin, а там указано текущее место работы.
А истолковать почти любой текст можно не так, как задумывал автор. :) В этом случае, можно рассмотреть и как антирекламу, сотрудник же уходит, да еще и проработав не очень-то и долго, на мой взгляд, для такой должности.
AstorS1
>>А до этого?
%company_name%-1