БЕЛАРУСЬ · 04 декабря 2015, 11:10 · Кастусь Лашкевич
Кирилл Лашкевич: «Приятно, когда тебя считают крутым, но я могу объяснить, почему это не так»

Имя Кирилла Лашкевича хорошо знакомо всем, кто имеет отношение к мобильной разработке и не только, кому близки концепции knowledge sharing и community, и кто регулярно посещает мероприятия, организаторами которых выступают сами инженеры. Один из главных авторитетов в белорусском «мобайле», он стал заниматься мобильной разработкой задолго до выхода iOS, а работать на Viber — ещё до открытия в Минске официального офиса.

Сегодня без Кирилла невозможно представить ни популярнейший мессенджер, архитектором iOS-решения для которого он стал, ни R&D-команду Viber, ключевым игроком которой является. В интервью dev.by один из лидеров сообщества iOS-разработчиков CocoaHeads Belarus и победитель конкурса Belarus IT Awards в номинации Ambassador of Mobile среди прочего рассказал, почему не любит, когда его называют программистом, и отчего не спешит уезжать из Беларуси.

Панк-информатик

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

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

В школе, как и все, учил Паскаль. Позже стал выбирать язык, на котором писать. Пошёл как-то в книжный магазин и там среди книжек о языках программирования увидел одну про С++ и подумал: вот какое клёвое название! Так ещё в школе научился писать на С++.

Я постоянно покупал какие-то случайные книжки, не понимая, как выбрать именно то, что нужно. Прочитывал их: какие-то были непонятны, другие просто ужасны, но некоторые были крутыми. Например, Programming Languages: Design and Implementation. Когда первый раз прочитал её в школе, не понял процентов 80. В последствие перечитывал ещё четырежды и каждый раз открывал для себя что-то новое.

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

Тусовка линуксоидов как билет в профессию

Из университетской программы наиболее полезными были дисциплины, дававшие фундаментальное представление о том, как работают вещи, с чего начинать и в какую сторону развиваться. Таких было немного. Например, «Языки программирования» и «Операционные системы». При этом специализированных предметов по программированию мобильных систем или по программированию Linux в наше время не преподавали.

Но самым ценным были люди. В университете я повстречал тех, кому также нравилось программирование и компьютеры. На протяжении всего обучения у нас была тусовка линуксоидов — люди увлечённые (даже фанатичные) и мотивированные, поскольку всё время приходилось доказывать, что Linux — это лучшее, а следовательно, хорошо разбираться в предмете. Мы всё время старались быть «на острие», в самых крутых местах. Максим Мельников, Александр Колесень, Василий Хоружик, Денис Корончик — это всё наша компания. Даже не знаю, как так получилось, что в одном месте собралось столько интересных личностей. Может быть, наша специальность — «Искусственный интеллект» — тому виной.

Собственно, всё это помогло мне попасть на первую работу, где нужно было программировать для компьютера с процессором 100 MHz, 2 Мбайтами оперативной памяти и скромным экранчиком. Весьма специфическое занятие, учитывая, что на тот момент — 2006 год — уже были куда более мощные компьютеры.

Между Linux и iOS

Потом кто-то из потока устроился в новую фирму, которая собиралась делать самые новые вещи для мобильников под анонсированную ОС Access Linux Platform. Нужен был человек, способный программировать на Linux под мобильники. Так мы с одногруппником начали, наверное, одними из первых в мире писать программы под Access Linux Platform. Однако в релиз эта ОС так и не вышла, как и всё, что мы написали.

После этого я разрабатывал приложения под Windows Mobile, Symbian, а с появлением iPhone — и под iOS.

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

Не могу сказать, что разработка под iOS была осознанным выбором. Интерес к ней, наверное, появился, когда Apple выпустила первый SDK, на котором можно было что-то делать. Я закончил четвёртый курс, и на горизонте уже маячило распределение. Поэтому нужно было найти место, где на протяжении двух лет можно будет комфортно работать. Прошёл собеседование в компанию, которая занималась разработкой и под Linux Embedded, и мобильных игр iOS. Хотя под iOS я тогда ещё не писал, пошёл работать именно в этот отдел.

Не разочаровался ли в выборе? Я не тот человек, который сожалеет о чём-то. Когда мне что-то начинает не нравиться, я просто это меняю.   

Viber story, или Почему мне не надоело

Был 2008-2009 год, я работал в компании, которая занималась аутсорсом. И вот однажды пришёл Игорь Магазиник, который искал двух программистов для разработки «штуки» под iOS. «Айосников» тогда в принципе было не много, а я уже понимал, что и как делать. Так мы начали работать над Viber.

Я был самым опытным разработчиком под iOS и с самого начала занимался какими-то сложными штуками, много контактировал с архитектором с израильской стороны. У них не было нормальной экспертизы в iOS, поэтому приходилось во всём разбираться самостоятельно. Сначала проект был довольно простой — всё начиналось с написания кнопочек и приложения. На тот момент это в принципе было интересно. Но со временем Viber рос и становился сложнее. Постепенно я опускался всё глубже — до низкоуровневых вещей: обработки аудио- и видеосигналов, работы с сетью, оптимизациями, библиотеками, которые используют все платформы...

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

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

Не надоело ли на одном месте? В самом начале, когда в Минске ещё не было официального офиса Viber, я на три месяца уходил работать в голландскую компанию. Пару лет назад у меня снова был короткий перерыв: ездил на Тайвань, пробовался в HTC, работал на Viber удалённо. Но там было очень скучно. Не с кем поговорить на технические темы, нет сообщества, с которым можно потусоваться…

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

В Беларуси меня не очень интересуют и напрягают все эти бытовые вещи — мне тут сносно. Офис Viber — в 7 минутах от дома. У нас очень хороший проект, в котором есть всё, что может понадобиться. Большое количество пользователей, известность в зависимости от региона. Некоторые просят сфотографироваться, когда узнают, что ты разрабатываешь мессенджер. Интересные задачи, хорошие люди вокруг… Не вижу смысла менять что-то ради того, чтобы просто изменить.

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

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

CocoaHeads и «Кофе и код»: как создать сообщество по интересам    

Для меня важно, чтобы вокруг были те, с кем можно о чём-то поговорить. Если таких людей нет, нужно сделать так, чтобы они появились. Например, собрать тусовку. Так появилось сообщество CocoaHeads Belarus (на первых порах — iOS.by) и неформальный воскресный клуб «Кофе и код».

Я уже упоминал о нашем сообществе линуксоидов, а вот такой iOS-тусовки для общения «по интересам» не было. Одно время я стал посещать встречи в Ciklum, задавать вопросы, участвовать в дискуссиях. В принципе, мне всегда было что рассказать про iOS, а тут оказалось, что это вроде как кому-то интересно. Постепенно появился костяк сообщества, и чтобы дальше поддерживать и развивать инициативы, мы и создали CocoaHeads Belarus. Сегодня на наши митапы, конференции, которые заранее анонсируются, собираются до 100 человек, что весьма неплохо для подобной инициативы.

История же наших неформальных воскресных сборищ за кофе такова. В Амстердаме, айтишном центре Европы, есть множество сообществ — всегда найдётся куда сходить. Однажды на каком-то рождественском собрании я познакомился с человеком, который рассказал, что организует еженедельные встречи «Кофе и код». Они проходят в одном и том же баре, куда каждый может прийти, поделиться проблемами, показать кусок кода и попросить совета. И я подумал: а почему бы не сделать подобное в Минске? Чтобы каждое воскресенье в 10 утра без предварительных объявлений люди приходили в одну и ту же кофейню со своими проблемами — я люблю решать проблемы, это одно из моих увлечений.

Сначала стали приходить участники CocoaHeads, потом и другие. Правда, довольно быстро выяснилось, что у костяка завсегдатаев нет проблем. А если и появляются, их не хватает для двухчасовой встречи. В итоге мы стали просто обсуждать новости, библиотеки и даже то, кто как кормит своих собак. Получился такой клуб по интересам с объединяющей темой — iOS-программирование. Сегодня для меня это место, где собираются друзья и приятели. Программисты — интроверты, и завести друзей не так просто. А в нашем «кофейном» формате — возможно.

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

Почему я инженер и постмодернист

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

Бывает, что инженерами становятся люди, пришедшие в программирование из абсолютно неожиданных дисциплин (например, анестезиологи). У них может и не быть профильного образования, но зато есть соответствующий образ мышления.

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

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

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

Выступления как эксперимент над собой

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

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

Много также зависит и от аудитории. Перед русскоязычной выступать проще, перед англоязычной, где приходится думать, что и как сказать, гораздо сложнее. Следует учитывать и менталитет, культурные различия. Скажем, однажды я выступал на конференции в Испании и произнёс несколько специально заученных шуток на испанском. Это вызвало неожиданно бурную реакцию зала. Однако в целом мне там было очень сложно, и я остался недоволен тем, что и как сделал, хотя до этого выступал с таким же докладом на конференциях в Питере и Львове. Конечно, это интересный эксперимент — заставить себя выйти из зоны комфорта, сделать что-то чрезвычайно сложное.

В этом отношении отличным стимулом для меня является Яна (Яна Лашкевич (Потеева) — сооснователь площадки Eventspace.by, организатор ИТ-мероприятий, супруга Кирилла — dev.by.). Ей нужны докладчики, и она заставляет меня выступать на конференциях, которые организует. Вот выступил где-то, а потом себе думаю: хорошо, что я «заставился», а так самому было бы лень.

В Беларуси в последнее время стало намного больше конференций и митапов, что не может не радовать. Я и сам стал чаще куда-то ходить, в том числе и на непрофильные мероприятия. Это возможность и познакомиться с новыми людьми, и расширить свой профессиональный кругозор. Даже на самом скучном «ивенте» можно с пользой провести время, что-то запрограммировать.

О потенциале белорусского ИТ

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

Возможно, у нас происходит бум в коммуникации между программистами: профессиональные сообщества, конференции, митапы… Нам нужно активнее знакомиться, не боятся узнавать друг друга, общаться — иными словами организовывать горизонтальные связи, без которых прорыва в сфере стартапов не будет.

В целом, думаю, что ИТ-отрасль в Беларуси должна быть масштабнее и успешнее. Например, Амстердам — один из центров европейской разработки, но Голландия-то ненамного больше Беларуси. Или в Польше, главной аутсорсной стране Европы, какой город не возьми — я был в Кракове, Варшаве, Гданьске и Лодзи — они все уверены, что являются столицей польского ИТ. В Беларуси же на этот счёт не то что споров — вопросов подобных не возникает.

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

Крутость — штука спорная

То, что я занимаюсь узкоспециализированными вещами, не делает меня крутым. Легко быть самым умным в том, чем мало кто занимается. Авторитет, конечно, штука полезная, помогающая достигать утилитарных целей, но опасная. Потому что с его помощью легко убедить людей в неправильных вещах. Я могу ошибаться, но из-за моего авторитета никто не подвергнет мои слова сомнению.

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

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

Работающий продукт всегда лучше

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

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

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

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

У меня есть опыт как разработки того, что не вышло в релиз, так и продукта, которым пользуются сотни миллионов жителей планеты. Признаюсь, во втором случае работать намного приятнее. Приятнее осознавать, что сделал что-то полезное для людей. Я не говорю, что весь такой хороший и сделал это за просто так. Однако когда в Японии произошло землетрясение и не работали сотовые сети, люди использовали Viber для связи с родными, а потом благодарили нас в социальных сетях. Было очень светлое и радостное чувство, что я кому-то помог. Мне это греет душу. Потому я за то, чтобы делать полезные вещи и релизить их.

Читать все интервью с амбасадорами Belarus IT Awards>>>


Фото: Андрей Давыдчик, dev.by.

Источник: dev.by
Новые комментарии

Обсуждение

701ccbac6a142099216f87d5780dd31a?1401052484
+9

"Как-то читал исследование dev.by, согласно которому программистов больше всего мотивирует зарплата. Я с этим не согласен. В какой-то момент ты достигаешь уровня, когда престаёшь думать о деньгах"

Люто плюсую. Изумительное интервью, спасибо dev.by!

Missing-male
+7

Потом возникает другая проблема: Как найти проект, который тебе интересен и ты готов целиком посвятить себя ему в течении хотя бы нескольких лет. Деньги не важны. Можно даже забесплатно. Нужен драйв и масштаб задачи, который был в 20 лет, когда можно было ночами писать утилиты в надежде заработать миллион $ :) А теперь, когда читаешь статьи про стартапы, проекты, которые изменят мир и прочее - невольно представляешь себе галактические перелеты, параллельные миры и сверхлюдей. В реальности все эти "меняющие мир" инновационные проекты оказываются агрегатором интернет-мусора, маркетинговым инструментом для непонятных целевых групп или соц сетью для кузнечиков. Становится скучно. Вроде есть опыт, знания, а куда применить всю мощь творческого потенциала - нет. Вроде появляется все больше языков программирования, технологий и платформ, но все это сводиться к только решению проблем совместимостью между ними и баг-фиксов. Поэтому и остается тратить время на решение чужих задач с неинтересными целями в надежде когда-нибудь найти "тот самый проект и команду мечты" :)

701ccbac6a142099216f87d5780dd31a?1401052484

Ну может вам просто не попадаются интресные стартапы, навскидку, из тех, за кем я слежу, мне очень нравится новый эстонский стартап: по доставке вашего багажа в тот город, в который вы летите лоукостом. По мне так очень здорово придумали ребята (идея может не новая, но хорошая). Этот стартап сочитает в себе крупнейшую логистическую компанию эстонии и передовых айтишников - круто!

Чтобы найти - нужно искать. Иногда внутри себя :)

27f365494e361ace008fca91ed138b29?1365455429
-3

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

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

Вопрос, готовы ли вы (условные мечтатели) к этом сами, или писать ночами крутые вещи можно было в 20 лет, а сейчас надо бухать, не теряя надежду что-то там найти не для кузнечиков.

Picture?type=square
+2

Ага, вот кто в Зерне наш любимый столик занимает по воскресеньям! :)

Missing-male
+3

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

Никогда не понимал этих споров программист vs инженер. Инженеры тоже должны решать конкретные задачи, а программисты понимать, как работает система (иначе как они её смогут изменить). Эта одна и та же профессия (как я понимаю тут имеется в виду software engineer) - решать проблемы путём создания компьютерных систем, Просто кого-то оскорбляет быть просто "программистами", не знаю почему.

Missing
+1

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

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

Раньше вообще все "компьютерщиками" были и людям раздавали грамоты.

Missing

Странная любовь к слову "инженер" для выпускника кафедры ИИ.

Насколько я знаю, "инженеры" там не в почете были, то ли дело "ученые".

0a6263c02f4128afad42dce06b1b229e?1401082372
+1

такое, наверное, есть вов многих профессиях. например, филолог vs лингвист есть противопоставление :)

Picture?type=square

Кирилл, а первое место работы в Синезисе было?

Missing
+1

Нет, это уже третье было.

7df30b74d305843fa914ee4b84813649?1508058659

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

Хехе :) Чего-то меня эта фраза улыбнула :) По-доброму, без подколок (а то в интернетах счас все злые).

Missing
+1

Один из моих любимых докладчиков, даже в темах, которые я совершенно не понимаю. :)

Кирилл, где можно подписаться на новости по ивентам, в которых вы участвуете? Мне нужен single point of access. :)

Missing-male
+1

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

885c1f24448e85326a060b11282a2f63?1504123619

Отличное интервью.. После прочтения осталось приятное светлое впечатление и интересные размышления.. Спасибо


Авторизуйтесь, чтобы оставлять комментарии

Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси