Диалоги с Рунетом на 5 шотов

Евгений Степанищев aka Bolk

Руководитель службы разработчиков внутренних сервисов

16 марта 2011

#1Пару слов о себе

Родился в Лениногорске — это небольшой город на юго-востоке Татарстана, всего 65 тысяч человек. Пятнадцать лет назад поступил учиться в Казанский Государственный Университет, тогда он ещё так назывался. Так как поступал на очное, пришлось переехать в Казань, начать самостоятельную жизнь.

В Казани же впервые получилось выйти в Интернет, сначала через почтовый ящик (были такие сервисы, не знаю, существуют ли сейчас — можно было написать на специальный ящик нужный адрес, обратно присылалась страница, которая находится по этому адресу), потом — через текстовый браузер Lynx, запущенный на какой-то машине под Linux, куда я ходил телнетом из-под DOS, с машины с процессором 80286. Звучит смешно, да?

На втором курсе один из преподавателей дал мне курсовой проект — сделать страницу ВМК, факультета, где я учился, для сайта нашего ВУЗа. Поскольку мне нужно было на что-то равняться, я получил доступ в интернет и увидел ещё зарождающийся мир через настоящий графический браузер — Netscape Navigator. Первую страницу я попытался сделать в Netscape Composer, он шёл в комплекте с упомянутым браузером, но достаточно быстро мне стало тесно, и я решил изучать HTML и JavaScript, чтобы верстать руками.

Так что в интернете я начинал верстальщиком. Дальше — работа в одной из лучших IT-компаний Казани, куда я пошёл работать стажёром, а закончил совладельцем, потом попытка создать что-то совсем своё...

Так получилось, что мне нужно было нечто очень болезненное и личное оставить в прошлом и я решил переехать в любой другой город. На тот момент меня приглашали в одну из московских студий, в Москве у меня были друзья.

Съездил на разведку, через две недели собрал вещи и уехал навсегда. Через какое-то время мне показалось, что я занимаюсь чем-то не тем. Как раз тогда мне предложили перейти в «Яндекс», где я теперь и работаю, занимаю должность руководителя службы разработчиков внутренних сервисов.

Хакерское прошлое заставляет уделять повышенное внимание безопасности, а любовь к экспериментам помогает с лёгкостью «впрягать в одну телегу коня и трепетную лань», всё-таки используем мы достаточно разнообразные продукты.

Основной трибуной, сетевым дневником, записной книжкой, средством общения, базой накопления знания для меня является мой блог:

Технический он только отчасти, пишу обо всём, что меня интересует: занимаюсь спортом, люблю науку, много читаю, мне интересна жизнь вообще. Иногда меня можно встретить в социальных сетях:

#2Ваш инструментарий

Очень долгое время не признавал ноутбуки, работал только на десктопе с двумя мониторами (начиная со времён видеокарты Matrox Millenium G200 Dual Head, кто-то помнит такую?), относительно недавно решил узнать, что же я теряю. Отцепил ноутбук от док-станции и на полгода запретил себе пользоваться чем-либо, кроме ноутбука.

Теперь моё рабочее место там, где я сижу с ноутбуком. В качестве полезных рабочих приёмов хочу отметить всё, что помогает мне снизить количество шума (во всех смыслах): чтение RSS, вместо посещения сайтов, inbox zero, отключение всех всплывающих окон системы, звука и вибрации на сотовом телефоне, наушники с активным шумоподавлением.

Только когда у меня на это есть время, просматриваю SMS, почту, джаббер.

Из «железок» — ничего с буквой «i»: ноутбук Dell E4200 с Windows 7 и телефон Nexus One с «Андроидом». Использую на работе и дома только купленный или бесплатный софт.

#3Проект, которым вы гордитесь

Своими собственными проектами я почему-то давно не занимался, а на этот год запланированы минимум два совместных, над которыми со мной работают ещё несколько ребят.

Но мне, конечно же, есть что вспомнить. Всё перечислить, конечно, не получится, что первое приходит в голову.

Как не странно, до сих пор горжусь системой JUnix (к сожалению, сайт недавно закрылся, нужно будет восстановить) — это эмулятор командной строки Linux, написанный много лет назад на JavaScript. Там есть собственный шелл, утилиты командной строки (включая sed, grep) и файловая система.

TimeLabs CMS — не знаю, существовало ли тогда уже что-то подобное, но я до идеи дошёл сам, эта CMS внутри имела полностью объектную структуру, где, к примеру, пользователь Вася был экземпляром класса «пользователи».

Lixil CMS — там работала самая лучшая система кеширования, которую я когда-либо создавал, основанная на каскадном принципе. Некешируемый объект мог содержать кешируемые куски, в которые могли быть включены другие некешируемые объекты и так далее. И этим было довольно просто пользоваться.

Register — популярнейший движок блогов в свои годы. Наша совместная разработка с Димой Смирновым и Романом Ивановым. Хотя качеством кода там вряд ли можно гордиться, но там был применён ряд интересных идей. Например, я тогда придумал сделать инсталлятор. До этого я нигде их не видел у веб-приложений.

Давайте вернёмся в наше время, а то я так никогда не закончу.

Python MAPI — библиотека для работы с протоколом MAPI из Python, сделана на основе ctypes, исследований, озарений и долгой работы. Использовалась в  «Яндексе», пока в Exchange не появился SOAP.

Перевод Вики на UTF-8 — последний долгий проект, который я выполнил почти в одиночку. Производился перевод внутренней Вики «Яндекса» на кодировку UTF-8, эта небезынтересная для программистов на PHP эпопея описана в моём блоге.

#4Книга, которую должен прочесть каждый специалист вашей области

Я не могу тут ничего посоветовать, поскольку я в своей жизни прочёл очень мало книг по специальности, но зато тысячи статей. Совет один: читайте больше. Если увидели статью о предмете, который вам незнаком (будь то статья об аспектно-ориентированном программировании или интервальных деревьях), прочитайте обязательно. Даже если мало что поймёте и запомните, зато при случае вспомните и сможете найти.

#5Профессиональный совет колегам

Мне хотелось бы раскрыть свой опыт на примере нескольких пословиц, как современных, так и придуманных задолго до появления интернета.

  1. «Преждевременная оптимизация — зло». Полностью согласен. Не забудьте только убедиться, что у вас будет время на оптимизацию, когда её всё-таки понадобится сделать.
  2. «Есть два типа людей: те, кто делают бакапы и те, кто их ещё не делает». Позволяет ли ваша система бакапов восстановить проект после любого сбоя за приемлемое время? Работает ли ваша система бакапов или уже месяц как сломалась, но никто это не проверял?
  3. «Работает — не трогай». Всё ли вы делаете, чтобы и завтра работало? На диске кончается место, в OpenSSH нашли очередную дырку. Помните, что «гром не грянет, мужик не перекрестится» — это плохая модель поведения.
  4. «Если ничего не помогает, прочтите наконец инструкцию». Внимательно прочтите руководство по языку, на котором программируете, просмотрите модули, которые распространяются с вашим языком. Возможно некоторые проблемы не понадобится решать.
  5. «Работа не волк, в лес не убежит». К несчастью, да. Её придётся сделать. Я выделяю ровно полчаса или час в день на работу, которую делать категорически не хочется, это время занимаюсь только ей. Скорее закончу, остальные 23,5 часа я могу заниматься чем-то другим.


Расскажи друзьям

 

Комментарии