Андрей Нехайчик
Разработчик, архитектор, тим-лидер
- Образование: высшее, МГВРК (2004), программист, преподаватель информатики.
- Опыт работы: 20+ лет (с апреля 2002).
- Возраст: 38 лет.
Специализация
- Проектирование и поддержка веб-приложений (Python, Vanilla JS).
- Проектирование и внедрение архитектурных улучшений.
- Исполнение роли тим-лида: управление проектами, командой, процессами.
- Полный список технологий, которыми я владею.↓
Предпочитаемые технологии
- Python
- Go
- Rust
Симпатизирую
- Swift
- Kotlin
- Assembler
Типичное рабочее окружение
- Gentoo linux
- VS Code (недолюбливаю pyCharm, он отупляет)
- много вкладок терминалов в yakuake
Могу
- Руководить командой разработчиков, повышать их навыки.
- Спроектировать архитектуру веб-приложения с учётом высокой нагрузки.
- Оптимизировать существующий проект.
- Общаться с англоязычными заказчиками.
- Организовать производственный процесс.
- Организовать интеграционный процесс.
Сертификаты
Сертификат об успешном завершении курса upper-intermediate English
в Центре обучающих технологий
в Центре обучающих технологий
Второе место в олимпиаде по программированию среди студентов колледжа, 2003 г.
Опыт
Отдел разработки PC/Console игр в Vizor Games, Минск
Период: с май 2018 по настоящее время.
Обязанности:
- python-архитектор, подбор технологического стека, учитывающего как требования по нагрузке так и лёгкость расширения команды.
- python-разработчик, неформальный тим-лид части проектов.
- go-разработчик, микросервисы, проектирование подходов к тестированию и накатыванию обновлений.
- C++ разработчик, плагины к Unreal Engine 4.
- DevOps поддержка командных проектов, написание .yaml, деплой релизов, и пр. мелочёвка.
Дополнительно:
- Трекинг эффективности рекламных кампаний: google, facebook, yandex, mail.ru, matomo.
- Формирование образцов отчётов по рекламным кампаниям: grafana.
- Взаимодействие с персональными данными: mailchimp.
Технологии: python, go, C++, wagtail, django, flask, postgresql, rq, kafka, k8s
Школа данных «Билайна», удалённо
Период: с сентября 2017 по декабрь 2017.
Цель: повышение квалификации. Студент.
Дипломный проект:
- Анализ качества работы операторов при транскрибировании аудиофайлов по поведенческим шаблонам.
Результаты:
Precision: ~70%.
Recall: ~7%.
По запросу высылается видеопрезентация работы и PDF с jupyter тетрадкой.
Wargaming, Минск
Период: с июля 2013 по март 2017.
Обязанности:
- Разработка на python.
- Проектирование архитектуры.
- Аудит безопасности и производительности.
- Помощь в найме сотрудников.
Крупные проекты:
- Глобальная карта.
О проекте: дополнительная походовая игра для танковых кланов. Цель - захват территорий и господство.
Команда: 20 разработчиков, 10 QA инженеров, 3 менеджера, отдел гейм-дизайна и пр.
Технологии: Django, falcon, PostgreSQL, RedisDB, memcached, QGIS, openstreetmap.
Позиции: python-разработчик, проектировщик архитектурных улучшений, GIS специалист.
Oxagile, Минск
Период: с сентября 2005 по июнь 2013 (более 7 лет).
Обязанности:
- Руководство php-командой.
- Проектирование архитектуры.
- Аудит безопасности и производительности.
- Администрирование linux-серверов (Gentoo, Debian).
- Анализ требований, составление предложений.
- Анализ рынка.
- Повышение квалификации сотрудников.
Достижения:
- Организовал производственный процесс в нескольких крупных проектах.
- Выучил английский язык.
- 2011: Подготовка к сертификации 2-х php-разработчиков.
- 2008: Подготовка к сертификации 7-и php-разработчиков.
- 2008: Провёл около 20 семинарских занятий↓ по различным темам.
Крупные проекты:
- 2010 - 2013: Telecom Argentina.
Цель проекта - предоставлять доступ к лицензионному контенту HD-качества посредством STB или браузера с SilverLight-плеером.
Команда: 10 разработчиков, 2 QA инженера, 3 менеджера, 2 оператора и IT-команда на стороне клиента.
Технологии: ZF, CouchDB, Solr, memcached, varnish, MySQL, PostgreSQL, IIS, PlayReady, Silverlight.
Позиции: 2010 разработчик, 2010 - 2011 руководитель команды, 2012 - 2013 служба поддержки. - 2005 - 2009: JumpTV.
Цель проекта - предоставлять доступ к телеканалам посредством браузера. Также поддерживался доступ к записанному контенту и к спортивным событиям.
Команда: 6 разработчиков, 4 QA инженера, 3 инженера поддержки, 5 инженеров CDN, 5 менеджеров.
Технологии: Drupal, PostgreSQL, memcached, WMS, WMP, DRM, PayPal.
Позиция: Руководитель команды, архитектор.
In-Cubus, Минск
Период: с апреля 2004 по август 2005.
Обязанности:
- Проджект менеджер, разработчик.
Проект
- On.by.
Цель проекта предоставлять доступ к мобильному контенту (логотипы, мелодии) посредством SMS и WAP.
Команда: 2 разработчика, 1 PM, 1 музыкант, 1 дизайнер, 1 маркетолог.
Технологии: PHP4, MySQL, Java, PostNuke.
Публикации
Хабр:- 2018: Если вы подумываете начать писать на Go, то вот что вам следует знать
- 2017: Как мы ловим Deadlock`и на PostgreSQL и чиним их
- 2015: Если вы решили перейти с PHP на Python, то к чему следует подготовиться
- 2013: Стоит ли ставить Gentoo ради ускорения?
- 2013: Развенчание мифов об x32 ABI
- 2012: Сколько памяти потребляют объекты в PHP и стоит ли использовать 64-битную версию?
- 2012: Архитектурный изьян CouchDB
- 2012: PHP 6 не будет, не осилили
- 2010: Как я угробил SSD за два месяца
- 2009: Делаем скриншоты сайтов
- 2009: Умные сессии
- 2008: Функция echo в PHP может выполняться более 1 секунды
Авторские работы
- Курс подготовки к сертификации по PHP 5.3, 5 занятий, включая тестирование.
- Курс SQL для начинающих, 3 занятия. Включает полный разбор SELECT и всех его частей, INSERT, UPDATE, DELETE.
Вклады в OpenSource
Проект | Описание вклада | Где |
---|---|---|
wagtail | Пул реквест с фиксом бага в модуле перевода страниц. | Python-код |
memcached | Пул реквест с дополнениями и исправлениями для memcached-tool. Патч принят в 1.4.17. | Perl-код |
Apache CouchDB | Документация об очистке документов (удалено). | Wiki |
Apache Solr | Статья о настройке Solr для Jetty. | Wiki |
smartmontools | Патч и статья в вики. | C-код, Wiki |
TortoiseSVN | Решение проблем с Samba. Тесты и инструкция как использовать под linux в Wine. | Forum, AppDB WineHQ |
Приложение 1. Список технологий
Технология | Опыт |
---|---|
Языки программирования | |
Python
Django, Wagtail, falcon, flask, rq, pytest, nose
|
9 лет |
C++
Плагины к Unreal Engine 4
|
1 год |
PHP
Zend framework, CakePHP
|
с 2002 по 2013 г. |
JavaScript
jQuery, Vanilla JS
|
20+ лет |
Базы данных, поиск | |
Реляционные
PostGreSQL, pg/plSQL, MySQL
|
20+ лет |
Документо-ориентированные
CouchDB
|
3 года |
Поисково-ориентированные
Solr
|
3 года |
Типа ключ-значение
Redis, memcached
|
10+ лет |
Вёрстка | |
HTML
HTML5: Audio, Video, Canvas, WebGL
|
с 2000 по 2014 г. |
Технологии масштабирования | |
Amazon
S3, EC2, EBS, k8s
|
с 2010 по 2012 г. |
Балансировка нагрузки
Аппаратная, keepalived (4-й уровень), Reverse proxy (7-уровень)
|
с 2008 по 2013 г. |
Разгрузка back-end`а
memcached, replication, nginx cache, redis cache, varnish, кеш-секции
|
15+ лет |
Разгрузка front-end`а
S3, HTTP: ETag и Expiration date
|
15+ лет |
Интеграция | |
Настройка интеграции
k8s, docker, Jenkins, JIRA, Confluence, SubVersion, git
|
15+ лет |
ОС | |
Linux
Gentoo, Debian/Ubuntu, настройка продакшена, установка с нуля
|
15+ лет |
Дополнительные технологии, которые использовал | |
Языки: Assembler, GO language, C# для Unity
Технологии: PayPal, процессинг карт, SEO-оптимизация, интеграция с рекламными кабинетами, тестирование безопасности, тестирование производительности Графика: Unreal Engine 4, Unity, DirectX, WebGL |
Приложение 2. Описание проектов на github`е
Проект | Описание |
---|---|
golang-unittest
Go
|
Набор вспомогательный функций для тестирования Go-приложений. |
HRWiki
MediaWiki, PHP
|
HRWiki - база данных для ведения соискателей и их резюме, и другой связанной с этим информацией. Сделана без программирования, путём настройки SemanticWiki и множества других плагинов под задачу. |
Swiss system chess tournament
Python, Django
|
Пример реализации системы ведения шахматного турнира по швейцарской системе. |
RailsExample
Ruby on Rails
|
Пример реализации системы коллективного блога на Ruby on Rails. |
mod_redis_vhost
ANSI C
|
Модуль к серверу lighttpd, который позволяет определять конфигурацию виртуальных хостов в базе данных Redis. |
svnbackup & svnrestore
PHP
|
Утилита для резервного копирования и восстановления SubVersion репозиториев. |
pentris
Unity3D, C#
|
Реализация тетриса, состоящего из фигурок пентамино, на платформе Unity. |
canvas3D
HTML5 canvas, HTML5 WebGL, JavaScript
|
Реализация проигрывателя 3-х мерных моделей, хранящихся в файлах PLY, на canvas`е. Есть релизация для 2D и WebGL. |
memcached-itool
Python, PHP
|
Улучшенный аналог утилиты memcached-tool. |
ussd
PHP
|
Утилита, которая может посылать AT и USSD запросы, для некоторых 3G-модемов. |