Сколько часов в день может работать программист? Версии ответа из Яндекса
На этот раз спросили разработчиков Яндекса о том, о чём не так часто спорят, но о чём задумывается каждый в какой-то момент своей жизни. Сколько часов в день могут работать программисты? К кому они ближе — к художникам или к рабочим на заводе? Применим ли к ним восьмичасовой рабочий день? Работает ли разработчик, когда пьёт кофе или спит?[embedded content]
В этот раз на наши вопросы ответили не только те, кто работает в офисе Яндекса в Москве, — доехали мы и до наших коллег в Нижнем Новгороде, чтобы получить чуть большее разнообразных мнений.Антон pg83 СамохваловМосква. В Яндексе — 9 лет.
Пришёл в Маркет программистом на C++. Работал над самыми разными задачами сервиса. Через несколько лет перешёл в поиск, где занялся надежностью и производительностью runtime поиска. Сейчас занимается системой сборки, которая позволит собирать всю нашу кодовую базу за несколько минут на большом распределенном кластере.
Да сколько хочет, столько и может работать. У меня бывали времена, когда я и по 15 часов в день мог писать код, а бывало и так, что ни одной строчки в день не напишешь. Это зависит от того, что ты делаешь и как. Иногда напишешь пять строчек, но они очень сложные, и ты действительно их вымучил, а бывает, напишешь тысячу, но они ни о чем. Просто сидишь и пишешь их. Если говорить обо мне и моём рабочем дне, то он у меня совершенно не нормированный. Я могу работать дома, могу работать в офисе. Просыпаюсь, читаю несколько часов почту, отвечаю на письма, читаю ревью. На самом деле, чтение ревью, оценка чужого кода — это тоже большая часть работы. Потом могу немножко попрограммировать, пообщаться с людьми. Я могу провести на работе 10 часов, могу — один час, а всё остальное время работать из дома. В общем, у всех по-разному. Кто-то может работать 8 часов, а кто-то — 20.
Степан КольцовМосква. В Яндексе — 7 лет.Старший разработчик в службе разработки систем хранения и обработки данных. Стёпа из тех сотрудников Яндекса, которые уходили, но потом возвращались. Сейчас работает над системами мониторинга в поиске.
Во-первых, это очень сильно зависит от рабочей обстановки, того, где человек работает, не мешают ли ему. Если в помещении шумно, то работать больше трех часов очень тяжело. Во-вторых, от того, чем в данный момент программист занимается. Рутинными задачами можно заниматься непрерывно — спокойно включил себе музыку и делаешь. Бывает такое, что нужно сесть и о чём-то напряженно подумать. В таких случаях чисто программирование может занимать не очень много времени, но во все остальное время, когда человек сидит, думает, тупит, в фейсбук смотрит, он, на самом деле, тоже работает, потому что иногда, чтобы написать код, надо подумать, как его написать. И у меня есть такая убежденность, что обдумывание идет не только когда ты об этом непосредственно думаешь, но и тогда, когда думаешь о чем-то своем: идешь по улице, смотришь на деревья. В голове идет какой-то фоновый процесс, который даёт тебе понять, что надо сделать. Иногда, когда человек приходит на работу и тупит, на самом деле, он тоже в каком-то смысле работает.
Александр sadovsky СадовскийМосква. В Яндексе — 10 лет.
Пришёл в Яндекс работать над проектами, связанными с поиском. Под его руководством были созданы поиск по блогам, Яндекс.XML, запущены новый алгоритм ранжирования и робот для оперативного индексирования свежей информации, создана служба асессоров и начато измерение качества поиска. Саша — автор множества публикаций в научных и популярных СМИ об алгоритмах поисковых систем и продвижении сайтов в интернете.
Сферический программист в вакууме может работать, пока не заснет. Я до сих пор помню, как у меня друг перед защитой диплома пришел с отпечатками клавиатуры на лице, потому что ночью делал диплом, уснул, и ничто не могло его разбудить. Если говорить о производительном труде, то я считаю, что здесь каждый должен поймать свой ритм. Найти своё сочетание отдыха и общения, которое очень важно, потому что во время него приходят новые идеи, рождаются какие-то новые концепции, ты понимаешь что-то, что в твоем коде неправильно.
Сидеть беспрерывно за компьютером отлаживать программу или писать код редко у кого получается продуктивно больше, чем несколько часов подряд. И программировать четыре часа подряд эффективно, на мой взгляд, это супер результат. После них требуются перерывы, какое-то новое вдохновение, и, на мой взгляд, говорить о каком-то формальном рабочем дне сложно. Скорее здесь стоит сказать о правильном чередовании разных периодов: состояния потока с состоянием, в котором занимаешься более рутинными задачами, отладкой, когда клянешь все на свете и ищешь эту ошибку и пытаешься понять, почему всё падает, что это такое.
Артём breqwas КуликовМосква. В Яндексе — 8 лет.
В Яндекс позвали за то, что парсил данные из Поиска по блогам с помощью Перла. Позвали не только поругать, но и на работу. Много лет делал Поиск по блогам, в частности был основным разработчиком подсервиса Яндекс.Пульс. Сейчас разрабатывает Рекламную сеть, один из самых критичных в смысле отказоустойчивости сервисов.
Применим ли восьмичасовой рабочий день? Вопрос в том, каждый день работать по восемь часов или не каждый. Иногда бывает, что утонул и всё — сидишь долго, а потом очнулся, а уже середина субботы. Среднего времени, которое программист может проработать, я не знаю, а минимальное — ноль. Можно вообще не работать, если не сразу заметят, что ты ничего не делаешь, а можно — пока не свалишься. На практике помимо работы стучать по клавиатуре есть еще работа подумать, есть еще работа поговорить, кого-нибудь потыкать и спросить: «А почему до сих пор вы ничего не сделали?» Или потыкать и спросить, что это вы сделали и почему оно такое. Все вместе это в восьмичасовой рабочий день укладывается. Можно проводить на работе восемь часов и все время делать что-то полезное. Но не все это время будет занято работой с кодом.
Алексей kappa КапрановМосква. В Яндексе — 3 года.
Когда-то был руководителем Рамблер-Почты. Сейчас руководит группой инфраструктуры персональных сервисов в Яндексе. Лёша рассказывал на Хабре, как мы научили Почту обмениваться письмами по IPv6 и поддерживать SSL-шифрование.
Есть такая достаточно известная, правда немного спорная китайская цитата: «Человек, который нашел любимую работу, не работает ни одного часа в своей жизни». Увлеченный программист без ущерба для здоровья может работать 10–15 часов в сутки совершенно точно.
Алексей ЗахаровМосква. В Яндексе — 6 летРуководитель Java-разработки в отделе разработки облачных сервисов.
Программист — тоже человек. Он не только программирует, но и думает над тем, что он должен запрограммировать, участвует в каких-то встречах, чтобы узнать, что его коллеги хотят, чтобы он запрограммировал, чтобы поделиться какими-то идеями. Всё зависит, конечно, от человека, его возраста, ритма, того, насколько он здоровый образ жизни ведет. Мне кажется, что 8 часов линейного программирования в день — это тяжело. Я хоть сейчас наполовину начальник, а наполовину — программист, все, что касается сложной программистской работы, стараюсь делать в первой половине дня, когда голова свежая. И хорошо бы то, что я собираюсь утром делать задумать с вечера. Когда я учился в вузе, мне казалось, что программирование — это очень легко, потому что это было приятно и интересно. С течением времени я понимаю, что это сложно.
Андрей МищенкоМосква. В Яндексе — 9 лет.
Пришёл в Яндекс разработчиком на C++, долго был руководителем разработки Поиска по блогам и писал на Perl. Андрей — кандидат физико-математических наук. Сейчас работает с Андреем Гулиным над улучшением алгоритмов машинного обучения в поиске.
Когда мы участвуем в ICFP, нам даётся три дня, за которые ты должен написать самую лучшую программу. На сон себе какое-то время выделяешь, конечно, но поучается несколько часов в день, а так программируешь все три дня, насколько работоспособности хватает.Потом, правда, нужно неделю отходить, но в случае аврала это нормально. Можно и по четыре часа работать, и по 10. Это же не траншеи копать — голова другими механизмами устает.
Сергей svv ВавиновМосква. В Яндексе — 6 лет
Пришёл в Яндекс разработчиком в Яндекс.Видео. Был главным в разработке Музыки, потом — в службе медиасервисов. Сделал несколько проектов для Яндекс.Диска. Сейчас — руководитель группы технологий работы с большими данными. Одна из задач, над которой работает Сергей, — проекты Яндекса для ЦЕРНа.
Программист может работать и по восемь часов в день, и больше. Это зависит от проекта и того, насколько человек увлечен, насколько вошёл в поток. Я для себя стараюсь это дело в каком-то смысле ограничивать. Бывают такие периоды, когда я сижу и по 12 часов подряд программирую. Вот после этого мне становится как-то совсем грустно: и на улицу не хочется выходить, и настроение портится. Но если ограничивать и нарезать какими-то кусками, по четыре часа работать, то будет идеально. Чтобы решить какую-то задачу, написать сожержательный код, нужно погрузиться в такое специальное состояние на несколько часов — как раз часа на четыре. Поэтому восьмичасовой рабочий день — это как считать. Если два раза по четыре часа, можно решить две такие задачи. Подряд восемь часов работать, может быть, и не стоит.
Григорий bobuk БакуновМосква. В Яндексе — 10 лет
Когда-то пришёл работать системным администратором, а сейчас — директор по распространению технологий.
Это зависит, конечно, от программиста. Он может работать и 24 часа в сутки, но если говорить об эффективной работе, непосредственно занятии программированием, то есть очень простая норма. Я говорю, что все работники креативной специальности: маркетологи, художники, музыканты, программисты — никогда не могут работать больше, чем четыре часа в день. Что-то в мозгу им не дает заниматься творческой работой больше этого времени. Даже если сейчас говорить с программистами, которые 20 часов подряд программировали, окажется, что примерно 3–4 часа они занимались творческой деятельностью, остальное ушло на фиксинг багов, придумывание того, как правильно реализовать свою идею, и тд. Творческая деятельность занимает 4 часа. Все остальное время ты можешь заниматься чем захочешь. Я знаю программиста, который свою дневную норму вырабатывает за 2 часа, но он очень быстро пишет.
Роман КашицынНижний Новгород. В Яндексе — 1 год
Разработчик в группе разработки систем хранения геоданных.
Сложно сказать, потому что я не могу работать в жестких рамках. Я могу работать, например, четыре часа в день и просто устать, либо могу 12 часов без перерыва сидеть — все зависит от вдохновения или потока. Если входишь в поток и чувствуешь, что вот сейчас у меня все получится, вот сейчас я смогу все сделать, тогда можно работать очень долго. Но два дня подряд так работать не получается. В любом случае, если вдохновения нет, надо пытаться что-то делать, чтобы его получить.
Павел cadovvl СуховНижний Новгород. В Яндексе — три месяца
Преподает в нижегородском филиале Высшей школы экономики на факультете бизнес-информатики и прикладной математики. В Яндексе — стажер в группе разработки хранения геоданных.
Надо работать, пока работается, пока от этого прет. Можно работать 18 часов подряд, а можно поработать час и понять, что сегодня ничего не сможешь больше сделать. Работа программиста — очень творческая, ею нельзя заниматься через силу, нельзя заниматься вот этот восьмичасовой рабочий день. Но есть и опасная сторона этого дела — если разрешить программисту работать, когда он хочет, то он, может быть, будет хотеть делать это три часа в неделю. Но с другой стороны, если программист не хочет программировать, то это однозначно плохой программист.
Андрей styskin СтыскинМосква. В Яндексе — 9 лет.
Пришёл в Яндекс разработчиком на Java в группу поиска Маркета. Занимался классификацией товарных текстов и извлечением фактов из товарных описаний. Так началось его увлечение поиском и машинным обучением. Вне работы Андрей делал различные IR-игрушки: генератор стихов на языковых моделях, робота для прокачки социальных сетей. Сейчас Андрей руководит отделом ранжирования, в котором работает команда почти из 200 человек.
Если считать работой только написание кода, то я сомневаюсь, что это больше двух часов в день. А если считать работой то время, когда ты думаешь об архитектуре, проходишь код-ревью и держишь при этом в голове, что тем, что ты делаешь тоже будет кто-то пользоваться, то это как раз начинает тянуть на восемь, десять, двенадцать часов. И потом на позднее засиживание в офисе, которым страдают все наши разработчики.