Если устраиваешь Java-конференцию в Новосибирске, это не значит, что всех интересных спикеров надо откуда-то привозить: в городе есть свои заметные фигуры. Среди них — Олег olegchir Чирухин, чьи последние хабрапосты о Java набрали множество просмотров, и на предстоящем JBreak он выступит с докладом «DevOps: теперь Java не тормозит».
В преддверии JBreak мы расспросили Олега на разные темы: от «Сбербанк-Технологий», где он работает, до того, чем для программиста Новосибирск лучше Москвы, а Java лучше PHP.
— Чем именно вы занимаетесь в Сбертехе: в какой команде работаете, какова ваша роль в ней?
— Наша команда занимается разработкой движка для запуска бизнес-процессов из BPMN. Этот движок является частью технологического ядра нашей платформы. Я занимаюсь архитектурой, в том числе продумываю DevOps нашего проекта, иногда что-то более глобальное.
— Разработка банковской платформы — это всегда гигантская ответственность, а в случае со Сбербанком — ещё и гигантские масштабы. Вместе эти два фактора наверняка накладывают массу ограничений на то, как именно можно работать. Эти ограничения не мешают?
— Хорошие внешние ограничения — основа для творчества. Если творческому человеку совсем не задать никаких рамок, получится что-то аморфное и неинтересное. Художники творят в рамках своих изобразительных средств, мы творим в рамках условий, ТЗ, бюджета и т.п. Именно на стыке ограничения и возможности возникают чистые, красивые, мощные программные решения.
Да и вообще, ограничения берутся не с потолка, а создаются лучшими аналитиками, архитекторами, и так далее — физически приятно работать в команде с этими людьми и использовать их наработки.
Кроме того, в Сбертехе делаются очень большие и амбициозные проекты. Уже само их наличие подтверждает, что если какие-то бюрократические проблемы и имеются, то они успешно решаются.
— У вас до Сбертеха удивительно разнообразный послужной список: от сисадмина через геймдев и работу над IDE к «Госуслугам». Такая карьера выглядит зигзагом, где на каждом этапе необходимо учиться всему заново — а на практике насколько оказывается полезным опыт, полученный в других сферах?
— Это только кажется, что карьера идёт зигзагом. Я ведь не директор по маркетингу, а программист. А с точки зрения программиста мы везде используем примерно одни и те же технологии. Это вначале может показаться скучно, но на деле вместо изучения миллионов проходных фреймворков ты можешь сконцентрироваться и потратить время на что-то действительно новое и интересное.
Можно провести параллель с хорошими компьютерными и настольными играми: малый набор правил создает большое количество уникальных игровых ситуаций и подходит для решения самых разнообразных проблем. Это легко сделать в играх, но нелегко в реальном мире.
Java как раз является той редкой экосистемой, где всё продумано до таких мелочей. Однажды изучив что-то типа паттернов проектирования или фреймворка Spring, мы можем использовать их хоть в играх, хоть в информационных системах. Придя на новую работу, обычно видишь всё знакомое.
В этом плане в Сбертехе было сложнее: большая часть платформы написана самостоятельно силами Сбертеха. С другой стороны, платформа основана на знакомых идеях, и очень хорошо их реализует, так что всё равно быстро входишь в курс дела.
В целом, совершенно весь предыдущий опыт и текущие знания тут пригодились.
— В предыдущем опыте, помимо «Госуслуг», была ещё и работа над «Интегрированной электронной медицинской картой», и вам в целом интересен сегмент e-government — а многие разработчики, даже не сталкивавшись с этим сегментом лично, заведомо считают связанную с государством работу рутинной и бюрократической. Ваш опыт работы над этими проектами расходится с их ощущениями?
— Для меня тогда всё было как раз наоборот. У государственной организации совсем немного денег, зачастую необходимо планировать бюджет (и план проекта) на год вперед, соблюдать безумно жёсткие дедлайны, и тому подобное. Получается такое экстремальное-экстремальное программирование, стартап на стероидах. Бюрократия там тоже есть, но к программистам она обычно не относится. Бюрократией занимаются управленцы… ну, они сами выбрали свой кусок ада. Просто пиши код, делай крутые новые продукты, и всё будет хорошо.
E-government привлекает меня тем, что это очень сильный рычаг улучшения повседневной жизни. Раньше люди стояли в очередях в больницу часами, сейчас то же самое можно сделать на сайте в два щелчка мышкой. Чтобы сотворить это благо, не пришлось заниматься rocket science, а понадобилось просто написать кусок банального кода, немногим более сложного, чем в типовом электронном магазине. Только электронный магазин оказывает влияние на что-то мелкое, типа дохода хозяев этого магазина, а очередь в больницу — это уже масштабы всей страны. Возможно, я извращенец или что-то такое, но мне приятно видеть результаты работы, а не писать в стол.
— Зачастую считается, что российским программистам надо жить в Москве или Петербурге: мол, там и интересные задачи, и большие деньги, и вообще жизнь. А вы совершенно не стремитесь покинуть Новосибирск — вам лично там ничем не хуже, чем было бы в Москве?
— На дворе XXI век, транснациональные корпорации, скайп в каждой микроволновке, в один клик мышкой можно связаться с человеком с другого конца мира, а люди всё ещё верят в распространение жизни по географическому принципу :)
Короткий ответ звучит так: чтобы насладиться красотами Москвы и Питера, я просто могу сесть на самолёт и долететь туда на выходных. На буднях наслаждаться красотами времени всё равно нет — у меня день состоит из работы (8 часов), общения с друзьями (ещё пара часов), и небольших хобби типа киберспортивных шутеров. А в рабочих вопросах география меня пока никак не ограничивает.
Сомневаюсь, что часы стояния в московских пробках можно записать в самые приятные моменты в жизни. Есть друг, которого настолько выбесило стоять в них, что он переселился из центральной Москвы в Зеленоград. Но если ехать в Зеленоград, то в чём вообще смысл?
У нас есть свой Академгородок — чудесное место с развитой инфраструктурой и чистым воздухом. Офис или учёба — в двадцатиминутной доступности пешком. Кроме того, рядом с Новосибирском есть горнолыжный курорт Шерегеш, можно на выходные ездить туда кататься на борде. У меня рядом с домом экстремальный велопарк. Если рассматривать город как площадку для работы и общения с друзьями, меня здесь всё более чем устраивает. Для всего остального есть самолёт.
— А если вести речь не лично о вас, а об абстрактном разработчике, вы ему могли бы рекомендовать Новосибирск как место для жительства?
— В Новосибирске, особенно Академгородке, можно жить, если подходит небольшой уютный город со сплочённым комьюнити, где все всех знают. Если хочется миллионных толп народа на улице и активной ночной жизни — с этим проблема.
Аренда квартир стоит разумных денег. Очень быстро добираться от работы до дома (проехать вообще весь город по диагонали на автобусе занимает два часа).
С работой у нас всё в порядке: можно зайти на любой сайт с вакансиями, и отфильтровать по слову Java — их там будут десятки. Поменьше, чем в Кремниевой Долине, но тоже сойдёт.
У нас регулярно проводится несколько глобальных конференций, в частности, JBreak и CodeFest. Есть несколько более локальных митапов — например, то, что делает компания Axmor. На прошлый JBreak пришло так много людей, что мы еле поместились в предоставленные объёмы Технопарка и заняли все доступные стулья. Похоже, джависты — как газ, заполняют весь предоставленный объем. Хорошо не только то, что комьюнити здесь есть, а что оно живо, активно, и активно растёт.
— Вы активны в Java-сообществе: и посты на Хабре, и дискуссии в соцсетях, и доклады на конференциях. Какую отдачу вам это даёт — просто интересно, или как-либо помогает в работе?
— Это помогает в самом прямом смысле. Например, в соцсетях доступны создатели всех тех технологий, на которых мы пишем софт, и зачастую охотно отвечают на вопросы. Если задать вопрос в фейсбуке, на него откликнется не кто-нибудь, а лучшие специалисты. В соцсетях можно искать людей себе в команду. В конце концов, если тебе просто нравится чем-то делиться, то на том же Хабре тебя за пару дней могут прочитать несколько десятков тысяч человек.
— К вопросу о «дискуссиях в соцсетях»: недавно у вас в фейсбуке развернулся спор о Java и PHP, где вы заявляли, что PHP подходит для простых CRUD-проектов, но не чего-либо сложного — можете развернуть мысль?
— Фейсбук для меня — это не платформа для аналитики, а скорее для живых разговоров. Я люблю холивары. Что может быть лучше, чем холивар PHP vs Java? :)
Если говорить серьёзно, у PHP, безусловно, есть свои сильные стороны — например, горячая замена кода и развёртывание. Никакой HotSwapAgent не сравнится с возможностью просто обновить файлик с кодом. Что, в свою очередь, очень ускоряет процесс кодирования.
С другой стороны, в PHP всё традиционно плохо с рефакторингами, стандартами кодирования, стабильностью базовых фреймворков, и т.п. Даже с фичами языка не всё хорошо — например, забейте в гугл фразу «php annotation performance», и увидите, что в первой же строчке сайт Symfony 2 говорит: «Yes, we're using annotations in a high-performance application. Does that sound weird? Maybe, but we love this mechanism!» Да, у ребят явно проблемы, если им приходится оправдываться на официальном сайте.
По совокупности разных характеристик, в контексте создания веб-приложения типа «электронный магазин» я делал бы прототип на PHP, но реальную продакшен-версию — на Java. Но этот вывод очень личный, для кого-то другого сработает что-то другое.
— Вы скоро выступите на JBreak (а также JPoint) — сообщите вкратце читателям, о чём будете рассказывать?
— Кто о чём, а я как всегда — об удобстве пользования Java-платформой. Часто Java обвиняют в неудобстве, но при этом просто боятся посмотреть в глаза своей настоящей проблеме: отношению к написанию кода, к людям, к процессам. Перед докладом можно подумать над вопросами типа «какие проблемы больше всего бесят тебя как разработчика при использовании, например, Jenkins, и как бы ты решил их в идеальном мире».
— Поскольку в заголовок доклада вынесено понятие DevOps, и в целом у вас большой интерес к этой теме, хочется узнать: а этот интерес в основном ваш личный, или Сбертех сейчас в целом «девопсный»?
— Не могу говорить за всю компанию — только о том, что вижу. А вижу неуклонное повышение качества девопса и стремление к нему. Нашей команде, как очень завязанному на инфраструктуру проекту, это особенно важно. Возможно, не всё всегда гладко, но перспективы — огромные.
Комментарии (0)