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

Материал из YourcmcWiki
Перейти к: навигация, поиск
м
Строка 4: Строка 4:
  
 
<tab sep="bar" class="wikitable" head="left">
 
<tab sep="bar" class="wikitable" head="left">
ОС | Linux, из дистрибутивов предпочитаю Debian, имел дело с разными. Знаком с *BSD. Винда, куда от неё денешься, но не уважаю.
+
ОС | Linux, предпочитаю Debian/Ubuntu, некоторый опыт системной разработки. Винда, включая некоторый опыт разработки, но не уважаю.
Языки программирования | Основные: PHP, Perl, JavaScript — более 10 лет опыта. node.js ~5 лет, React ~3 года. Реже — Java, Python, C/C++, Go. Мой первый язык — C, так что предпочитаю всё, что на него похоже. Знаком с разными, вплоть до ARM ассемблера.
+
Языки программирования | Основные: PHP, JavaScript/ECMAScript, HTML/CSS — более 10 лет опыта, node.js > 6 лет. Также Perl > 7 лет, реже — Java, Python, C/C++, Go, и далее всё остальное вплоть до x86 и ARM ассемблера.
Базы данных | Основные — MySQL, PostgreSQL. NoSQL — простые (Redis, Sophia) постоянно, сложные (MongoDB) — реже. Иногда Oracle, совсем иногда — SQLite.
+
Базы данных | Основные — MySQL, PostgreSQL (> 10 лет опыта) и простые NoSQL (Redis, memcached). Далее MongoDB, RocksDB, Oracle, SQLite, Sphinx, Elasticsearch и т.п.
Фронтенд | Предпочтения — React или нативный JS (без фреймворков). Также Angular, ExtJS, jQuery и всевозможные шаблонизаторы.
+
Фронтенд | HTML, CSS. Предпочтения — React или нативный JS (без фреймворков). Также Angular, ExtJS, jQuery и всевозможные шаблонизаторы. Пробовал React Native.
Системы контроля версий | Отлично разбираюсь в Git, Mercurial, Bazaar, Subversion, CVS. Естественно, предпочитаю DVCS (раньше — hg, сейчас Git). Знаком и с другими.
+
Системы контроля версий | Git сильно лучше среднего. Куча прошлого опыта с Mercurial, Bazaar, Subversion, CVS.
 +
SDS | Ceph - настройка и тюнинг.
 +
Кластерное ПО | Consul, etcd, Patroni, Stolon, Percona cluster.
 +
Деплой | 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 везде — на всех ПК, ноутбуках и своих/чужих серверах). docker [swarm], ansible, vagrant, ceph, spark, consul, etcd, patroni, stolon, nginx, apache, memcached, redis, mapnik (openstreetmap), sphinx, lucene, openesb, jetty, keycloak (хотя лучше бы его не знать) и так далее… ещё интересуюсь радиоуправляемыми моделями, микроконтроллерами (AVR), 3D-печатью…
 
 
</tab>
 
</tab>
  
 
== Опыт работы ==
 
== Опыт работы ==
  
Помимо основного опыта работы, имею множество законченных веб-проектов — например, http://redmediatv.ru/ и http://russtroy.ru/.
+
Помимо основного опыта работы, имею множество законченных веб-проектов — например, http://redmediatv.ru/ (2012), http://russtroy.ru/ (2013), http://citymaker.ru/ (2015), https://nebo.online/ (2018).
 
<html><style>.top_align td { vertical-align: top; }</style></html>
 
<html><style>.top_align td { vertical-align: top; }</style></html>
  
Строка 26: Строка 29:
 
| CUSTIS
 
| CUSTIS
 
| Ведущий программист-разработчик
 
| Ведущий программист-разработчик
| 2015-н.в: проектирование и разработка SaaS для управления финансами корпораций/холдингов. Технологии: ExtJS, PHP, Node.JS, Java EE, MySQL, PostgreSQL.
+
| 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—2014: участие в разработке оболочки для интерактивных терминалов в розничных магазинах клиента. Технологии: PHP, PostgreSQL, Memcached, Redis, ExtJS, взаимодействие с Oracle БД. В настоящее время проект внедрён, используется, находится в стадии сопровождения и редких доработок/оптимизаций.
Строка 32: Строка 39:
 
2012: построение эффективного процесса доработки достаточно нагруженного (6 серверов по 24 ядра) сайта клиента, написанного с использованием одной небезызвестной CMS, в составе большой смешанной команды. Технологии: PHP, MySQL, в дальнейшем — memcache, MongoDB.
 
2012: построение эффективного процесса доработки достаточно нагруженного (6 серверов по 24 ядра) сайта клиента, написанного с использованием одной небезызвестной CMS, в составе большой смешанной команды. Технологии: PHP, MySQL, в дальнейшем — memcache, MongoDB.
  
2008-н.в.: руководство разработкой и администрированием веб-систем для внутреннего использования на языках PHP, Perl, Python и СУБД MySQL и PostgreSQL (например, доработанных MediaWiki, Bugzilla, ViewVC, GitBlit, FeedOnFeeds). Возглавлял команду из 3-х человек (включая меня), применял Agile/SCRUM методологию разработки. Результатом работы являются открытые проекты MediaWiki4Intranet и Bugzilla4Intranet.
+
2008-2012: руководство разработкой и администрированием веб-систем для внутреннего использования на языках PHP, Perl, Python и СУБД MySQL и PostgreSQL (например, доработанных MediaWiki, Bugzilla, ViewVC, GitBlit, FeedOnFeeds). Результатом работы являются открытые проекты MediaWiki4Intranet и Bugzilla4Intranet.
 
+
Постоянно: активное взаимодействие с внутренними и внешними заказчиками, проведение собеседований сотрудников, проведение code review, участие в администрировании серверов, продвижение в массы DVCS (к 2017 году, кажется, наконец продвинулись :D), проведение исследований новых для компании технологий (ESB, DVCS, движков полнотекстового поиска, NodeJS, Docker, Ansible, распределённой ФС Ceph, Spark), участие в прочих предпроектных работах (витрины данных, интеграционные проекты, мобильные приложения). Также с 2017 участие в деятельности «дирекции архитектуры» компании.
+
 
|-
 
|-
 
| 2006/10 || 2008/10 || АГАВА || Perl-разработчик || Участие в разработке (ныне почившего) сайта объявлений vsem.ru (Perl, TT, POE, SPOPS, FreeBSD, «сверхнадёжный кластер» на основе MySQL 3 и прочий олдскул… Ваня Серёжкин… :))).
 
| 2006/10 || 2008/10 || АГАВА || Perl-разработчик || Участие в разработке (ныне почившего) сайта объявлений vsem.ru (Perl, TT, POE, SPOPS, FreeBSD, «сверхнадёжный кластер» на основе MySQL 3 и прочий олдскул… Ваня Серёжкин… :))).
Строка 59: Строка 64:
 
* [http://wiki.4intra.net/MediaWiki4Intranet MediaWiki4Intranet] — сборка MediaWiki «для корпоративного использования» (~50 патчей, ~100 расширений, из них ~45 создано с нуля и ~15 серьёзно доработано). Сборка практически идеальна в качестве базы знаний и успешно используется в компании для множества различных целей, от ведения документации до общения в «вики-форуме».
 
* [http://wiki.4intra.net/MediaWiki4Intranet MediaWiki4Intranet] — сборка MediaWiki «для корпоративного использования» (~50 патчей, ~100 расширений, из них ~45 создано с нуля и ~15 серьёзно доработано). Сборка практически идеальна в качестве базы знаний и успешно используется в компании для множества различных целей, от ведения документации до общения в «вики-форуме».
 
* Bugzilla4Intranet — «форк» баг-трекера Bugzilla, также нацеленный на корпоративное использование, глубоко переработанный и с большим количеством новых возможностей. Оба проекта опубликованы на GitHub.
 
* Bugzilla4Intranet — «форк» баг-трекера Bugzilla, также нацеленный на корпоративное использование, глубоко переработанный и с большим количеством новых возможностей. Оба проекта опубликованы на GitHub.
* Докладывал на разных конференциях — Highload-2009, SECR-2009, РИТ-2010, ADD-2010, ADD-2011, DevConf-2011, WhaleRider-2011, SQADays-2011. Кое-где блицы, кое-где — полноразмерные доклады; проводил в компании внутренние «семинары» и «семинары» для студентов/молодых специалистов (которые на самом деле не семинары, а скорее тоже доклады/лекции). В том числе были доклады на тему свободных лицензий, в связи с чем несколько разбираюсь в их нюансах.
+
* Докладывал на некоторых конференциях — Highload-2009, SECR-2009, РИТ-2010, ADD-2010, ADD-2011, DevConf-2011, WhaleRider-2011, SQADays-2011. Кое-где блицы, кое-где — полноразмерные доклады; проводил в компании внутренние «семинары» и «семинары» для студентов/молодых специалистов (которые на самом деле не семинары, а скорее тоже доклады/лекции). В том числе были доклады на тему свободных лицензий, в связи с чем несколько разбираюсь в их нюансах.
 
* Выступал экспертом от компании для различных печатных изданий, например, http://www.itsec.ru/imag/insec-6-2014/34/
 
* Выступал экспертом от компании для различных печатных изданий, например, http://www.itsec.ru/imag/insec-6-2014/34/
 
* Чувство юмора на месте :)
 
* Чувство юмора на месте :)
 
* Отменил второй тур олимпиады ЯндексRoot 2013, найдя у них дыру в безопасности :-D
 
* Отменил второй тур олимпиады ЯндексRoot 2013, найдя у них дыру в безопасности :-D
 
* Вейкборд, сноуборд, моделизм, (давно) параплан, ралли-спринты. По режиму СОВА.
 
* Вейкборд, сноуборд, моделизм, (давно) параплан, ралли-спринты. По режиму СОВА.

Версия 12:33, 5 июля 2019

ОС Linux, предпочитаю Debian/Ubuntu, некоторый опыт системной разработки. Винда, включая некоторый опыт разработки, но не уважаю.
Языки программирования Основные: PHP, JavaScript/ECMAScript, HTML/CSS — более 10 лет опыта, node.js > 6 лет. Также Perl > 7 лет, реже — Java, Python, C/C++, Go, и далее всё остальное вплоть до x86 и ARM ассемблера.
Базы данных Основные — MySQL, PostgreSQL (> 10 лет опыта) и простые NoSQL (Redis, memcached). Далее MongoDB, RocksDB, Oracle, SQLite, Sphinx, Elasticsearch и т.п.
Фронтенд HTML, CSS. Предпочтения — React или нативный JS (без фреймворков). Также Angular, ExtJS, jQuery и всевозможные шаблонизаторы. Пробовал React Native.
Системы контроля версий Git сильно лучше среднего. Куча прошлого опыта с Mercurial, Bazaar, Subversion, CVS.
SDS Ceph - настройка и тюнинг.
Кластерное ПО Consul, etcd, Patroni, Stolon, Percona cluster.
Деплой 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 (хотя лучше бы его не знать).
Языки Русский (родной), английский (могу проходить интервью).

Опыт работы

Помимо основного опыта работы, имею множество законченных веб-проектов — например, http://redmediatv.ru/ (2012), http://russtroy.ru/ (2013), http://citymaker.ru/ (2015), https://nebo.online/ (2018).

С До Название компании Должность Обязанности
2008/10 н.в. 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 Московский Государственный Университет им. М. В. Ломоносова ВМиК, аспирант, специальность «Дискретная математика, математическая кибернетика», кафедра ММП

Заметки

  • Считаю, что конечная цель разработки — максимальная простота системы при заданном наборе фич и требований. Иными словами, «идеал достигается не тогда, когда больше нечего добавить, а тогда, когда уже нечего отнять», и отсюда следуют все остальные предпочтения :) от предпочтения легковесных библиотек и минимума фреймворков до банальной обязательности отсутствия дублирования кода (DRY!!!)
  • Хорошо разбираюсь в разном GNU/Linux’овом ПО. Не боюсь читать и править код практически любых видов программ, вплоть до ядра :-) были бы открыты исходники. Очень хорошо отношусь к свободному ПО, и не очень хорошо к закрытому и платному. Постоянно отправляю багрепорты, иногда с патчами, в открытые проекты (User:VitaliyFilippov/Bugs), общаюсь в списках рассылок (разумеется, англоязычных) и сам принимаю багрепорты от других.
  • К IDE для динамических языков типа PHP/Perl/Python отношусь скептически, для разработки обычно использую Midnight Commander в консоли, и чувствую себя в нём вполне уютно.
  • Также несколько скептически отношусь к фреймворкам для PHP (но, пожалуй, не для Python’а). Во многих случаях без их использования результат создаётся быстрее, и получается производительнее и качественнее.
  • MediaWiki4Intranet — сборка MediaWiki «для корпоративного использования» (~50 патчей, ~100 расширений, из них ~45 создано с нуля и ~15 серьёзно доработано). Сборка практически идеальна в качестве базы знаний и успешно используется в компании для множества различных целей, от ведения документации до общения в «вики-форуме».
  • Bugzilla4Intranet — «форк» баг-трекера Bugzilla, также нацеленный на корпоративное использование, глубоко переработанный и с большим количеством новых возможностей. Оба проекта опубликованы на GitHub.
  • Докладывал на некоторых конференциях — Highload-2009, SECR-2009, РИТ-2010, ADD-2010, ADD-2011, DevConf-2011, WhaleRider-2011, SQADays-2011. Кое-где блицы, кое-где — полноразмерные доклады; проводил в компании внутренние «семинары» и «семинары» для студентов/молодых специалистов (которые на самом деле не семинары, а скорее тоже доклады/лекции). В том числе были доклады на тему свободных лицензий, в связи с чем несколько разбираюсь в их нюансах.
  • Выступал экспертом от компании для различных печатных изданий, например, http://www.itsec.ru/imag/insec-6-2014/34/
  • Чувство юмора на месте :)
  • Отменил второй тур олимпиады ЯндексRoot 2013, найдя у них дыру в безопасности :-D
  • Вейкборд, сноуборд, моделизм, (давно) параплан, ралли-спринты. По режиму СОВА.