Как работают ИТ-специалисты. Андрей Янковский, JS-тимлид CSSSR
Мы продолжаем расспрашивать специалистов о режиме труда и отдыха, профессиональных привычках, об инструментарии, который они используют, и многом другом.
Будет интересно выяснить, что их объединяет, в чем они противоречат другу другу. Возможно, их ответы помогут выявить какие-то общие закономерности, полезные советы, которые помогут многим из нас.
Сегодня наш гость — Андрей Янковский из CSSSR. Среди наших собеседников он выделяется тем, что работает не так много, как большинство, хотя занимает серьезную должность. О том, как Андрей объясняет сей феномен, читайте под катом.
Чем занимаетесь в компании?
Я один из старших JavaScript-разработчиков и тимлид рабочей группы «Восток» в CSSSR. Моя команда из 5 человек занимается проектами для крупного онлайн-сервиса в сфере недвижимости. Лично я занимаюсь написанием кода, код-ревью, развитием инфраструктуры для разработки и планированием задач.
Одно слово, лучше всего описывающее как вы работаете:
«Команда».
Больше всего в работе я ценю команду, максимальное внимание уделяю её развитию, слежу за настроением ребят и стараюсь помогать им с их инициативами. Любые промахи ребят я расцениваю как свои собственные.
Сколько часов в сутки вы уделяете работе?
Обычно я продуктивно работаю 6 часов в день, но нахожусь на связи и мониторю ситуацию около 12 (с 11:00 до 23:00). Последние пару недель приходится работать активно около 8-9 часов, помогая на другом проекте.
Сколько часов вы спите?
Я сплю часов 7, но режим не соблюдаю. Точно знаю, что работаю гораздо продуктивнее, если просыпаюсь рано. К сожалению, не хватает дисциплины закрепить такой режим.
Как вы завтракаете?
Как получится. Если получилось перехватить бутерброд или банан, считаю завтрак успешным.
Что делаете по пути на/с работы?
Мы работаем удалённо, поэтому, чтобы начать рабочий день, мне достаточно просто открыть ноутбук, который всегда под рукой.
Каким todo-менеджером пользуетесь лично вы?
На Маке есть самые примитивные стикеры, которые можно клеить на рабочий стол. Я пользуюсь только ими: на них написано, сколько денег я вчера потратил, какие у меня задачи на сегодня, кому надо позвонить. Всё — там. Со стороны кажется, что это хаос, но я могу там найти всё мгновенно.
Каким таск-менеджером / issue-tracker’ом / репозиторием пользуетесь в компании?
У нас они отличаются по проектам, но в основном это Jira и Trello. Репозиторий — git в различных вариациях: BitBucket, Gitlab, Github.
Из всего обилия инструментов мне больше всего нравится Trello. Jira — большая, сложная и медленная. В ней даже задачу создать очень долго и муторно. Redmine — то же самое, только ещё хуже. Этот интерфейс из 90-х — просто ужас. Там, где у клиента используется Redmine, мы перестроили процессы: берём задачу у заказчика, ставим ей статус «в работе». Переносим её в Trello, двигаем между столбцами и уже в конце передаём её заказчику. После этого в Redmine меняем статус на «сделано».
Какое еще рабочее окружение (инструменты и ПО) используете в работе?
У меня Macbook Pro 2016 Retina, Jetbrains WebStorm, Chrome и Slack.
Есть ли в компании внутренние проекты?
У нас несколько внутренних проектов. Два из них существуют для автоматизации процессов внутри компании, а ещё два готовятся к свободному плаванию в качестве обособленных стартапов. Но я участвую в них редко.
Что вас раздражает больше всего когда вы работаете?
Когда мою работу и старания не уважают. Большое количество созвонов очень сильно изматывает. Не люблю заполнять документы и трекать рабочее время в клиентском tempo.
Какую профессиональную литературу вы бы могли порекомендовать?
Года четыре назад я очень увлекался книгами по программированию, но сейчас считаю, что есть куча более быстрых и удобных способов получить знания. Если всё-таки говорить про книги, которые я бы посоветовал прочесть, то это:
- «Компиляторы: принципы, технологии и инструменты» Альфреда Ахо, Рави Сети и Джеффри Д. Ульмана (более известная как «Книга Дракона»);
- «Искусство программирования» Дональда Кнута.
Это не must read’s, но они позволяют реально прокачаться. После их прочтения, или хотя бы знакомства с ними, начинаешь понимать, как все на самом деле работает.
Есть книги по отдельным технологиям, по тому же JavaScript, но они вообще не нужны. Обычно это написанная своими словами стандартная документация языка. Особенно «грешат» такими книжками многостраничники издательства O’Reilly. В начале своей карьеры программисты сталкиваются с этими книгами, но второй раз их не читают.
Отдельно я бы выделил «кислотные» книжки. Например, landoflisp.com.
Именно эта посвящена Lisp — редкому языку программирования, придуманному ещё в 60-е годы. Это функциональный язык, и его изучение дает понимание принципиально других подходов к решению задач. Такие книги просто интересно читать, и по ним сразу видно, что писал их человек, а не робот.
Что предпочитаете: электронные читалки или бумажные книги?
Я не могу читать электронные читалки — быстро устаю и теряю фокус. Поэтому предпочитаю по старинке читать только книги, напечатанные на бумаге.
Какую технику и почему вы предпочитаете на работе и дома?
Мне не принципиально, на чем работать: всю жизнь сидел на Windows и радовался. Потом перешел на Mac, и тоже рад. В этом смысле мне все равно. А вот смартфоны люблю на Windows Phone, потому что они разноцветные. У меня зелёный, кстати.
Что вы слушаете, когда вы работаете?
Я полагаюсь на «рекомендованные аудио» «ВКонтакте». Собственный плейлист у меня — солянка из всего подряд. Люблю медленную электронику и техно на старых синтезаторах.
Какой лайфхак позволяет вам быть эффективнее?
Вставать раньше! Но не всегда получается им воспользоваться. Я пробовал пожить пару недель у друзей, которые завели собаку. Её надо выгуливать каждое утро, и отлынивать не получится. Это хороший способ подтянуть режим дня, может быть скоро заведу свою.
Без каких приложений и сервисов не можете обойтись?
Я всегда открываю кучу вкладок в браузере и не могу их просто так взять и закрыть (вдруг что-то важное среди них есть). Поэтому умные люди создали плагин для браузера Session Buddy, который позволяет сохранить вкладки и окна. Все они сохраняются и к ним можно вернуться (ко всей сотне открытых вкладок). С возвратами у меня не очень, но зато я уверен, что ничего не потеряю.
Ещё из сервисов мне нравятся Reddit и «ВКонтакте». На смартфоне я использую карты, стандартные заметки и Uber. Короче, ничего интересного.
Какой профессиональный совет из прошлого вы бы могли дать самому себе?
Я потерял время, когда пытался разобраться в программировании, не понимая базовых отличий, например, между вебом и десктопом. Из-за этого, когда появилась задача сделать небольшую десктопную утилиту для форматирования файлов, я сделал её на Ruby. Под Windows. Не знаю, как Ruby работает сейчас на Windows, но 5 лет назад это был кошмар. Также, GUI был написан с помощью очень странной библиотеки, где все элементы можно было позиционировать только в Ruby-коде. В итоге написал я что-то ужасное, просто не зная, что можно делать по-другому.
Я считаю, что новичку очень важно перед началом обучения получить краткий экскурс о том, что вообще происходит в мире программирования и как что работает. Рассказать, например, в чём разница между Java и JavaScript.
Что бы вы порекомендовали человеку, пытающемуся пройти тот же путь?
Как уже сказал, я бы посоветовал такому человеку получить на старте экскурс в разные языки программирования и подходы, чтобы не наступать на мои грабли.
Автор: