Победитель премии Belarus IT Awards в номинации «Ambassador of Interpreted Backend» Максим Мельников, Solution Architect в СООО «Гейм Стрим», минском центре разработки Wargaming, рассказал dev.by про то, нужно ли бессменно править миром 6 тысяч лет, взлёт «танков», бессмертие софта на фоне смены шильдочек, подленькое мировоззрение «линуксоидов», а также показательный анекдот про ракеты и одновременно про ИТ.
«Гульки»: зачем править миром 6 тысяч лет бессменно
Приличная часть людей попадает в геймдев из-за детской любви к играм. Но моя история — это «случайное попадание».
Ну а в детстве, конечно, играл. Больше всего любил Laser Squad. До сих пор, если нахожу эмулятор, люблю тряхнуть стариной. Ещё играл в третью «Цивилизацию», где уже не было смешных глюков вроде чокнутого Ганди, который развязывает ядерную войну и уничтожает мир. Основной интерес для меня был не в том, чтобы править миром 6 тысяч лет бессменно (лично мне это совсем ни к чему), а в том, как максимально развить своё государство.
Для родителей (моя мама — инженер, папа — тренер по вольной борьбе) всё это было «гульками»: «Ну что, опять гулькаешься?». Шахматы с 5-6 лет, математика (вплоть до республиканских олимпиад), информатика — в моём детстве они очень плавно перетекали друг в друга.
Linux-близнецы в «Научсофте»
Сильно повезло: в БГУИР я попал в группу ребят, очень заинтересованных в своём развитии. Обычно как? Люди или делают лабы абы-как, или не парятся, потому как им всё легко даётся. А у нас каждая лаба становилась мини-соревнованием — кто сделает сложней, оригинальней, полноценней. Потом началось соревнование 2.0: кто устроится на работу поинтересней?
Жалею ли, что бросил университет в конце второго курса и пошёл работать в «Научсофт»? Пожалуй, пора признать это юношеским максималистским решением. Но работа обещала куда больше знаний и практических навыков. Почти сразу уехал в командировку в Германию делать соцсеть для спортсменов. Первое время был шок: две недели на работе переворачивают твоё представление о том, как вообще разрабатывается софт, с ног на уши (или наоборот).
В наш условный «почти Linux-отдел» попало несколько человек. Интересно, что меня и одного коллегу всё время путали, хотя мы абсолютно разные. Вот что делает с людьми линуксизм.
15 человек в подчинении: любопытство, граничащее с отвращением
Когда я пришёл в Wargaming в 2009-м, за год до релиза «танков», это уже не было стартапом и больше походило на маленькую неизвестную обычную компанию. Занимался разработкой поддержки предыдущей игрушки, а потом уже наблюдал «взлёт» танков. Горжусь, что стоял почти у истоков и честно разделяю весь успех, внезапно случившийся в 2010-2011 годах.
Даже не могу сказать, что проработал 6 лет в одном месте: настолько разная работа была.
Кем только не был — разработчиком, архитектором, два года ходил в тимлидах. 15 человек в подчинении. Когда только начинал быть тимлидом, один знакомый описал мои смешанные ощущения так: любопытство, граничащее с отвращением. Через год любопытство закончилось.
Не всё так плохо, конечно, просто не моё. Человек я довольно эмоциональный: когда у ребят что-то случается, меня прямо разрывает, и от этого я начинаю решать вопросы весьма неэффективно. Иногда мои несколько революционные взгляды расходились с мнением компании, а я вынужден был транслировать ребятам позицию компании (ну не свою же!). Чтобы убеждать в том, во что сам не веришь, нужно быть морально забронзовевшим товарищем. Или, к примеру, уволить человека без слёз и сантиментов, как это сделал бы опытный руководитель, мне было фанастически тяжело. Особенно когда человек спрашивал: а что ж вы раньше не сказали, может, я бы исправился?
Сейчас у меня в прямом подчинении 0 человек. Инженерия в чистом виде интересует меня куда больше, чем воспитание людей. Многие удивляются: как так? Это противоречит их типичному представлению о карьерном росте.
Анекдот про ракеты и одновременно про ИТ
Полчаса до запуска ракеты, все конструкторы собрались. Где-то в заднем ряду молодой инженер толкает старшего: надо остановить запуск, мы ж не доделали! Компания потеряет миллионы долларов! Тот: тише, не волнуйся. Пять минут до старта. Молодого инженера распирает. 10 секунд. Инженер постарше зажимает ему рот рукой. 8,7,6,5… кто-то в зале вскакивает и орёт: отмените запуск, мы не доделали! Старший инженер шёпотом: «Видишь, запуск отложили, есть время доделать — а виноваты не мы!».
«Евангелист», который не делает ничего полезного
Было интересно рассказать миру, какие клёвые инженерные штуки делал Wargaming (там ведь есть и мои маленькие кусочки), а у «Танков» внутри — в основном Python. При этом лично я не являюсь фанатом «Питона» вообще и какую-нибудь домашнюю поделку на «Питоне» никогда бы не писал. Лучше уж C или Ruby, они больше соотвествуют моему вкусу.
Куча смешных историй с этим связана, когда ко мне подходили разработчики других игр и спрашивали: а как боретесь с такой-то проблемой в Java? Я говорю: а с чего вы взяли, что сервер «танков» написан на Java? «А на чём?» — «На «Питоне». — «Как на «Питоне?!» Это всех удивляет.
Это не значит, что я имею сколь серьёзное отношение к написанию сервера «Танков». В других компаниях эта штука называется «евангелист» — человек, который ничего полезного не делает, но ходит и рассказывает.
Автобусный фактор: «не гики» в салоне
В белорусском ИТ всё ещё очень силён автобусный фактор (Bus factor).
Хотя все компании делают вид, что этого нету, общий подход такой: иметь в команде одного ведущего разработчика и пачку маленьких, чья зарплата непропорциональна пользе, и всех продавать как крепких середнячков. Из-за этого во многих командах есть такие человеки, без которых начнётся беда, ужас и полное непонимание, что делать.
Всегда найдутся компании, которые придумают, как трудоустроить ребят-«не гиков», пришедших в ИТ за длинным баксом. Какие проблемы от них? Мне — никаких. Индустрию они не портят совсем. Минус: лично мне с такими ребятами работать очень-очень сложно: чёткое разжёвывание задачи для человека убивает всё удовольствие от работы.
Беда в другом: в Беларуси не хватает компаний, эффективно использующих гиковский ресурс. Если в какой-нибудь Калифорнии куча работы для одних и других, то здесь много грамотных ребят завязло в вялом и странном аутсорсе. Больше четырёх команд в Минске занимаются разработкой закрытых кроссплатформенных графических библиотек для закостенелого заказчика. На дворе 2015 год! И мой опенсорсно-религиозный мозг вскипает: ну да, вы приносите больше пользы, чем вреда, но простите, друзья, нельзя ли чем-то более полезным для мира заняться?
Монструозные решения vs «тяп-ляп и в продакшн»
В моей голове сообщество разработчиков условно делится на два лагеря. Первый — это
enterprise-разработчки, пишущие на Java и .NET. Второй — Linux/Open Source комьюнити (C, Ruby, Python, PHP). Вот эти две аудитории как-то отличаются в плане менталитетов, подходов, решений. Инструменты первого лагеря более солидные, вылизанные, готовые, бери и делай. Решения получаются работающие, но слегка монструозные; обычно их никому не показывают. А второй лагерь действует под девизом «тяп-ляп и в продакшн».
В каждом из лагерей есть ещё одно «подразделение», которое я делаю лично для себя, — умеет ли человек писать на С. Обычно те, кто писал на С, лучше разбираются в том, как вещи и фреймворки устроены изнутри. Хроническое любопытство, любознательность — часть их менталитета. А те, кто не писал, обычно разбираются не более чем на уровне «Хабрахабра».
Круговорот Linux-разработок в природе
Компании могут умирать, но их разработки выплёскиваются наружу и развиваются. Софт-то не умирает, маркетологи тупо меняют шильдочки.
В 2007-2008 годах маленький китайский стартапчик Openmoko Inc. задался целью сделать Linux-телефон небольшенькой партией в 10 000 штук. Проект был популярен в тусовке, но умер, до пользователей не добравшись. Продавался в магазинах Linux-игрушек. Можно считать, что компания абсолютно неуспешна, правда?
Но вот какой фокус: графический стек, который использовался в проекте, — Enlightenment (E17). Одним из разработчиков в Openmoko был тимлид этого Enlightenment уже последние лет 15. Сразу после смерти компании он «вдруг» оказался в Samsung и продолжил заниматься тем же самым. Потом это переродилось в операционку Tizen для умных часов, которые люди носят на руке.
С удовольствием наблюдаю, что происходит внутри Samsung и маленького финского стартапчика Jolla, который плюс-минус успешен: гигантская корпорация и стартапчик штурмуют одну проблему с разных флангов.
Была у меня мечта попасть в подобную компанию. Наверное, и сейчас есть.
Подленькое мировоззрение «линуксоидов»
Разработка классического Linux для телефона вполне подъёмна для энтузиастов, фанатов и гиков. Другое дело, будет ли этим пользоваться хотя бы 5% мира? Это вряд ли. Для большинства разработчиков и цели-то такой не стоит.
Несколько подлое мировоззрение «линкусоидов»: количество пользователей ничему не помогает, поэтому их можно игнорировать. Какая разница, 100 миллионов или 10 человек? Главное количество разработчиков, которые участвуют. А оно от количества пользователей не сильно зависит. Программисты свою зарплату всё равно получат, поработав над проектом в рамках Intel или какой-то другой компании. Это здорово мешает работодателям.
8-часовой рабочий день — это реально
Вершить великие дела с 9.00 до 17.00, не выбиваясь из графика, можно. Лет до 27 я очень много работал дома. А потом внезапно пришлось забирать старшего сына из детского сада каждый день. С тех пор я стал всех приучать: что бы ни происходило, как бы ни лежал продакшн, какой бы ни был важный митинг — в 18.00 я забираю ребёнка, хоть разбейтесь.
Если честно, я думал, что из-за этого небеса разверзнутся. Оказалось, нет. Даже смею надеяться, что по-прежнему весьма полезен для компании.
В Минске я выбрал жизнь за МКАДом, в Боровлянах. С детства привык видеть лес за окном, жена тоже. Это для меня важно, а не магазины под боком. Летом с детьми уходим в чащу — три минуты пешком, и едим чернику с куста.
В выходной мне охота поспать. Если жена заставит (именно заставит) съездить с детьми на озеро, в парк или центр развлечений, то ворчу. А если не заставит, то потом у меня плохое настроение: «Беда, выходные пропали». Меня надо выгонять из дома. Ещё для домашних развлечений у меня есть чугунная сковородка — готовлю мясо различными способами. Все эти детские стереотипы о мужских и женских обязанностях в отношениях напрочь вымываются, когда остаёшься с детьми тет-а-тет на пару дней.
PlayStation 4 для папы
Для игр у меня PS4, честно плачу 60 долларов за игрушку. Уже лет 6 играюсь на приставках, 3-4 игры в год успеваю пройти. Что мешает проходить больше? Дети! Играют ли они со мной? Они ещё маленькие для консоли, мальчишки по 3 и 6 лет. Пока в iPad играют.
Я не заморачиваюсь на тему «Ruby для 5-летних» и прочего: для меня в 15 лет было не поздно увлечься программированием. Да и после 18 можно несколько раз передумать. В условной БССР привыкли, что человек выбирает карьеру в 18 лет раз и навсегда. А в США 40-летний пожарный берёт и становится клёвым дизайнером систем.
Почти общенациональная фантазия про отсроченный супер-проект
Думал ли про свой бизнес? Какой? Купи-продай? (смеётся) В студенчестве аж распирало — так хотелось стартап. Но так уж повелось, что мне больше интересны большие сложные системы.
Эта фантазия, по-моему, довольно характерна для белорусов: хорошо бы однажды сделать супер-проект, чтобы наконец-то перестать заниматься нелюбимым делом! Все эти долгосрочные планы (через 5 лет хочу быть там-то) — про то, что людям не нравится их настоящее: вот протерплю 5 лет, достигну точки Б, а там уж заживу! Это не про меня. Я уже в этой точке. Страшно доволен всё-таки тем, что по жизни стал заниматься любимым делом. И это случайно оказалось самым прибыльным. Пусть и не сразу. В ушах ещё стоят те крики из 90-х «Все в юристы, экономисты!».
Успешное инженерное решение: зомби анимируется, пока мир спит
В Беларуси меня больше радуют мелкие продуктовые компании, чем стартапы. Понимание стартапа извращено до «сделали что-то, продались, озолотились».
А восхищают меня не финансовые успехи, а интересные инженерные решения, которыми иногда делятся знакомые коллеги «по индустрии». Из того, что меня восхитило: подходы разработчиков «Зомби Фермы» к построению сервера. Может сказалось, что один из ведущих разработчиков до этого писал банковское ПО и чётко понимал, что делать. В этой браузерной игре было много анимации, однако работала она при этом как простая логическая игрушка. Грубо говоря, будущее действие читалось на сервере за одну микросекунду (зомби пришёл в точку B за такое-то дельта t, мир спит), а потом этот переход зомби 10 секунд анимировался. Это позволяет их серверу держать огромные нагрузки. За счёт успеха инженерного решения всё сложилось — и клёво.
Большому брату наплевать
ПО с открытым исходником — панацея от всевидящего ока? Думаю, загвоздка в другом: люди не хотят, чтобы за ними не следили.
Почему криптование почты или «распределённые» соцсети получили распространение только в среде гиков? Слишком сложно? Не настолько. Нужно ли это людям? Да нет! Большинству просто нравится разглагольствовать про тотальную слежку, храня фоточки во «Вконтакте».
Большой брат — это цветочки, ты ему малоинтересен. Иметь знакомых внутри Dropbox, «Вконтакте» или Viber — вот что по-настоящему страшно. В этом шутка жизни: у этих ребят точно есть возможность выцарапать всю твою подноготную, если они обидятся или заинтересуются. Лично я со спокойной душой пишу в Facebook — у меня пока нет там знакомых разработчиков.
Город, где родился Билл Гейтс и умер Курт Кобейн
Недавно вернулся из Сиэтла — небольшой портовый городок со странностями вроде запаха легальной марихуаны (не перегар зато!) повсюду, весь пронизанный штаб-квартирами Microsoft. На рекламных биллбордах можно «ругать» конкурентов поимённо, после Беларуси это непривычно. Там родился Билл Гейтс (таксисты хвастают, что видели его где-то в кафешках) и застрелился Курт Кобейн, но гордятся они тем, что у них первый в мире Starbucks.
Главная шутка про Сиэтл: я думал, что лечу в Сиэтл, но аэропорт не в Сиэтле; думал, что буду жить в Сиэтле, но жил не в Сиэтле, а в Белвью; думал, что у Wargaming офис в Сиэтле — нет, в Рэдмонде! Короче, это не город, а конгломерат городов, что оказалось для меня сюрпризом.
Адреналиновые качели
Есть пословица: в Wargaming скучно не бывает. Вот это стопудово.
«Программирование ногами» — этот термин, который появился пару лет назад , идеально описывает специфику работы в Wargaming, потому и прижился. Примерно 50% времени разработчик будет ходить по этажам и говорить с нужными людьми о работе.
Бывает, что-то не клеится, приходишь домой ну очень подавленным. Если бы не семья (за это Wargaming должен быть ей благодарен) — не выдержал бы, уехал в Таиланд давно, как некоторые, психику восстанавливать. Вместо этого я научился просчитывать в голове все негативные сценарии: паспорта по дороге в аэропорт могу проверить три раза.
А иногда — аж распирает, что всё получилось! Эти колебания огромны даже в течение одной недели. Сегодня очень грустно и плохо, завтра очень весело и отлично, и, кажется, я на эти адреналиновые качели подсел. Пойти работать в тихое спокойное место мне было бы уже сильно тяжко. Где-то вычитал, что чем больше такая частота колебаний, тем острее счастье.
Сверхчеловеки, снобы и просто парни с отвратительным характером
Ницшеанский комплекс сверхчеловека я, конечно, за айтишниками замечал. Среди них есть люди с отвратительным характером — в бытовом понимании. Если прямо, то их бы стоило считать мудаками. При этом в работе они хороши — и это главное. Да, с ними тяжело, но оно того стоит.
Надеюсь, меня таким не видят. Но знаю, что не всегда получается быть «хорошим человеком». Недавно товарищ рассказал, что за глаза меня назвали снобом. Посмеялись — он-то знает, что это неправда.
Дальнобойщик в мире без компьютеров
Кем бы я был в мире без компов? В раннем детстве мне нравилась работа дальнобойщика: замкнутое пространство, где ты проделываешь свою работу и ощутимо движешься вперед.
Фото: Андрей Давыдчик
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.