Резюме — различия между версиями

Материал из YourcmcWiki
Перейти к: навигация, поиск
м
 
(не показано 37 промежуточных версий этого же участника)
Строка 4: Строка 4:
  
 
<tab sep="bar" class="wikitable" head="left">
 
<tab sep="bar" class="wikitable" head="left">
ОС | Linux, из дистрибутивов предпочитаю Debian, имел дело с разными. Знаком с *BSD. Винда, куда от неё денешься, но не уважаю.
+
ОС | Linux, предпочитаю Debian/Ubuntu, включая опыт системной разработки. Закрытые ОС для работы принципиально не использую.
Языки программирования | Отлично разбираюсь в PHP, Perl (более 8 лет опыта). JavaScript, в основном на стороне клиента, но также и Node.JS. Реже — C/C++, Java, Python. Предпочитаю C-подобные, знаком с кучей разных, вплоть до ARM ассемблера.
+
Языки программирования | На наиболее свежих проектах основные: C/C++, Go, JS/node.js (~10 лет опыта). Ранее: PHP (~10 лет), Perl (~7 лет), фронтенд HTML/CSS/JS (> 10 лет), реже — Java, Python и всё остальное вплоть до x86 и ARM ассемблера.
Базы данных | Отлично разбираюсь в MySQL, PostgreSQL. NoSQL — простые (Redis, Sophia) постоянно, сложные (MongoDB) — реже. Иногда Oracle, совсем иногда — SQLite.
+
Базы данных | MySQL, PostgreSQL (> 10 лет опыта), простые NoSQL (Redis, memcached), также MongoDB, RocksDB, Oracle, SQLite, Sphinx, Elasticsearch и т. п.
Вёрстка | HTML(5?), CSS, JavaScript. Как с фреймворками — Angular, ExtJS, jQuery, так и без них — люблю нативный js и вёрстку. Различные шаблонизаторы (в том числе есть неплохой собственный).
+
Фронтенд | HTML, CSS. Предпочитаю React/preact, но также есть опыт Angular, ExtJS, jQuery и всевозможных шаблонизаторов. React Native.
Системы контроля версий | Отлично разбираюсь в Git, Mercurial, Bazaar, Subversion, CVS. Естественно, предпочитаю DVCS (раньше — hg, сейчас Git). Знаком и с другими.
+
Системы контроля версий | Git на экспертном уровне, большой прошлый опыт с Mercurial, Bazaar, Subversion, CVS.
 +
SDS | Ceph — настройка и оптимизация. Собственная SDS Vitastor (языки: C++, node.js).
 +
Кластерное ПО | Consul, etcd, Patroni, Stolon, Percona cluster.
 +
DevOps | Docker, Docker compose, Docker swarm, Kubernetes, Ansible, Gitlab CI, OpenNebula, nginx, apache, haproxy.
 +
Прочее | Линуксоид года где-то с 2006 (Linux везде — на всех ПК, ноутбуках и своих/чужих серверах). OpenStreetmap: osm2pgsql, imposm3, mapnik/renderd, tilemill, OSRM, valhalla, leaflet, tilelive (векторные тайлы). Openesb, jetty, keycloak, wildfly (хотя лучше бы их всех не знать).
 
Языки | Русский (родной), английский (могу проходить интервью).
 
Языки | Русский (родной), английский (могу проходить интервью).
Прочее | Линуксоид года где-то с 2006 (Linux везде — на всех ПК, ноутбуках и своих/чужих серверах), знаком с кучей разных линуксовых технологий; nginx, memcached, redis — разумеется; работал с многими движками полнотекстового поиска (Sphinx, Lucene, CLucene, Xapian, MySQL, PostgreSQL, SQLite встроенные); интересуюсь радиоуправляемыми моделями, микроконтроллерами (AVR), 3D-печатью…
 
 
</tab>
 
</tab>
  
 
== Опыт работы ==
 
== Опыт работы ==
  
Помимо основного опыта работы, имею множество законченных веб-проектов — например, http://redmediatv.ru/ и http://russtroy.ru/.
+
Помимо основного опыта работы, развиваю собственный проект SDS [https://vitastor.io/ Vitastor], а также в области веб-разработки имел множество законченных проектов — например, http://redmediatv.ru/ (2012, видеохостинг для сети кабельных телеканалов), http://russtroy.ru/ (2013, поисковик недвижимости), http://citymaker.ru/ (2015, конструктор городских сайтов), https://nebo.online/ (2018, система аналитики недвижимости), разработка прототипа платформы Налоговый Мониторинг для Mail.ru Group (2019). Самый старый проект — http://glam-code.ru/ (2006, интернет-магазин, просуществовал примерно до 2020 года).
 +
 
 
<html><style>.top_align td { vertical-align: top; }</style></html>
 
<html><style>.top_align td { vertical-align: top; }</style></html>
  
Строка 22: Строка 26:
 
! С !! До !! Название компании !! Должность !! Обязанности
 
! С !! До !! Название компании !! Должность !! Обязанности
 
|-
 
|-
| 2008/10
+
| 2021/05
 
| н.в.
 
| н.в.
 +
| Яндекс
 +
| Ведущий разработчик
 +
| Участие в разработке систем объектного хранения данных — S3 (Yandex Object Storage), MDS (нет, не MetaDataServer, а MeDiaStorage :)) — нижний слой системы хранения (в Ceph аналогичный RADOS по отношению к RGW). Проектирование перспективной архитектуры системы хранения на замену существующей.
 +
 +
Разработка и поддержка FUSE-S3 файловой системы [https://github.com/yandex-cloud/geesefs GeeseFS] (с нуля, в одно лицо). Самая быстрая реализация FUSE-S3 :)
 +
 +
Языки разработки: C++, Go, Python.
 +
|-
 +
| 2008/10
 +
| 2021/05
 
| CUSTIS
 
| CUSTIS
 
| Ведущий программист-разработчик
 
| Ведущий программист-разработчик
| 2015-н.в: проектирование и разработка предпродажной версии SaaS для управления финансами корпораций/холдингов. Технологии: ExtJS, PHP, Node.JS, Java EE, MySQL, PostgreSQL.
+
| 2019: проектирование и разработка новой версии казначейского SaaS (TMS). React, node.js, PHP, Java, PostgreSQL.
  
2012—2014: участие в разработке оболочки для интерактивных терминалов в розничных магазинах клиента. Технологии: PHP, PostgreSQL, Memcached, Redis, ExtJS, взаимодействие с Oracle БД. В настоящее время проект внедрён, используется, находится в стадии сопровождения и редких доработок/оптимизаций.
+
2018: различные предпроекты, инфраструктурные проекты Ceph & OpenNebula, участие в разработке Modeus (SaaS для ВУЗов). В основном React и node.js. Участие в деятельности дирекции архитектуры компании.
  
2012: построение эффективного процесса доработки нагруженного сайта клиента, написанного с использованием одной небезызвестной CMS, в составе большой смешанной команды. Технологии: PHP, MySQL, в дальнейшем — memcache, MongoDB.
+
2015—2017: проектирование и разработка SaaS для управления финансами корпораций/холдингов. Технологии: ExtJS, PHP, Java EE, MySQL, PostgreSQL.
 +
 
 +
2012—2014: участие в разработке оболочки для интерактивных терминалов в розничных магазинах клиента. Технологии: PHP, PostgreSQL, Memcached, Redis, ExtJS, взаимодействие с Oracle БД. В настоящее время проект внедрён, используется, находится в стадии сопровождения и редких доработок/оптимизаций.
  
2008-н.в.: руководство разработкой и администрированием веб-систем для внутреннего использования на языках PHP, Perl, Python и СУБД MySQL и PostgreSQL (например, доработанных MediaWiki, Bugzilla, ViewVC, GitBlit, FeedOnFeeds). Возглавлял команду из 3-х человек (включая меня), применял Agile/SCRUM методологию разработки. Результатом работы являются открытые проекты MediaWiki4Intranet и Bugzilla4Intranet.
+
2012: построение эффективного процесса доработки достаточно нагруженного (6 серверов по 24 ядра) сайта клиента, написанного с использованием одной небезызвестной CMS, в составе большой смешанной команды. Технологии: PHP, MySQL, в дальнейшем — memcache, MongoDB.
  
Постоянно: активное взаимодействие с внутренними и внешними заказчиками, проведение собеседований сотрудников, проведение code review, участие в администрировании серверов, продвижение в массы DVCS, проведение исследований новых для компании технологий (ESB, DVCS, движков полнотекстового поиска, NodeJS, Ceph, Spark), участие в прочих предпроектных работах (витрины данных, интеграционные проекты, мобильные приложения).
+
2008—2012: руководство разработкой и администрированием веб-систем для внутреннего использования на языках PHP, Perl, Python и СУБД MySQL и PostgreSQL (например, доработанных MediaWiki, Bugzilla, ViewVC, GitBlit, FeedOnFeeds). Результатом работы являются открытые проекты MediaWiki4Intranet и Bugzilla4Intranet.
 
|-
 
|-
| 2006/10 || 2008/10 || АГАВА || Perl-разработчик || Участие в разработке сайта объявлений [http://vsem.ru/ vsem.ru] (Perl, TT, POE, SPOPS, FreeBSD, «сверхнадёжный кластер» на основе MySQL 3 и прочий олдскул… Ваня Серёжкин… :))).
+
| 2006/10 || 2008/10 || АГАВА || Perl-разработчик || Участие в разработке (ныне почившего) сайта объявлений vsem.ru (Perl, TT, POE, SPOPS, FreeBSD, «сверхнадёжный кластер» на основе MySQL 3 и прочий олдскул… Ваня Серёжкин… :))).
 
|-
 
|-
 
| 2006/05 || 2006/10 || ИнтерМедиа || Ведущий Web-разработчик || Разработка портала commercialrealty.ru (предыдущей версии), корпоративных сайтов по заказу, администрирование Linux серверов.
 
| 2006/05 || 2006/10 || ИнтерМедиа || Ведущий Web-разработчик || Разработка портала commercialrealty.ru (предыдущей версии), корпоративных сайтов по заказу, администрирование Linux серверов.
Строка 53: Строка 69:
 
== Заметки ==
 
== Заметки ==
  
* Считаю, что конечная цель разработки — максимальная простота системы при заданном наборе фич и требований. Иными словами, «идеал достигается не тогда, когда больше нечего добавить, а тогда, когда уже нечего отнять», и отсюда следуют все остальные предпочтения :) от предпочтения легковесных библиотек и минимума фреймворков до банальной обязательности отсутствия дублирования кода (DRY!!!)
+
* Актуальное «призвание» — программные СХД (SDS), включая собственный проект — [https://vitastor.io Vitastor]. Самая быстрая блочная СХД без единой точки отказа, также с версии 1.6.0 имеет реализацию кластерной ФС.
* Хорошо разбираюсь во многом GNU/Linux’овом ПО. Не боюсь читать и править код практически любых видов программ, вплоть до ядра :-) были бы открыты исходники. Очень хорошо отношусь к свободному ПО, и не очень хорошо к закрытому и платному. Постоянно отправляю багрепорты, иногда с патчами, в открытые проекты ([[User:VitaliyFilippov/Bugs]]), общаюсь в списках рассылок (разумеется, англоязычных) и сам принимаю багрепорты от других.
+
* В целом — Full-stack разработчик широкого профиля, начиная от веб-сайтов и корпоративных систем с веб-интерфейсами и заканчивая системным ПО и развёртыванием кластеров. Основной язык в сфере веб-разработки — JS (ES6+).
* К IDE для динамических языков типа PHP/Perl/Python отношусь скептически, для разработки обычно использую Midnight Commander в консоли, и чувствую себя в нём вполне уютно.
+
* Большой опыт работы с программной СХД Ceph, экспертные знания о его внутреннем устройстве и производительности. Один из соавторов курса Slurm Ceph.
* Также несколько скептически отношусь к фреймворкам для PHP (но, пожалуй, не для Python’а). Во многих случаях без их использования результат создаётся быстрее, и получается производительнее и качественнее.
+
* Есть опыт работы как с фреймворками, так и с различными PHP CMS, включая Bitrix, WordPress, Magento и т. п., но предпочитаемый способ реализации проектов — с нуля, так как CMS и даже фреймворки годятся лишь для шаблонных проектов, в которых цель — максимальное удешевление.
* [http://wiki.4intra.net/MediaWiki4Intranet MediaWiki4Intranet] — сборка MediaWiki «для корпоративного использования» (~50 патчей, ~90 расширений, из них ~45 создано с нуля и ~15 серьёзно доработано). Сборка практически идеальна в качестве базы знаний и успешно используется в компании для множества различных целей, от ведения документации до общения в «вики-форуме».
+
* Считаю, что конечная цель разработки — максимальная простота системы при заданном наборе фич и требований. Иными словами, «идеал достигается не тогда, когда больше нечего добавить, а тогда, когда уже нечего отнять», и отсюда следуют все остальные предпочтения — от легковесных библиотек и минимума фреймворков до DRY.
* Bugzilla4Intranet — «форк» баг-трекера Bugzilla, также нацеленный на корпоративное использование, глубоко переработанный и с большим количеством новых возможностей. Оба проекта опубликованы на GitHub.
+
* Линуксоид. Не боюсь читать и править код практически любых видов программ, вплоть до ядра :-) были бы открыты исходники. Хорошо отношусь к свободному ПО, не очень хорошо к закрытому и платному.
* Докладывал на разных конференциях — Highload-2009, SECR-2009, РИТ-2010, ADD-2010, ADD-2011, DevConf-2011, WhaleRider-2011, SQADays-2011. Кое-где блицы, кое-где — полноразмерные доклады; проводил в компании внутренние «семинары» и «семинары» для студентов/молодых специалистов (которые на самом деле не семинары, а скорее тоже доклады/лекции). В том числе были доклады на тему свободных лицензий, в связи с чем несколько разбираюсь в их нюансах.
+
* Взаимодействую с сообществом — отправляю багрепорты и исправления в открытые проекты ([[User:VitaliyFilippov/Bugs]]), принимаю участие в обсуждениях в списках рассылок, сам также принимаю багрепорты.
* Выступал экспертом от компании для различных печатных изданий, например, http://www.itsec.ru/imag/insec-6-2014/34/
+
* Вместо IDE использую Midnight Commander :-). Автодополнение? Не слышали, и так всё помним. Vim? Спасибо, с таким юзабилити не надо.
* Чувство юмора на месте :)
+
* Негативно отношусь к «тяжёлым» фреймворкам по типу Spring в Java, Zend в PHP и подобных. Сама необходимость использования фреймворков обычно в принципе под большим вопросом. Также негативно отношусь к предрассудкам вида «PHP, JS — не языки, Perl — writeonly, динамически типизированные языки не годятся для серьёзной разработки» и подобным.
* Отменил второй тур олимпиады ЯндексRoot 2013, найдя у них дыру в безопасности :-D
+
* Есть также более старые собственные проекты, например, [http://wiki.4intra.net/MediaWiki4Intranet MediaWiki4Intranet] — сборка MediaWiki для использования в качестве корпоративной базы знаний, уже несколько устаревший «форк» баг-трекера Bugzilla — Bugzilla4Intranet, Linux-клиент для Google Drive Grive2 и другие.
* Вейкборд, сноуборд, моделизм, (давно) параплан, ралли-спринты. По режиму скорее сова.
+
* Понимаю нюансы различных свободных лицензий.
* Очень люблю учиться новому, аж обидно, когда по работе ничего нового не всплывает — тогда приходится закрывать дырки, например, по криптографии — онлайн-курсом на Coursera, по Ceph — путём тестирования его на стенде в шкафу :)
+
* Выступал на различных конференциях (Highload, SECR, РИТ, ADD, DevConf, WhaleRider, SQADays и т. п.) и статьи для печатных изданий, проводил внутренние семинары.
 +
* [[Мои доклады]]. Пример: [https://vitastor.io/presentation/devopsconf/talk.webm Vitastor DevOpsConf 2021]
 +
* Чувство юмора на месте :) отменил второй тур олимпиады ЯндексRoot 2013, найдя у них дыру в безопасности :D
 +
* Вейкборд, сноуборд, моделизм, (давно) параплан, ралли-спринты. По режиму СОВА.
 +
* P.S: Монорепа — днище!

Текущая версия на 23:59, 25 июня 2024

ОС Linux, предпочитаю Debian/Ubuntu, включая опыт системной разработки. Закрытые ОС для работы принципиально не использую.
Языки программирования На наиболее свежих проектах основные: C/C++, Go, JS/node.js (~10 лет опыта). Ранее: PHP (~10 лет), Perl (~7 лет), фронтенд HTML/CSS/JS (> 10 лет), реже — Java, Python и всё остальное вплоть до x86 и ARM ассемблера.
Базы данных MySQL, PostgreSQL (> 10 лет опыта), простые NoSQL (Redis, memcached), также MongoDB, RocksDB, Oracle, SQLite, Sphinx, Elasticsearch и т. п.
Фронтенд HTML, CSS. Предпочитаю React/preact, но также есть опыт Angular, ExtJS, jQuery и всевозможных шаблонизаторов. React Native.
Системы контроля версий Git на экспертном уровне, большой прошлый опыт с Mercurial, Bazaar, Subversion, CVS.
SDS Ceph — настройка и оптимизация. Собственная SDS Vitastor (языки: C++, node.js).
Кластерное ПО Consul, etcd, Patroni, Stolon, Percona cluster.
DevOps Docker, Docker compose, Docker swarm, Kubernetes, Ansible, Gitlab CI, OpenNebula, nginx, apache, haproxy.
Прочее Линуксоид года где-то с 2006 (Linux везде — на всех ПК, ноутбуках и своих/чужих серверах). OpenStreetmap: osm2pgsql, imposm3, mapnik/renderd, tilemill, OSRM, valhalla, leaflet, tilelive (векторные тайлы). Openesb, jetty, keycloak, wildfly (хотя лучше бы их всех не знать).
Языки Русский (родной), английский (могу проходить интервью).

Опыт работы

Помимо основного опыта работы, развиваю собственный проект SDS Vitastor, а также в области веб-разработки имел множество законченных проектов — например, http://redmediatv.ru/ (2012, видеохостинг для сети кабельных телеканалов), http://russtroy.ru/ (2013, поисковик недвижимости), http://citymaker.ru/ (2015, конструктор городских сайтов), https://nebo.online/ (2018, система аналитики недвижимости), разработка прототипа платформы Налоговый Мониторинг для Mail.ru Group (2019). Самый старый проект — http://glam-code.ru/ (2006, интернет-магазин, просуществовал примерно до 2020 года).

С До Название компании Должность Обязанности
2021/05 н.в. Яндекс Ведущий разработчик Участие в разработке систем объектного хранения данных — S3 (Yandex Object Storage), MDS (нет, не MetaDataServer, а MeDiaStorage :)) — нижний слой системы хранения (в Ceph аналогичный RADOS по отношению к RGW). Проектирование перспективной архитектуры системы хранения на замену существующей.

Разработка и поддержка FUSE-S3 файловой системы GeeseFS (с нуля, в одно лицо). Самая быстрая реализация FUSE-S3 :)

Языки разработки: C++, Go, Python.

2008/10 2021/05 CUSTIS Ведущий программист-разработчик 2019: проектирование и разработка новой версии казначейского SaaS (TMS). React, node.js, PHP, Java, PostgreSQL.

2018: различные предпроекты, инфраструктурные проекты Ceph & OpenNebula, участие в разработке Modeus (SaaS для ВУЗов). В основном React и node.js. Участие в деятельности дирекции архитектуры компании.

2015—2017: проектирование и разработка SaaS для управления финансами корпораций/холдингов. Технологии: ExtJS, PHP, Java EE, MySQL, PostgreSQL.

2012—2014: участие в разработке оболочки для интерактивных терминалов в розничных магазинах клиента. Технологии: PHP, PostgreSQL, Memcached, Redis, ExtJS, взаимодействие с Oracle БД. В настоящее время проект внедрён, используется, находится в стадии сопровождения и редких доработок/оптимизаций.

2012: построение эффективного процесса доработки достаточно нагруженного (6 серверов по 24 ядра) сайта клиента, написанного с использованием одной небезызвестной CMS, в составе большой смешанной команды. Технологии: PHP, MySQL, в дальнейшем — memcache, MongoDB.

2008—2012: руководство разработкой и администрированием веб-систем для внутреннего использования на языках PHP, Perl, Python и СУБД MySQL и PostgreSQL (например, доработанных MediaWiki, Bugzilla, ViewVC, GitBlit, FeedOnFeeds). Результатом работы являются открытые проекты MediaWiki4Intranet и Bugzilla4Intranet.

2006/10 2008/10 АГАВА Perl-разработчик Участие в разработке (ныне почившего) сайта объявлений vsem.ru (Perl, TT, POE, SPOPS, FreeBSD, «сверхнадёжный кластер» на основе MySQL 3 и прочий олдскул… Ваня Серёжкин… :))).
2006/05 2006/10 ИнтерМедиа Ведущий Web-разработчик Разработка портала commercialrealty.ru (предыдущей версии), корпоративных сайтов по заказу, администрирование Linux серверов.
2007/09 2007/11 Алор+ Разработчик (по договору) Разработка системы прогнозирования биржевых рисков (Windows, C++, COM, PL/SQL). Занесло в студенчестве :)

Образование

Год поступ. Год оконч. Название учебного заведения Факультет, специальность, форма обучения
2003 2008 Московский Государственный Университет им. М. В. Ломоносова Вычислительной Математики и Кибернетики, студент, специальность «математик, системный программист», кафедра Математических Методов Прогнозирования (очная дневная форма обучения)
2008 2011 Московский Государственный Университет им. М. В. Ломоносова ВМиК, аспирант, специальность «Дискретная математика, математическая кибернетика», кафедра ММП

Заметки

  • Актуальное «призвание» — программные СХД (SDS), включая собственный проект — Vitastor. Самая быстрая блочная СХД без единой точки отказа, также с версии 1.6.0 имеет реализацию кластерной ФС.
  • В целом — Full-stack разработчик широкого профиля, начиная от веб-сайтов и корпоративных систем с веб-интерфейсами и заканчивая системным ПО и развёртыванием кластеров. Основной язык в сфере веб-разработки — JS (ES6+).
  • Большой опыт работы с программной СХД Ceph, экспертные знания о его внутреннем устройстве и производительности. Один из соавторов курса Slurm Ceph.
  • Есть опыт работы как с фреймворками, так и с различными PHP CMS, включая Bitrix, WordPress, Magento и т. п., но предпочитаемый способ реализации проектов — с нуля, так как CMS и даже фреймворки годятся лишь для шаблонных проектов, в которых цель — максимальное удешевление.
  • Считаю, что конечная цель разработки — максимальная простота системы при заданном наборе фич и требований. Иными словами, «идеал достигается не тогда, когда больше нечего добавить, а тогда, когда уже нечего отнять», и отсюда следуют все остальные предпочтения — от легковесных библиотек и минимума фреймворков до DRY.
  • Линуксоид. Не боюсь читать и править код практически любых видов программ, вплоть до ядра :-) были бы открыты исходники. Хорошо отношусь к свободному ПО, не очень хорошо к закрытому и платному.
  • Взаимодействую с сообществом — отправляю багрепорты и исправления в открытые проекты (User:VitaliyFilippov/Bugs), принимаю участие в обсуждениях в списках рассылок, сам также принимаю багрепорты.
  • Вместо IDE использую Midnight Commander :-). Автодополнение? Не слышали, и так всё помним. Vim? Спасибо, с таким юзабилити не надо.
  • Негативно отношусь к «тяжёлым» фреймворкам по типу Spring в Java, Zend в PHP и подобных. Сама необходимость использования фреймворков обычно в принципе под большим вопросом. Также негативно отношусь к предрассудкам вида «PHP, JS — не языки, Perl — writeonly, динамически типизированные языки не годятся для серьёзной разработки» и подобным.
  • Есть также более старые собственные проекты, например, MediaWiki4Intranet — сборка MediaWiki для использования в качестве корпоративной базы знаний, уже несколько устаревший «форк» баг-трекера Bugzilla — Bugzilla4Intranet, Linux-клиент для Google Drive Grive2 и другие.
  • Понимаю нюансы различных свободных лицензий.
  • Выступал на различных конференциях (Highload, SECR, РИТ, ADD, DevConf, WhaleRider, SQADays и т. п.) и статьи для печатных изданий, проводил внутренние семинары.
  • Мои доклады. Пример: Vitastor DevOpsConf 2021
  • Чувство юмора на месте :) отменил второй тур олимпиады ЯндексRoot 2013, найдя у них дыру в безопасности :D
  • Вейкборд, сноуборд, моделизм, (давно) параплан, ралли-спринты. По режиму СОВА.
  • P.S: Монорепа — днище!