Обо мне

Разработчик. Прошёл путь от html-верстальщика до руководителя веб-разработки, в подчинении которого было до 15 человек. В настоящий момент переключился на новый для себя стек и пишу микросервисы на Go.

Языки программирования:

  1. Go - на сегодня это мой основной инструмент. Пишу на нём сервисы с небольшим количество бизнес-логики; распределённые сетевые сервисы и небольшие консольные утилиты. Основной инструментарий в стеке: Docker, Kubernetes.
  2. Python - использую его для написания "рутинных" скриптов для автоматизации различных проверок и деплоя. Основной инструментарий в стеке: Fabric, Ansible, Flask и Click.
  3. PHP - пишу на нём большие приложения со сложной бизнес-логикой. В качестве компромисса взял за правило не поддерживать проекты, где ориентируются на старые версии интерпретатора [< 7.0]. Основной инструментарий в стеке: Symfony, Laravel, Doctrine.

Визитка: http://kamil.samigullin.info

Блог: http://howilive.ru

Путевые заметки: http://getlocation.net

Профессиональные навыки
Участие в профессиональных сообществах
Опыт работы
Июль 2016 — по настоящее время (1 год и 1 месяц)
Senior Go Developer
Москва
Обязанности и достижения
Занимаюсь разработкой микросервисов на Go. Презентации по работе: - OctoLab Cookbook: Go lang tips and tricks - protection of sensitive config data https://www.slideshare.net/ssuserb6ada9/octolab-cookbook-go-lang-tips-and-tricks-protection-of-sensitive-config-data Опубликовал в открытый доступ несколько написанных мною библиотек: - https://github.com/kamilsk/retry - https://github.com/kamilsk/semaphore - https://github.com/kamilsk/egg И инструментов: - https://hub.docker.com/r/kamilsk/go-tools/ - https://hub.docker.com/r/kamilsk/hugo/ Достижения: - библиотеки retry и semaphore попали в список "Awesome Go" https://github.com/avelino/awesome-go - получил повышение по зарплате после 9 месяцев работы
Август 2015 — Март 2016 (7 месяцев)
Head of Web Development
Москва
Обязанности и достижения
Руководил небольшой группой разработчиков и тестировщиков до 15 человек. Вместе мы занимались поддержкой интернет-магазина enter.ru, чей технологический стек превышал физические возможности команды. В качестве руководителя мне удалось добиться следующих поставленных перед собой задач: - сократить время между релизами с двух недель до двух дней - автоматизировать процесс * подготовки тестового окружения * формирования подробного плана по тестированию для тестировщиков * сборки релизов и уведомления о готовности к публикации в production - упростить деплой в production (Jenkins -> артефакты -> SaltStack -> minions) - analytics first! * создал систему для централизованного сбора и обработки событий в системе (добавление товаров в избранное, корзину; посещение категорий товаров, etc) * аналитика по онлайн-платежам, возвратам, доступности товаров - интегрировать партнёров * Яндекс.Касса * DPD, Pony Express Презентации по работе: - Enter Cookbook: refactoring under a microscope http://kamil.samigullin.info/presentations/refactoring-under-a-microscope Опубликовал в открытый доступ несколько написанных мною библиотек: - https://github.com/kamilsk/Common - https://github.com/kamilsk/Kilex - https://github.com/kamilsk/CilexServiceProviders - https://github.com/kamilsk/SilexServiceProviders - https://github.com/octolab/pmc - https://github.com/octolab/Cleaner
Июль 2015 — Август 2015 (1 месяц)
ООО "Октонус Техно"
Ведущий программист
Москва
Обязанности и достижения
Занимаюсь проектом http://cutwise.com. Текущий стек: - vcs (git) - deploy (capistrano, capifony) - php (symfony2) - data (postgresql) - amqp (rabbitmq) - server (nginx, centos) - pm (jira, confluence) - methodology (scrum, kanban) - communication (skype) Выбранный мною стек для внедрения: - ci (bamboo) - deploy (fabric, fabricant) - data (+elasticsearch) - communication (slack) - monitoring (datadog) - analytics (ELK) Внедрено мною: - devops (saltstack) - environment (packer, vagrant, virtualbox)
Ноябрь 2013 — Май 2015 (1 год и 6 месяцев)
Ведущий программист PHP
Москва
Обязанности и достижения
Presentations about my work: - code style http://kamil.samigullin.info/presentations/code-style - legacy code http://kamil.samigullin.info/presentations/legacy-code ~~~ Under reworking Являюсь ведущим разработчиком crm (symfony2) и core (zend 1), осуществляю проектирование и реализацию интеграционных решений. Участвую в проекте esb (servicemix). Программирую на php, java и javascript (12:7:1). Инструментарий: - vcs (git); - ci (jenkins); - deploy (capistrano, fabric); - php (zend 1, symfony 2, silex, composer); - java (servicemix, maven); - python (fabric, pip); - data (percona, postgresql, mssql, sphinx); - javascript (backbone, bower); - amqp (rabbitmq, activemq); - server (nginx); - pm (jira, confluence); - methodology (scrum). Задачи: - проектирование и реализация интеграционной цепочки для акции Enter Prize (http://www.enter.ru/enterprize); - рефакторинг работы с платежными системами - проектирование и внедрение интеграционной цепочки по возврату онлайн платежей и оплаты бонусами программ лояльности (Связной-Клуб, etc.). Достижения: - внедрение user guide в процесс работы и выработка единого подхода к собеседованию кандидатов на должность веб-программиста http://kamil.samigullin.info/github/Interview - оперативно изучил новый для себя язык (java + camel dsl) для решения поставленных задач на servicemix - взял на себя ответственность за внедрения fabric, для чего познакомился с замечательным языком python http://www.enter.ru для программиста - это распределенное на сервисы веб-приложение (soa), состоящее из front (сайт, терминалы, мобильные приложения), back (core, cms, crm), erp (1c) и service bus (servicemix). Более подробно, но уже не совсем актуально, здесь http://kamil.samigullin.info/enter/elephantum. Ряд привнесенных улучшений в команду: Устаканил git workflow, перевел работу с репозиторием на форки (подробности тут http://kamil.samigullin.info/enter/git-workflow). Перевел команду на единый стандарт написания кода (подробности тут http://kamil.samigullin.info/enter/code-style). Организовал поэтапный рефакторинг старого кода (подробности тут http://kamil.samigullin.info/enter/legacy-code). Автоматизировал процесс тестирования (подробности тут http://kamil.samigullin.info/enter/testing). Готовлю доклады: - Enter: code delivery, про то, как перешли от git pull к capistrano, а от capistrano к fabric и почему. - Enter: automation, про то, как автоматизировали рутину.
Апрель 2013 — Ноябрь 2013 (7 месяцев)
ООО "Лидс"
Веб-программист
Москва
Обязанности и достижения
В составе небольшой команды из трех человек занимался проектированием и разработкой веб-приложения, которое стало заменой используемого HasOffers (http://www.hasoffers.com). Определил каркас будущего приложения и осуществлял непосредственное написание требуемого функционала. Инструментарий: - vcs (git); - php (yii 1); - data (mariadb); - javascript (bootstrap); - server (nginx); - pm (redmine). Задачи: - разработка сложного грида для вывода табличных данных с кучей настраиваемых опций и фильтров; - разработка интерактивной карты конверсий/кликов по регионам. webmaster.leads.su для программиста - это монолитное веб-приложение, полностью написанное на фреймворке yii. Причина ухода: проект был успешно запущен.
Февраль 2010 — Ноябрь 2012 (2 года и 9 месяцев)
ООО "Опен колор"
Веб-программист
Москва
Обязанности и достижения
Занимался развитием небольшой веб-студии и созданием сайтов под ключ. Перевел разработку с Joomla и самописных движков на CodeIgniter на MODX. Внедрил систему контроля версий svn с последующим переходом на git. Причина ухода: конфликт интересов.
Сентябрь 2009 — Декабрь 2009 (3 месяца)
ООО "ИСБизнес"
Веб-мастер
Москва
Обязанности и достижения
В небольшой веб-студии занимался html-версткой и несложным кодингом на javascript. Причина ухода: плохие условия работы.
Высшее образование
Сентябрь 2007 — Июнь 2013
МГТУ им. Баумана
Робототехники и комплексной автоматизации; РК
Москва
Специализация и достижения
Подъемно-транспортные, строительные, дорожные машины и оборудование
Рекомендательные письма
babadzhanov
знакомый

Камиль , отличный самостоятельный, трудолюбивый разработчик, с первых дней начал работать в проекте так, будто давно уже в нем, хотя в Enter довольно много бизнес логики, бизнес требований. Сумел самостоятельно разобраться с проектом, взял на себя дополнительно работу с новыми технологиями. Показал отличный пример коллегам. В работе всегда выступает за результат. Рекомендую его как ответсвенного, самостоятельно профессионала нацеленого на результат.Эрик Бабаджанов | www.enter.ru | Начальник управления разработки г. Москва, ул. Орджоникидзе дом 11/10Моб.: +7 926 4295109

Письмо написано 05 марта 2014 в 09:06
antamanoff
Директор по развитию • знакомый

Камиль , на мой взгляд, грамотный специалист, что он доказал за тот период времени, который отвечал в нашей компании за разработку новой платформы для наших клиентов. Ответственный, последовательный, а самое главное открытый к диалогу сотрудник, готовый обсуждать не только техническую сторону вопроса, но и логическую. В своей работе он проявил заинтересованность в конечном продукте, а не просто в исполнении возложенных на него должностных обязанностей. Все это сочеталось с общей доброжелательностью и открытостью к коллегам, что в наше время для работников IT-сферы не является нормой. Полностью доволен его работой.Михаил Антаманов | LEADS.SU | Директор по развитиюг. Москва, ул. Болотниковская улица, дом 36 корпус 5, офис 1Тел.: +7 499 6410510, Моб.: +7 929 9679311ma@leads.su, www.leads.su

Письмо написано 11 ноября 2013 в 18:46