Разработка
Я — инженер по призванию и образованию. Могу строить сложные воздушные замки в голове. Могу очень быстро отлаживать, сужая область поиска для определения проблемы. Не привязываюсь к своему коду, стараюсь не иметь резких взглядов за или против каких-то технологий и подходов.
Могу делать сам, а могу создать отдел тех кто будет всё делать — поставить процесс разработки и тестирования ПО.
Что умею
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-cloud
—stackfile
, ограничения, создание образов и стэков, настройка всего этого в 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 и выложив несколько своих странных разработок.
До этого я клепал сайты в студиях и фрилансом. С годами они (и сайты, и студии) пропадали по одному, и сейчас мне уже нечего показать.