Мы продолжаем расспрашивать специалистов о режиме труда и отдыха, профессиональных привычках, об инструментарии, который они используют, и многом другом. Будет интересно выяснить, что их объединяет, в чем они противоречат другу другу. Возможно, их ответы помогут выявить какие-то общие закономерности, полезные советы, которые помогут многим из нас.
Сегодня наш гость — Савва Михалевский из Grabr:
Чем занимаетесь в компании?
Grabr — это peer-to-peer платформа, где пользователи совершают покупки за рубежом и доставляют их с помощью путешественников. Сервис существует в форме онлайн площадки (grabr.io) и мобильного приложения для iOS. С одной стороны, наши пользователи имеют возможность покупать любые вещи за рубежом, с другой — зарабатывать в путешествии, доставляя покупки.
Моя миссия в этих процессах — создание и поддержание всего front-end. Сайт, приложение для iPhone и грядущий запуск версии на Android. Как раз сейчас мы готовим всю технологическую базу под это. Практически весь front-end Grabr построен на одном технологическом стеке. Что облегчает и поиск новых программистов в команду, и снижает количество ошибок. Здесь очень большой код-шеринг.
Одно слово, лучше всего описывающее, как вы работаете?
Одна фраза – «внимание к деталям». Именно на этом основан успех всей системы.
Сколько часов в сутки вы уделяете работе?
Работаю по 12-13 часов. Непосредственно в офисе я провожу от 9 до 11 часов, в зависимости от количества дел и моего желания все успевать.
Сколько часов вы спите?
Часов 7 по будням и около 10 по выходным.
Как вы завтракаете?
Овсянка с молоком. Уже очень много лет только так.
Что делаете по пути на/с работы?
На работу и обратно добираюсь на такси – это здорово экономит время, позволяя сосредоточиться и подготовиться к рабочему дню в относительной тишине. В дороге время от времени просматриваю Business Insider и технологические блоги на Medium. Но чаще всего я читаю сайты, которые предложил мне Google в ответ на какой-нибудь мой запрос – у меня в голове постоянно крутятся идеи, как имплементировать тот или иной функционал, и я ищу ответы на возникающие в ходе мысленного эксперимента вопросы.
Каким todo-менеджером пользуетесь лично вы?
Пользуюсь «тудушками» на iPhone. Мне очень нравится, как они синхронизируются с Mac. У меня есть пять категорий задач: домашние, рабочие, промежуточные и так далее. Все свои задачи я стараюсь загонять сразу же в этот todo-list.
Без каких приложений и сервисов не можете обойтись?
Не могу обойтись без Gmail и GitHub. В последнем вообще, кажется, собрана вся моя жизнь. Очень зависим от этого сервиса.
Каким таск-менеджером / issue-tracker’ом / репозиторием пользуетесь в компании?
Пользуемся тем же GitHub в качестве репозитория и там есть отличный issue-tracker. В команде также пробовали пользоваться Trello, но он оказался слишком рандомным для разработчиков.
Кто-то поспорит, но каждая команда выбирает инструмент под себя. Кому-то нравится JIRA, кому-то — Trello. Кажется, это Эйнштейн сказал: «Все должно быть просто, но не проще, чем нужно». Вот для меня GitHub — отражение именно этой истории.
Какие еще инструменты и ПО используете в работе?
Пользуюсь техникой Apple. Уже очень давно отказался от большого мощного компа на Windows в пользу компактного Mac.
В работе использую Terminal, Sublime, Sketch, IDE. Sketch открыл для себя только с приходом в Grabr. Наш дизайнер все рисует именно в этой программе. И сейчас, кажется, это самый удобный инструмент для верстки.
Вообще я сторонник платить за ПО. Мне кажется, когда платишь за софт, говоришь спасибо его разработчикам за потраченное время. Тот же Sublime ничего не стоит, только предлагает тебе внести любую сумму в поддержку проекта. И мне совсем не жалко тех же $30 за год использования крутого инструмента.
Если говорить про front-end в Grabr, то мы находимся тут на переднем технологическом краю — у нас React как renderer, Redux как модель, Flowtype для вывода типов. Дальше только Facebook, который все это создает. Мы пользуемся атомарной версткой и сумели создать собственное решение для этого. И сейчас это решение доступно в open source. Вы уже можете начать работать с ним.
Что вас раздражает больше всего, когда вы работаете?
Не люблю шум.
Какую профессиональную литературу вы бы могли порекомендовать?
Книга «JavaScript: The Good Parts» Дугласа Крокфорда. Очень маленькая книжка по основам языка JS, а больше знать не нужно.
Что предпочитаете: электронные читалки или бумажные книги?
В этом плане я ретроград – предпочитаю бумажный носитель.
Какую технику и почему вы предпочитаете на работе и дома?
Около 8 лет я проработал в крупном энтерпрайзе, а там балом правит Microsoft, поэтому волей-неволей приходилось ежедневно работать на Windows стеке. Последние лет 5 моим личным компьютером был Mac, и свои проекты я разрабатывал на нем. Когда я присоединился к Grabr, я полностью перешел на эту платформу, стал использовать Mac и для работы.
После покупки компьютера на Windows ты начинаешь с того, что переустанавливаешь систему, чтобы избавится от бесконечных антивирусов, оптимизаторов реестра и всей рекламной мишуры, которую туда напихали производители. Техника Apple, их софт и сервисы мне импонируют, потому что позволяют не думать о них – они просто работают «из коробки».
Мне нравится, как все синхронизировано через iCloud. Например, после покупки нового компьютера, достаточно залогиниться, чтобы вернуть все свои приложения и последние установки в них. Кроме того, все элементы экосистемы отлично подогнаны друг к другу и я не помню, когда последний раз был вынужден что-то настраивать.
Говорят, что под Mac нет полноценного софта для программистов – это не так. Существует множество средств разработки, от Sublime и Coda до таких комбайнов, как IntelliJ IDEA. И, что важно, они все очень красивые и ими приятно пользоваться.
Что вы слушаете, когда вы работаете?
Лучше всего я работаю в полной тишине. Но вообще люблю рок – Pink Floyd, Deep Purple и электронику, например Depeche Mode.
Какой лайфхак позволяет вам быть эффективнее?
Для меня написание кода – это творчество, создание чего-то осязаемого через упорядочивание символов на экране. Из этого отношения рождается перфекционизм, который, как известно, погубил много хороших проектов, вспомнить хотя бы Duke Nukem. Поэтому я вывел для себя понятие периода полураспада кода – это отрезок времени, за который мой код перестает мне нравиться. Если этот период слишком короток, то я явно не уделил коду достаточно внимания. Если период слишком длинный, то скорее всего, я неоправданно долго доводил код до совершенства и настал момент вспомнить принцип Парето. А вот поддержание средних значений, кажется мне наиболее эффективным.
Эффективность, в моем понимании, не измеряется строками кода в единицу времени или количеством выполненных задач за спринт, она определяется способностью накапливать опыт и извлекать уроки из своих ошибок.
Какой профессиональный совет на будущее вы можете себе дать?
Не становиться однобоким профессионалом. Многие революционные открытия и технологии создавались людьми, обладающими свежим взглядом, незамутненным традициями и догмами.
Что бы вы порекомендовали человеку, пытающемуся пройти тот же путь?
В последнее время появилось множество курсов, обещающих быстрый старт в изучении языков программирования, а быть программистом теперь модно. Но, как показывает практика, для того, чтобы стать хорошим программистом, необходимо значительно больше десятка занятий, а изучать надо не только и не столько языки, сколько логику и абстрактное мышление. Язык программирования – это лишь инструмент выражения мысли, стоит выбирать его под стать задаче. Не стоит настраивать рояль с помощью кувалды, а забивать сваю молоточком для настройки пианино.
Если говорить о технических аспектах, то мне импонирует более основательный, фундаментальный подход, поэтому я рекомендую начинать изучение программирования со строго типизированных императивных языков, таких как Java или C#. Понимание базовых принципов разработки, знание паттернов — как проектирования, так и интеграции — сформируют осознанный подход к созданию систем.
Сегодня наш гость — Савва Михалевский из Grabr:
К моменту окончания 9 класса школы я с трудом вычислял дискриминант. Сложные системы, квадратные уравнения, тригонометрия и тем более физика были для меня чужими, незнакомыми и страшными. В детстве я углубленно изучал иностранные языки. Все изменилось после 9 класса: на каникулах отец подарил мне «Delphi 5. Самоучитель программиста». Именно в этот момент «бомбануло», и я начал кодить со своим школьным другом. К моменту поступления в университет даже речи не было о какой-то гуманитарной специальности. Только физика и математика — только hardcore.
В 2008 году я окончил Санкт-Петербургский Политехнический Университет по специальности «Экспериментальная физика», сдал научную работу с непроизносимым названием темы, получил степень бакалавра и сделал первые выводы — физикой я точно не хотел заниматься.
Фундаментальная наука в России — это нафталиновые коридоры НИИ, растянутые свитера, протертые спортивные штаны и мизерные зарплаты ученых.
Еще с первого курса я работал тестировщиком и к моменту окончания бакалавриата неплохо знал SQL и Java. Перед поступлением в магистратуру я перешел на работу в небольшую телекоммуникационную компанию Astra Software. В 2010 году закончил магистратуру на факультете кибернетики и защитился по графовым моделям. Мою научную работу рекомендовали профессора из Академии наук для поступления в аспирантуру в Москве. После чего я еще 4 года занимался многомерными временными рядами с нечеткой логикой.
Все время в Москве я работал в банках: сначала в «Тройке диалог», потом в Сбербанке и уже после на Московской бирже. Там я создавал очень классный проект, построенный на больших данных. Был сам себе начальником и отвечал фактически за весь UI.
Болело только одно, и именно это отличает весь мой предыдущий опыт от работы в Grabr. В больших компаниях легко потеряться, слишком много людей, и ты находишься слишком далеко от клиента, не видишь результата и не понимаешь, как твой код меняет жизнь пользователей.
Чем занимаетесь в компании?
Grabr — это peer-to-peer платформа, где пользователи совершают покупки за рубежом и доставляют их с помощью путешественников. Сервис существует в форме онлайн площадки (grabr.io) и мобильного приложения для iOS. С одной стороны, наши пользователи имеют возможность покупать любые вещи за рубежом, с другой — зарабатывать в путешествии, доставляя покупки.
Моя миссия в этих процессах — создание и поддержание всего front-end. Сайт, приложение для iPhone и грядущий запуск версии на Android. Как раз сейчас мы готовим всю технологическую базу под это. Практически весь front-end Grabr построен на одном технологическом стеке. Что облегчает и поиск новых программистов в команду, и снижает количество ошибок. Здесь очень большой код-шеринг.
Одно слово, лучше всего описывающее, как вы работаете?
Одна фраза – «внимание к деталям». Именно на этом основан успех всей системы.
Сколько часов в сутки вы уделяете работе?
Работаю по 12-13 часов. Непосредственно в офисе я провожу от 9 до 11 часов, в зависимости от количества дел и моего желания все успевать.
Сколько часов вы спите?
Часов 7 по будням и около 10 по выходным.
Как вы завтракаете?
Овсянка с молоком. Уже очень много лет только так.
Что делаете по пути на/с работы?
На работу и обратно добираюсь на такси – это здорово экономит время, позволяя сосредоточиться и подготовиться к рабочему дню в относительной тишине. В дороге время от времени просматриваю Business Insider и технологические блоги на Medium. Но чаще всего я читаю сайты, которые предложил мне Google в ответ на какой-нибудь мой запрос – у меня в голове постоянно крутятся идеи, как имплементировать тот или иной функционал, и я ищу ответы на возникающие в ходе мысленного эксперимента вопросы.
Каким todo-менеджером пользуетесь лично вы?
Пользуюсь «тудушками» на iPhone. Мне очень нравится, как они синхронизируются с Mac. У меня есть пять категорий задач: домашние, рабочие, промежуточные и так далее. Все свои задачи я стараюсь загонять сразу же в этот todo-list.
Без каких приложений и сервисов не можете обойтись?
Не могу обойтись без Gmail и GitHub. В последнем вообще, кажется, собрана вся моя жизнь. Очень зависим от этого сервиса.
Каким таск-менеджером / issue-tracker’ом / репозиторием пользуетесь в компании?
Пользуемся тем же GitHub в качестве репозитория и там есть отличный issue-tracker. В команде также пробовали пользоваться Trello, но он оказался слишком рандомным для разработчиков.
Кто-то поспорит, но каждая команда выбирает инструмент под себя. Кому-то нравится JIRA, кому-то — Trello. Кажется, это Эйнштейн сказал: «Все должно быть просто, но не проще, чем нужно». Вот для меня GitHub — отражение именно этой истории.
Какие еще инструменты и ПО используете в работе?
Пользуюсь техникой Apple. Уже очень давно отказался от большого мощного компа на Windows в пользу компактного Mac.
В работе использую Terminal, Sublime, Sketch, IDE. Sketch открыл для себя только с приходом в Grabr. Наш дизайнер все рисует именно в этой программе. И сейчас, кажется, это самый удобный инструмент для верстки.
Вообще я сторонник платить за ПО. Мне кажется, когда платишь за софт, говоришь спасибо его разработчикам за потраченное время. Тот же Sublime ничего не стоит, только предлагает тебе внести любую сумму в поддержку проекта. И мне совсем не жалко тех же $30 за год использования крутого инструмента.
Если говорить про front-end в Grabr, то мы находимся тут на переднем технологическом краю — у нас React как renderer, Redux как модель, Flowtype для вывода типов. Дальше только Facebook, который все это создает. Мы пользуемся атомарной версткой и сумели создать собственное решение для этого. И сейчас это решение доступно в open source. Вы уже можете начать работать с ним.
Что вас раздражает больше всего, когда вы работаете?
Не люблю шум.
Какую профессиональную литературу вы бы могли порекомендовать?
Книга «JavaScript: The Good Parts» Дугласа Крокфорда. Очень маленькая книжка по основам языка JS, а больше знать не нужно.
Что предпочитаете: электронные читалки или бумажные книги?
В этом плане я ретроград – предпочитаю бумажный носитель.
Какую технику и почему вы предпочитаете на работе и дома?
Около 8 лет я проработал в крупном энтерпрайзе, а там балом правит Microsoft, поэтому волей-неволей приходилось ежедневно работать на Windows стеке. Последние лет 5 моим личным компьютером был Mac, и свои проекты я разрабатывал на нем. Когда я присоединился к Grabr, я полностью перешел на эту платформу, стал использовать Mac и для работы.
После покупки компьютера на Windows ты начинаешь с того, что переустанавливаешь систему, чтобы избавится от бесконечных антивирусов, оптимизаторов реестра и всей рекламной мишуры, которую туда напихали производители. Техника Apple, их софт и сервисы мне импонируют, потому что позволяют не думать о них – они просто работают «из коробки».
Мне нравится, как все синхронизировано через iCloud. Например, после покупки нового компьютера, достаточно залогиниться, чтобы вернуть все свои приложения и последние установки в них. Кроме того, все элементы экосистемы отлично подогнаны друг к другу и я не помню, когда последний раз был вынужден что-то настраивать.
Говорят, что под Mac нет полноценного софта для программистов – это не так. Существует множество средств разработки, от Sublime и Coda до таких комбайнов, как IntelliJ IDEA. И, что важно, они все очень красивые и ими приятно пользоваться.
Что вы слушаете, когда вы работаете?
Лучше всего я работаю в полной тишине. Но вообще люблю рок – Pink Floyd, Deep Purple и электронику, например Depeche Mode.
Какой лайфхак позволяет вам быть эффективнее?
Для меня написание кода – это творчество, создание чего-то осязаемого через упорядочивание символов на экране. Из этого отношения рождается перфекционизм, который, как известно, погубил много хороших проектов, вспомнить хотя бы Duke Nukem. Поэтому я вывел для себя понятие периода полураспада кода – это отрезок времени, за который мой код перестает мне нравиться. Если этот период слишком короток, то я явно не уделил коду достаточно внимания. Если период слишком длинный, то скорее всего, я неоправданно долго доводил код до совершенства и настал момент вспомнить принцип Парето. А вот поддержание средних значений, кажется мне наиболее эффективным.
Эффективность, в моем понимании, не измеряется строками кода в единицу времени или количеством выполненных задач за спринт, она определяется способностью накапливать опыт и извлекать уроки из своих ошибок.
Какой профессиональный совет на будущее вы можете себе дать?
Не становиться однобоким профессионалом. Многие революционные открытия и технологии создавались людьми, обладающими свежим взглядом, незамутненным традициями и догмами.
Что бы вы порекомендовали человеку, пытающемуся пройти тот же путь?
В последнее время появилось множество курсов, обещающих быстрый старт в изучении языков программирования, а быть программистом теперь модно. Но, как показывает практика, для того, чтобы стать хорошим программистом, необходимо значительно больше десятка занятий, а изучать надо не только и не столько языки, сколько логику и абстрактное мышление. Язык программирования – это лишь инструмент выражения мысли, стоит выбирать его под стать задаче. Не стоит настраивать рояль с помощью кувалды, а забивать сваю молоточком для настройки пианино.
Если говорить о технических аспектах, то мне импонирует более основательный, фундаментальный подход, поэтому я рекомендую начинать изучение программирования со строго типизированных императивных языков, таких как Java или C#. Понимание базовых принципов разработки, знание паттернов — как проектирования, так и интеграции — сформируют осознанный подход к созданию систем.
Поделиться с друзьями
Комментарии (7)
CyberKastaneda
25.05.2017 13:41+1>Книга JavaScript: The Good Parts Дугласа Крокфорда. Очень маленькая книжка по основам языка Java
Коммент про интеллектуальные способности тех, кто не отличает Java от JS
token
Вы уж меня извините заранее если я не прав, но честно говоря «Как вы завтракаете? Овсянка с молоком. Уже очень много лет только так.», это перебор
sefus
Почему?
token
Ах ну да, то что он кушает овсянку с молоком, отлично дает понять, то как он работает как IT-специалист, где можно почитать полную версию с невошедшими вопросами?
sefus
Понятно. Я уж было испугался, что с овсянкой что-то не так.
terrier
Интервьюер явно тренировался на маленьких детях. У них тоже все время спрашивают
«А как тебя зовуууут?»
«А сколько тебе гооооодиков?»
«А что ты сегодня кууууушал?»
token
Ага, какой стул у нас был сегодня? Мерзко.