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

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

Что умею

PHP

Многолетний опыт, ООП, MVC, MVVM и прочие крутые сокращения. Начинал чуть ли не во времена PHP4, успел поработать на почти всех версиях пятерки, сейчас пишу на 7.1.

  • composer, PSR — мы против велосипедов!
  • Smarty2/3 на завидном уровне, могу заставлять темплейты вытворять невероятные вещи
  • Doctrine 1 — знаю изнутри, писал свои расширения к ней
  • Работал с кучей разных CMS и “движков”
  • Работа с процессами: параллелизм, демонизация, воркеры, и т.п.
  • Разработка cli-штук с приблудами типа диалогов, интерактивных консолей и прочих плюшек
  • Менеджеры очередей (gearman, rabbitmq)
  • Шифрование: поработал с RSA на PHP, ruby, C# (NET CF 2.0!!!), Java (Android), ObjC (iOS)
  • Работа с изображениями. Кроме типичных задачек — генерация всяких баркодов там, итд.
  • Юнит и акцептанс тесты (PHPUnit, Codeception, Webdriver)
  • Аннотации, reflection
  • Обработка ошибок — кастомные обработчики, логгирование, в том числе во всякие грейлоги и прочие чудеса техники
  • Отладка через xdebug
  • Сборка PHP и расширений с ключами и зависимостями

Фронтэнд

  • Кроссбраузерная HTML-вёрстка. Не входит в число моих любимых занятий, но я с этого начинал и до сих пор могу что-то сверстать.
  • Сложный javascript
    • Фреймворки “старой школы” – jquery, mootools (ха-ха-ха, помните такой? я хотел бы забыть)
    • TypeScript — очень, очень люблю TypeScript
    • javascript-шаблонизаторы (mustache, handlebars)
    • 3rd-party скрипты (сложные приложения-виджеты). Мои виджеты умеют выживать в самых тяжелых условиях, когда на сайте разом jQuery и mootools.
    • кроссдоменная коммуникация, not-so-easyXDM. Всмысле, могу послать кросдоменный POST с телом из старых браузеров при необходимости
  • gulp, причём не просто на уровне собрал плагинов в пайп, а углубленно

И многое другое

  • Mysql, percona — сложные запросы, оптимизация, махинации с большими данными
  • mongo, redis, модными стораджами нас не удивить
  • немного SOLR
  • Docker
    • Написание и наследование докерфайлов. По-нормальному, с “чистыми” шагами
    • Один сервис — один контейнер. Dockerfile на два экрана с PHP, nginx и прочей чепухой — это херня, а не контейнер.
    • docker-compose — написание, оверрайды, сложные переплетения зависимостей, volumes и их кеширование, права доступа
    • docker-cloudstackfile, ограничения, создание образов и стэков, настройка всего этого в Amazon
  • *nix
    • В основном OS X и Debian, но и в RHEL/CentOS и BSD я не растеряюсь
    • пакетные менеджеры, LAMP/LEMP, борьба с депенденси хеллом, селинукс…
    • сборка ОО-софта по кусочкам
    • postfix
    • скрипты, ну и по мелочам
  • Английский язык, свободно
  • Регулярные выражения на уровне более 9000. Решил вот этот кроссворд, например.
  • Работаю в этой области примерно с 2007ого.
  • Диплом программного инженера НИУ ВШЭ — а там были алгоритмы, структуры данных и прочий матан
  • ruby
    • capistrano — чтобы деплоить Капой не рельсы, нужно довольно много знать об этом инфернальном поделии
    • jekyll
    • RoR не знаю и не умею
  • ci — умею настраивать билды и прочую дребедень в TeamCity
  • Разбор инцидентов, отладка, расследование — вооружившись логами и логикой могу найти источник проблемы и решить её
  • Импорт и экспорт, трансформация данных, миграции и прочие процессы по сращиванию живых систем и впихиванию невпихуемого

Знаю и умею ещё кучу всего, включая всевозможные C#, Groovy, QML, Java, ObjC, общее эникейство.

Работа в команде

Гит, ветки, пулл-реквесты, QA-процесс, код ревью — всё это мне уже как родное. Имеются также управленческие навыки, аля планирование, распределение задач и прочее-прочее

Портфолио

Я пророс 10 лет своей жизни (late 2011 — early 2022) в timepad.ru, от разраба до CTO. Сейчас я работаю в другой классной компании, но в какой — пока не скажу. Кроме того я малость активничал на github, сделав небольшой вклад в Codeception и выложив несколько своих странных разработок.

До этого я клепал сайты в студиях и фрилансом. С годами они (и сайты, и студии) пропадали по одному, и сейчас мне уже нечего показать.