На Инфостарте публикуются работы Никиты Зайцева (a.k.a WildHare), под общим заглавием «Не спеша, эффективно и правильно – путь разработки». Никита известен как эксперт с большим опытом работы с высоконагруженными системами 1С класса «сверхтяжелая», как экс-архитектор и экс-ведущий разработчик облачной технологии 1сFresh, а также по своей прошлой публичной деятельности в рамках неформального сообщества разработчиков 1С. За плечами Никиты почти двадцать три года инженерной практики на масштабных проектах.
В небольшом интервью он рассказал нам об истории своего труда, опыте работы с платформой и взаимоотношениях с фирмой «1С».
Давай поговорим о твоем возвращении в сообщество Инфостарта. Расскажи нам о себе, какова твоя роль в мире 1С, с чего ты начал?
Об этом можно книжку написать небольшую, но я постараюсь вкратце. Товарищи старой школы меня все прекрасно знают. Особенно те, кто занимался серьезными проектами и задачами на платформе 1С в конце девяностых и начале нулевых. В нашем сообществе таких довольно много. Наверное, им меня представлять не нужно.
Они знают тебя по ресурсу hare.ru?
Не только. Многие знают лично. А многие знают по некоторым моим, скажем там, общественно-полезным делам. Например, есть такая библиотека 1С++. Она выросла из исходных кодов библиотеки Rainbow, ее автор Валера Атаманюк. Он тогда отошел от мира 1С, но, чтобы труд не пропал, передал права на Rainbow мне. Ну а я исходные коды этой библиотеки отдал сообществу. Опубликовал их под открытой лицензией, аналог GPL. От этого и началась история 1С++.
Действие, вроде бы, очень простое, опубликовать исходники много ума не надо, но конечный результат получился неплохим. Хотя сам я, и это важно, ни единой буквы туда не вписал, просто потому что на С++ не смогу написать «Hello world», и даже для спасения собственной жизни. Моя платформа – это 1C.
Я так понимаю, что это было альтернативное развитие 1С-ных технологий, которое ты инициировал и продвигал у себя на форуме, и общение шло вокруг этих экспериментов.
Не то, чтобы альтернативное развитие, речь скорее шла о расширении и дополнении штатных возможностей платформы. Например, я собрал внушительную коллекцию внешних компонент для седьмой версии. У меня был раздел на сайте, посвященный внешним компонентам, их там были многие десятки. Я их собирал, проверял, тестировал, давал описание – целый каталог был опубликован, такого рода деятельность. Не то, чтобы какая-то феноменальная, но лично мне интересная. Писал статьи, публиковал у себя статьи других авторов. У нас был проект по имени «Коллективный разум», где публиковались работы как по теории, так и по практике, по каким-то экспериментам. Была насыщенная жизнь, обмен опытом, обмен материалами, знаниями. Причем, все это было абсолютно без какой-либо коммерческой составляющей. Все было на энтузиазме.
После этого ты отошел от публичной деятельности?
Да, потом я от публичной деятельности отошел и двинулся покорять вершины профессии. Просто времени уже не было на такого рода деятельность. Поэтому я ушел в тень. Как раз в 2003 году, после почти трехлетней, назовем это так, командировки в небольшой технологический стартап на технологиях Microsoft, я вернулся во вселенную 1С. И с тех пор занимался большими и по-хорошему страшными проектами и системами.
В первой половине нулевых я занимался тем, что разрабатывал тиражные решения замечательной фирмы Айтилэнд «Управление Проектным Офисом» и «Управление проектной организацией». Сейчас актуально уже новое поколение этих конфигураций, на управляемых формах, сопряженные с 1С: ERP, но часть моей кодовой базы, думаю, еще сохранилась.
И что же было дальше? Каким был следующий шаг к вершинам профессии?
После этого я шесть лет посвятил работе в компактной технологической компании по имени «ЛИСС». Заказчик у нас был только один, но зато какой. Ты получаешь квиточки оплаты за ЖКУ, такие розовые? Там в уголке аббревиатура ВЦКП. Сейчас я попробую произнести это правильно – СПбГУП ВЦКП ЖХ – «Санкт-Петербургское государственное унитарное предприятие Вычислительный Центр Коллективного Пользования Жилищное Хозяйство». Это и был наш заказчик, для которого мы разрабатывали и эксплуатировали различные информационные решения, от совсем маленьких до сверхтяжелых. На разных платформах, но я, понятное дело, трудился в дивизионе платформы 1С.
Одна из флагманских систем по тем временам, наверно, была самой сложной, нагруженной и навороченной конфигурацией на платформе 1С. Написали полностью с нуля, разработка только первого приближения, не считая многочисленных модернизаций, стоила примерно двадцать человеко-лет. Это биллинг ЖКХ, огромная нагрузка и огромные объемы данных. За первый год эксплуатации база вышла на терабайт, и это еще на 8.1. Система была, мягко говоря, монструозной по тем временам. Когда мы начинали ее строить, мы ездили в фирму «1С» консультироваться. Тогда уже появилось направление ЦКТП, им руководил Константин Рупасов. И вот к нему мы ездили за консультациями и моральной поддержкой. Даже не знаю, что оказалось важнее.
То есть, ты уже тогда поддерживал контакт с фирмой «1С»?
Да, конечно. Кстати, именно Константину я сдавал экзамен на сертификат «1С: Эксперт», еще в самой первой экспериментальной партии. Можно сказать, что мой «Эксперт» в первой десятке. Ну а потом ездили за консультацией. Объем данных предполагался огромный, прирост базы примерно терабайт за год. Кажется, тогда с такими объемами никто не работал в принципе. Но нас успокоили – если СУБД вытянет, то и платформа вытянет. Собственно, так и получилось. Биллинговая система, что характерно, работает до сих пор, уже двенадцатый год. Хотя по проекту через пять-шесть лет требовалась глубокая модернизация с разделением одной базы на несколько, но заложенный запас прочности оказался сильнее проектных расчетов.
А чем конкретно ты занимался в том проекте?
В том проекте я выполнял функции архитектора, проектировщика, ведущего разработчика, технолога, тимлида – все в одном. Команда была совсем небольшая, но очень профессиональная. Приятно вспомнить те времена.
Так что я из вселенной 1С никуда не уходил. И по тематике биллинга ЖКХ у нас было три доклада на больших семинарах. Что характерно, эти доклады имели определенный успех. Так что те, кто в теме, прекрасно знали, что Никита Зайцев никуда не делся, наоборот, сворачивает какие-то горы и строит какие-то странные и местами даже нечеловеческие мега-системы.
Что же помешало оставаться на задачах ЖКХ и дальше? Судя по твоему рассказу, поле деятельности там очень широкое.
Причина была и довольно веская. Но эта причина лежала не в плоскости технологий, а в плоскости городской политики. Такое бывает, но вряд ли стоит об этом рассказывать. Не интересно.
И каков был следующий шаг?
Я почти никогда не искал работу, работа меня находила сама. У меня даже есть небольшая теория. Она гласит, что большие задачи каким-то образом притягивают именно тех специалистов, которые способны с такими задачами справится. Но это, понятно, только теория.
В любом случае, внезапно мне поступает звонок от дружественной питерской фирмы. Мы, говорят, рекомендовали тебя в Москву на большой суровый проект. Но там не разработка, а интеграция и внедрение. Завтра будет собеседование по скайпу. И какой-то неизвестный мне человек на расплывающемся экране в течение десяти минут проводит собеседование, причем довольно странное. После чего мои питерские товарищи мне заявляют – отлично, мы тебя сдали в аренду фирме «1С» на проект внедрения облачной бухгалтерии, в понедельник в десять утра будь в Москве на Селезневской. А дело было вечером пятницы. В общем, как будто гвоздь в стену заколотили.
Я сейчас попробую произнести, как тогда называлась моя должность – руководитель центра миграции данных зарплатного контура Универсальной автоматизированной облачной системы обеспечения финансовой деятельности организаций, подведомственных Департаменту образования города Москва. С этой формулировкой нужно поаккуратнее, если произнести три раза подряд – можно кого-нибудь вызвать.
Это была облачная бухгалтерия образовательных организаций?
Нет, не только. Но я занимался миграцией данных именно образовательных учреждений из локальных баз в облачные. «Облачная бухгалтерия» – это сервис на базе технологии 1cfresh, в этом сервисе работают почти все московские госучреждения – ведут там бухгалтерский, зарплатный и кадровый учет. Общее количество пользователей сервиса измеряется числом с четырьмя нулями.
В образовательном сегменте – более тысячи учреждений, и моей задачей было организовать миграцию зарплатных и кадровых информационных баз с пяти основных локальных платформ в облачную систему. Помимо пяти основных, правда, попадалась еще всякая экзотика, вплоть до рукописных баз на FoxPro и Clarion образца лохматых девяностых. Было очень интересно и очень весело. Особенно если учесть, что внедрение выполнялось сразу на новом поколении платформы и новом поколении конфигурации ЗКГУ. Разумеется, не обходилось и без саботажа на местах – одной из задач тотального перевода на учет в облаке было обеспечение прозрачности этого учета.
Команда нашего проектного офиса, как водится, была очень компактной и очень профессиональной. Эти времена особенно приятно вспомнить, про ту облачную эпопею можно написать если не производственный роман, то хотя бы пьесу в лучших традициях комедийного театра. Неплохая, кстати, идея.
А в чем конкретно заключались твои функции? Что значит управлять миграцией?
Управлять миграцией – это довольно затейливый процесс. Хозяйство примерно такое – шесть партнеров-разработчиков инструментария, дюжина партнеров на, собственно, внедрении и примерно полторы сотни сервисных инженеров в полях. Ну и еще менеджеры и руководители разных уровней. Со всеми нужно взаимодействовать, причем прямые указания отдавать нельзя, управлять процессом можно только при помощи регламентов, переговоров, уговоров и переписки.
Общая цель заключалась в том, чтобы обеспечить благополучный переезд локальной базы в облачную ноду и контролировать весь процесс от первичного обследования локальной базы до запуска в эксплуатацию. Ну а чисто технически, спектр моих задач был довольно широким, от технического анализа и аудита программного кода до разрешения открытых конфликтов и оказания экстренной психологической помощи, и нет, я не шучу. Могу только повторить – это было очень весело.
Я пытаюсь выстроить цепочку до 2015 года, когда ты официально стал работать в 1С, и у меня пока не получается.
Все просто. Всего несколько вех: 2004 – разработка тиражных решений, 2007 – система уровня города для ЖКУ Санкт-Петербурга, 2014 – облачная бухгалтерия. Ну а потом уже штатный сотрудник фирмы «1С». Собственно, все это время были какие-то периодические неофициальные контакты, например, я делал цикл статей о платформе и технологиях 1С для глянцевых журналов BYTE/Russia и PC Magazine Russia, консультировался у разработчиков платформы. У меня даже есть памятный аппаратный ключик из самой первой серии коробок восьмой платформы, личный подарок директора. Но эту историю – как-нибудь в другой раз. Так что, в фирме «1С» в 2015 я был уже не чужим человеком.
Ты больше занимаешься интеграционными проектами и разработкой, чем руководством?
Скажем так, меня можно назвать универсальным солдатом, я занимался и первым, и вторым, и третьим, и много чем еще. Пусть не прозвучит хвастливо, но в нашей отрасли я владею почти любой специализацией на уровне от «Высокий» до «Экспертный». Мне как-то везло с самого начала моей инженерной карьеры попадать на нетипичные, масштабные, а иногда и странные проекты и задачи. И также везло с учителями в профессии. Можно сказать, что учился у лучших.
За двадцать три года я прошел путь от мелкого агента по продаже коробок «1С: Торговля 7.0» до архитектора и ведущего разработчика облачной технологии 1cFresh. В моем понимании, это вершина профессии. Но вот организационное руководство само по себе никогда не интересовало, хотя в начале нулевых несколько лет пришлось тянуть лямку директора небольших фирм. Это было скорее по необходимости, и как только представилась возможность вернуться во вселенную инженерного дела и технологического руководства, такую возможность я, разумеется, не упустил.
Традиционный уже вопрос, в чем конкретно заключались твои функции в команде 1cFresh?
Ответ тоже уже традиционный – системный архитектор, проектировщик, ведущий разработчик, технолог, тимлид. Еще немного технический писатель. Написал пару глав в документацию 1cFresh.
Интересный факт – когда я только начинал осваивать работу с персональным компьютером, моей настольной книгой была «IBM PC для пользователя» Виктора Фигурнова. И каково же было мое удивление, когда в первый же рабочий день на пятом этаже Д9 я встретил Виктора Эвальдовича в качестве технического писателя Технологии 1cFresh. В документации на некоторые релизы Технологии можно встретить такое указание авторства – «В. Фигурнов, Н. Зайцев». Иногда случаются просто поразительные стечения обстоятельств, нарочно не придумаешь.
Вопрос, возможно, нескромный. Что послужило причиной ухода из «1С»?
Есть такая старая добрая советская формулировка: «По состоянию здоровья». Сказался образ и ритм жизни. Двадцать три года работы в ломовом режиме, ну и отдых от работы, когда он случался, тоже проходил не на пляже под пальмой, как говорят в народе – укатали сивку крутые горки. Уже не мог работать с полной нагрузкой, серьезные задачи тянуть уже не получалось. Поэтому пришлось уйти.
Дальше были попытки как-то восстановить здоровье, но не совсем удачные. В сухом остатке – почти полная потеря зрения, ну и еще всякое, без подробностей. Это было вполне ожидаемо, просто ресурс оказался выработан чуть раньше расчетного времени. Что поделать? Ничего страшного в этом нет.
Как в сложившихся обстоятельствах ты видишь свою работу в будущем? Расскажи нам подробнее, как продвигается работа над публикациями и книгами.
Работу над книгой я начал чуть больше года назад, к настоящему времени получилось закончить первую версию. Запланирована вторая версия, в которой будет существенно расширена третья, она же практическая часть. Также запланирован ряд небольших публикаций, на базе которых, возможно, получится собрать еще одну книгу, а возможно и не одну. Технически все очень просто, я работаю голосом и работаю не один, мне помогают. Также был небольшой опыт, назовем это так, камерного чтения лекций, на ту же самую тематику – эффективная разработка программного обеспечения. Не просто пересказ книги, а отдельный авторский продукт, живое выступление перед аудиторией. Вроде бы, получилось неплохо. Обратная связь была строго позитивной.
Книга, предлагаемая сообществу, представляет собой дистиллят моего опыта, моей инженерной практики и наработанных за эти долгие годы правил, принципов и концепций разработки. Формат книги не совсем привычный – минимум лишней воды, энтропию текста я постарался сделать минимальной, насколько это было в моих возможностях. Но чтобы чтение не получилось академически скучным, технический текст содержит несколько почти беллетристических вставок, так называемые «Кофе-паузы». Важный нюанс – все приведенные там истории имели место в реальности, ни единого слова не придумано.
Была и остается идея издать это в бумаге, но идея довольно зыбкая, и, чтобы труд не пропал, было принято решение передать эту работу в открытый доступ. Там только два условия: сохранять авторство и не вносить никаких правок в текст, в остальном полная свобода действий.
От твоего ресурса hare.ru сейчас мало что осталось.
Действительно, мало что осталось. Там было три разных инкарнации, от первой вообще ничего не осталось, от второй остался архив статей, давным-давно потерявших актуальность, ну а третья была уже не технологическая, а эдакая смесь лирики с публицистикой. Вот она-то доступна до сих пор, какой-то добрый человек подобрал домен, но не стал ничего там менять, а просто добавил немного ненавязчивой контекстной рекламы. За что ему большое спасибо, иногда бывает забавно перечитать свои юношеские тексты.
Было очень жалко бросать этот ресурс, но время тогда было очень тяжелое, и мне пришлось сократить любую публичную деятельность. На пике активности этот мой ресурс был одной из основных дискуссионных площадок неформального сообщества тех специалистов, которых называли и называют «Программистами 1С».
Причем, неформального сообщества не просто разработчиков 1С, а тех, кто пытается изменить 1С изнутри с помощью внешних компонент, предоставляющих новые возможности.
И даже в более широком смысле, не просто расширить возможности, но и применять платформу на тех задачах, на которые она изначально вроде бы и не была ориентирована. От компьютерных игр до управления тяжелым оборудованием. Еще очень важный момент – всемерная популяризация платформы 1С в отрасли информационных технологий. Можно сказать, что ломать миф «1С – это бухгалтерия» мы начали уже лет двадцать тому назад.
Сейчас фирма «1С» запускает проект «Амбассадоры 1С», об этом очень подробно рассказывали на большом весеннем семинаре, и цели у этого проекта примерно такие же. Вот мы тогда и были чем-то вроде таких амбассадоров. Хотя, почему были? Мы никуда не исчезли, просто стали старше и опытнее. В частности, персонаж по имени Никита Зайцев (больше известный как WildHare), если и уходил в тину, то временно и по причине нехватки свободного времени. Ну а сейчас со свободным временем у меня полный порядок, можно сказать, что почти все время является свободным, и это веская причина вернуться к почти полноценной публичной деятельности, в частности поделиться своим опытом и своими идеями. Вот такая у этой книги предыстория.
Возможен ли, учитывая обстоятельства, какой-то диалог с читателями? Например, если у кого-то будут вопросы.
В принципе, это возможно. Но формат комментариев и ответов на них, к сожалению, сейчас для меня недоступен, поэтому обратная связь и какой-то диалог, если у кого-то из читателей возникнет желание – только по электронной почте. Мой личный адрес: nikita.wild@gmail.com. Оперативного ответа не обещаю, но обязательно прочитаю каждое письмо.
Спасибо за ваш интерес и приятного чтения.
Книга «Не спеша, эффективно и правильно – путь разработки» публикуется частями в виде трех статей. Каждую неделю будет публиковаться новая статья. Предлагаем ознакомиться с частями книги:
Не спеша, эффективно и правильно – путь разработки. Часть 1. Парадигма
Не спеша, эффективно и правильно – путь разработки. Часть 2. Теория
Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика