Будет интересно выяснить, что их объединяет, в чем они противоречат другу другу. Возможно, их ответы помогут выявить какие-то общие закономерности, полезные советы, которые помогут многим из нас.
Сегодня наш гость — Максим Лапшин, основатель компании Flussonic. У него достаточно категоричный взгляд на то, каким должен быть бизнесмен в ИТ. Но еще интереснее его отношение к словосочетанию «хороший инженер-программист».
Чем занимаетесь в компании?
Сейчас я являюсь техническим директором компании. Все еще занимаюсь разработкой, но уже меньше, чем раньше. Кроме того, приходится заниматься вопросами развития и продвижения.
Компания маленькая, поэтому заниматься приходится очень многими вещами. Чем больше удается делегировать – тем лучше.
Мы не инвестиционный стартап, мы — «бутстрапная» (bootstrap) компания: развиваемся на свои средства. Наш коллектив пока не слишком структурирован.
Сколько часов в сутки вы уделяете работе?
Жена считает, что 24 часа в сутки (смеется). Ну а я думаю, что часов 11-12.
Сколько часов вы спите?
Стараюсь, чтобы было часов 8 сна.
Вы завтракаете?
Да, иначе я к обеду уже становлюсь злым и раздраженным. Обычно я утром везу ребенка в сад и сразу иду в кафе, ем кашу. Потом – на спорт, если нужно.
Много времени уходит на дорогу в офис?
Я живу в Зеленограде, поэтому времени уходит немного – 10 минут.
Чем занимаетесь в пути, когда приходится совершать длительные поездки?
Если еду на машине, она забирает все внимание на себя. Если я могу, например, поехать в Москву не на машине, а на электричке, то просто «сижу» в ноутбуке.
Каким todo-менеджером пользуетесь лично вы?
У меня есть специально разработанная нами система, которая помогает мне не забывать об очень важных вещах – написать клиенту или выполнить другие важные для всей компании задачи.
Обычно, когда я утром прихожу на работу, я выписываю себе дела, которые нужно сделать сегодня. Затем я стараюсь их последовательно решать, постепенно отвлекаясь на то, что «всплывает» в процессе. Если получается сделать две трети из этого списка, – это хорошо. Потом, оглядываясь назад, понимаю, что некоторые вещи сами по себе отпочковались. Это важно – уметь отпускать какие-то вещи: думал, что это будет нужно, а потом выясняется, что их важность была переоценена.
Каким таск-менеджером / issue-tracker’ом / репозиторием пользуетесь?
Используем Gitlab. Issue-tracker мы не используем: это нам неудобно. Вместо этого у нас обычный Redmine для программистов, а также вики.
А общение с клиентами происходит через нашу самописную «тикетницу», которая хранит все-все-все за 4 года работы нашей компании.
Какие инструменты, фреймворки вы используете для разработки?
Редактор кода Sublime, репозиторий Git, IDE Erlang. Больше у нас ничего и нет. Пробовали Bitrix пользоваться, но не сложилось: он идет вразрез с нашими рабочими процессами.
Есть ли в вашем отделе какие-то внутренние проекты, библиотеки и для чего они создавались?
Да, мы многое автоматизируем в нашей работе, и это не является тем кодом, который мы продаем. Кроме тикетницы у нас есть самописный биллинг. Там мы ведем учет всех денег, полученных от клиентов. Написана она на «рельсах».
Я считаю, что такие вещи каждая компания должна писать самостоятельно. Искать готовые решения, ждать от кого-то другого, что это сделают за вас, на мой взгляд, бессмысленно.
Но лишних вещей мы стараемся не плодить, чтобы не поддерживать их потом.
Что вас раздражает больше всего, когда вы работаете?
Раздражает собственное незнание тех вещей, которые позволяют добиться поставленных целей. Когда цель становится понятной, в голове появляется образ того, что хочется построить, но неизвестно, какие шаги нужно для этого сделать: возникает ощущение беспомощности. А это ощущение всех раздражает.
Какую технику (компьютеры, планшеты, смартфоны) и операционные системы вы предпочитаете на работе и дома?
Я сам с 2007 года работаю на компьютерах Mac. С 1999 года я работал только с Linux. Почти у всех, включая административный персонал, в нашем офисе стоит Mac OS или Linux. У одного человека, который занимается бумажками, стоит Windows: ей нужен Microsoft Word. Это иногда вызывает проблемы.
Вы слушаете музыку, когда работаете?
Категорически не слушаю. Иначе я потеряюсь. Это очень мешает работе. Если кто-то в офисе хочет слушать музыку, пусть покупает себе закрытые наушники.
Какой лайфхак позволяет вам быть эффективнее?
Чего-то особенного я не скажу. Главное — постоянно фокусироваться на том, что важно. Когда строишь компанию, есть огромное количество вещей, которые сделать просто необходимо. На самом деле времени крайне мало. Восемь рабочих часов – это вообще ни о чем, когда ты начинаешь заниматься более чем одним делом.
Пока я был просто программистом, казалось, что можно о-очень много сделать за один рабочий день. Сейчас я могу составить список из 11 дел. Это означает, что на каждое дело у меня есть 30 минут, а еще надо успеть пообедать.
Поэтому что-то приходится выкидывать, фокусироваться на главном. А для этого важно понимать, что компания делает, какие у нее ценности, и как то, что ты делаешь, встраивается в ценности этой компании.
Другая важная задача – учиться делегировать. Любой человек вам скажет, что это сложно: поначалу всегда есть провал в скорости работы, но это обычная история.
Без каких приложений и сервисов не можете обойтись ни в работе, ни в личной жизни?
В первую очередь это платежное решение «Модульбанк». Это, наверное, лучшее, что случилось с банковской системой за последние 50 лет. Если бы их не было, то проще вообще официально закрыться и уйти в «серу».
Что бы написал Максим Лапшин 10 лет назад в письме в будущее самому себе?
Дал бы совет: если хочешь добиться чего-то большого и важного, то самое главное для программиста – фокусироваться не на том, что ты умеешь, а на том, что нужно людям. Ведь в конце концов, денежный заработок сводится к тому, что люди не покупают то, что им не нужно.
Поэтому надо думать о других людях, думать о том, какую ценность ты им приносишь. Когда сидишь и работаешь обычным программистом, это довольно сложно понять. Это может быть ясно на словах, но на деле – далеко не все так просто.
У вас пройден огромный путь. А кто-то сейчас стоит в начале этого пути. Что бы вы порекомендовали человеку, пытающемуся пройти тот же путь?
Я не готов давать советы о том, как строить свой бизнес. Это надо пройти самому. Но я могу дать совет тому, кто хочет связать себя с компьютерами, программированием и всем прочим.
Хороший инженер – это тот, кому без разницы, на чем писать. Инженер, который говорит, что пишет только, например, на Java, – это не первоклассный специалист. У меня в команде есть люди, которым я даю все, что угодно – от экзотической Julia до починки кода на iOS.
Все подобные специализации – это вопрос сиюминутных знаний. Ведь через полгода они выветриваются, а более глубокое, общее понимание остается.
Это еще важнее для тех, кто хочет связать жизнь не только с программированием, а с околопрограммистским бизнесом. Когда я еще работал в компании «Злые марсиане», мы сотрудничали с Darberry, и с нами общался Олег Козырев – директор компании. Несмотря на то, что это был менеджер, он нам несколько раз приносил код, который сам написал, запустил, протестировал, и в итоге это все у него заработало. Он не чурался такой работы. Хотя этот человек все-таки бизнесмен. Он сейчас делает Rocket Bank, кстати.
Поэтому, на мой взгляд, чтобы быть бизнесменом в сфере ИТ, лучше уметь программировать.
Комментарии (22)
nki
19.12.2016 13:00Очень часто в подобных интервью упоминается делегирование. Скажу по себе — это действительно здорово помогает.
maxlazar
19.12.2016 13:12«Почти у всех, включая административный персонал, в нашем офисе стоит Mac OS или Linux. У одного человека, который занимается бумажками, стоит Windows: ей нужен Microsoft Word.»
хм… ничего что MS Office уже лет как 5 минимум доступен на Mac? И я особой разницы того же Word'a на маках и win не замечал.claygod
19.12.2016 14:00-2Есть ещё Open Office
dendron
19.12.2016 16:29+2При всей моей любви к open source, Open Office во всех его ипостасях — жуткая дрянь. Как только доходит до дела чуть сложнее чем накалякать записку — плакать хочется от обилия глюков на каждом шагу и полного отсутствия дизайна интерфейса. Работать невозможно абсолютно.
Серьёзно, Open Office надо просто закопать. Его делали плохие программисты (все хорошие ушли писать ядро, видимо) в свободное время, по воскресеньям, между завтраком и обедом, левой пяткой, методом фигак-фигак-и-в-продакшн.
Mimus_spb
19.12.2016 13:45+1если хочешь добиться чего-то большого и важного, то самое главное для программиста – фокусироваться не на том, что ты умеешь, а на том, что нужно людям
Советую всем кто занимается разработкой заставлять программистов проговаривать эту фразу каждый день, вслух, пять раз перед началом рабочего дня и еще пять раз после окончания рабочего дня.
kip
19.12.2016 16:12+1А расскажите, пожалуйста, про то, что хорошего в платёжном решении Модульбанка? Спасибо.
VlK
Это только с точки зрения предпринимателя хорошо: можно отправить людей хоть (метафорически) газоны стричь, хоть полы мыть. В более широком смысле, интерес АйТи-предпринимателя — нанимать людей универсальных, взаимозаменяемых и недорогих; особенно это актуально для небольших и средних предприятий в АйТи.
Я вот не уверен, что такая гибкость в долгосрочных интересах разработчика. Разве только сравнительно молодым инженерам полезно поделать всего по-немножку, чтобы руку набить и страх перед незнакомыми технологиями отбить.
datacompboy
Нет, без разницы становится просто потому, что концептуально языки и инфраструктуры все одинаковые. Концепций единицы, языков сотни — после познания концепций просто разница исчезает. Да, можно не понимать некоторые терминологические аспекты, но суть известна и писана уже в десятках разных вариаций и соусов.
Поэтому под каждую задачу берётся более подходящий инструмент и вперед.
VlK
Да, согласен, если поверхностно смотреть, то общего между разными инструментами достаточно.
На практике же есть огромная разница между человеком, который, скажем, много лет на плюсах писал, и который, например, с универа только пару раз что-то там лично для себя написал.
И, например, не меньшая разница между теми, кого называют full stack bla-bla и человеком, который в основном концентрируется на клиентской разработке.
Я не к тому, чтобы плюсист не способен немного джаваскипта написать. А к тому, что можно запросто загубить карьеру прыжками между разными технологиями и подходами. Всегда следует понимать разницу между собственными профессиональными интересом — и интересом, например, работодателя.
Впрочем, не уверен, что переход с Джаваскипта на плюсы — дело вот прям тривиальное :-)
datacompboy
Как в своё время говорил Арви — «один-два-много». Один язык — тяжело. Два — со скрипом. Третий-четвертый-пятый уже не замечаются.
Я не писал на плюсах десяток лет. Более того, опыта паскаля у меня больше, чем плюсов (да-да, закидайте тухлыми яйцами).
С момента начала работы в гугле приходится писать на плюсах довольно много — проблемы нет. Да, иногда на ревью получаю комментарии по стилю — но это вопрос минут на исправление, совершенно не требуется для этого быть «плюсистом до мозга костей».
Врядли я смогу взять и сразу писать на knockout, но расширять уже существующий проект проблем мне не составляло когда я его увидел впервые. То же самое с ангуляром.
Достаточно быть вообще в курсе что и как идёт, и когда потребуется — прочитать гайдлайн и немного кода вокруг.
Разница есть между человеком, который много лет писал код, и кто с универа пару раз для себя что-то написал. А еще есть огромная разница между человеком, который десятилетия писал один и тот же продукт, пусть и на плюсах, но не смотрел по сторонам. И он бесполезен практически даже как плюсовик в других проектах, потому что нюх потерял и погряз в совершенно бесполезном за пределами проекта опыте.
Именно это — проблема. И если человек следит и готов учиться — языки и технологии становятся инструментом, а не идолом.
VlK
Вы совершенно правы, конечно, по сторонам смотреть надо, знать языки разные надо, общие фундаментальные подходы знать надо.
Я указываю немного на другое: не всегда стоит «размываться» по первому требованию работодателя.
Вам, вероятно, должна быть ясна разница между людьми, которые говорят, что знают алгоритмы, и людьми, которые способны бегло излагать в коде алгоритмы, или даже предлагать варианты алгоритмов под конкретную задачу. Знания первых формируются первым абзацем на Википедии, знания вторых значительно глубже в подкорке лежат. Быстрое объяснение «на пальцах» совершенно не равно пониманию доказательства корректности логики, лежащей в основе алгоритма.
Так вот, такое глубокое, почти подсознательное знание используемого ментального инструмента сродни игре на музыкальном инструменте — оно требует многолетней практики и концентрации на деталях. Часто — и по вполне объективным причинам! — бизнесу и, соответственно, руководителям предприятий в АйТи это совершенно не интересно.
И оно понятно и объяснимо. Зачем оно нужно? Реально ведь нужно формочки здесь сделать, скриптики там, запросики еще где в третьем месте.
VlK
Возможно, вы даже представили меня эдаким апологетом одного знания языка или технологии:-)
Это не правда. Я люблю и пишу на многих языках: регулярно пишу на лиспах, Си, Джаве и Питоне, два-три года писал на плюсах (и не путаю их с классическим Си). Это не говоря уже о тех раритетных языках, которые довелось просто из любопытства попробовать на одном-двху примерах.
Довелось делать поисковик, про которй вы не слышали; очень большую многопользовательскую игру, про которую вы точно слышали; запускал онлайн-кинотеатр и даже небольшое мобильное приложение… Все это — на разных языках и совершенно разных технологиях :-) Если и существуют люди с более-менее универсальным опытом, то, надеюсь, меня можно к таковым отнести.
datacompboy
Подозреваю, что проблему вызвало про «хоть газоны стричь, хоть полы мыть».
На это как раз НЕ то же самое, что «без разницы, на чем писать».
Неважно на чем, но ЧТО делать — обычно важно.
То есть принятие решений идёт «что делаем => на чем лучше».
Приоритеты могут быть, но всегда выбор из более одного варианта, и личные предпочтения влияют только в качестве оценки скорости реализации, после фильтрации по применимости к случаю.
VlK
Да, конечно, все так, особенно с точки зрения технического руководства.
Я просто добавляю в это уравнение такую вещь как «личный профессиональный интерес». Не в смысле «хочу попробовать», а в смысле «мне нет смысла заниматься еще и этим».