Обо мне

Резюме по специальности «программист Java/Scala/AngularJS»

Автор: Алексей Каторгин

E-mail: progmonster@gmail.com

Моб. телефон: +79085792691

Skype: aleksey_katorgin

Тип работы: удаленно на полный рабочий день

Форма сотрудничества: без оформления, с оформлением по ТК, работа через ИП — по желанию заказчика

  1. Основные профессиональные навыки

  1. Платформа Java (основной вид деятельности), около восьми лет работы:
  • разработка серверных приложений (многопоточность, понимание принципов модели памяти Java, асинхронная обработка вызовов, большой опыт работы с netty.io);
  • большой опыт работы со стандартными технологиями: JDBC, JPA, EJB3, JAXB, JAX-RS и т.д.;
  • разработка десктопных приложений (Swing, JavaFX);
  • некоторый опыт работы с OSGi, Eclipse RCP;
  • разработка Web-приложений (PlayFramework, Lift, Scalatra и др.);
  • большой опыт использование ORM (Hibernate, Apache Cayenne);
  • опыт работы с серверами IBM WAS, JBoss и др.;
  • опыт работы со стеком технологий spring.io;
  • Scala, Akka, spray.io (в процессе активного изучения).
  1. Разработка и реализация RESTfull-интефейсов.
  2. Очень хорошее знание AngularJS, JavaScript, Twitter Bootstrap — более года работы.
  3. Глубокое понимание паттернов ООП и принципов хорошего ООП-дизайна (SRP, OCP, принцип подстановки Лисков и т.д).
  4. Умение работать с унаследованным кодом, проводить глубокий рефакторинг, исправлять ошибки.
  5. Большой опыт разработки автоматизированных тестов с использованием JUnit, jMock и т.п.. Создание модульных и интеграционных тестов.
  6. Большой опыт работы с Apache Maven: создание с нуля больших многомодульных проектов с возможностью сборки в полноценные дистрибутивы.
  7. Многолетний опыт работы с JIRA, YouTrack, Subversion, Git, организация процесса непрерывной сборки.
  8. Хорошее знание SQL, в том числе умение делать сложные выборки.
  1. Дополнительные профессиональные навыки

  • знание и опыт работы с Python, C#, C/C++, Win32 API, Assembler x86;
  • уверенный пользователь Linux (ОС на рабочем компьютере — Elementary OS).
  1. Личные качества

  1. Довожу задачи до конца.
  2. Инициативен. В контексте работы это означает умение самостоятельно выяснять у заказчика детали задачи, задавать нужные вопросы и решать проблемы.
  1. Люблю изучать новое. Сейчас в планах изучение Scala, Akka.
  2. Люблю обучать людей программированию, то есть с удовольствием возьму в напарники юниора, если будет такая необходимость.
  3. Знаю английский на уровне pre-intermediate (среднее восприятие речи + чтение технической литературы на хорошем уровне без словаря).
  4. Самостоятельно обеспечиваю себя всем необходимым для работы (100 Мбит доступ в Интернет, купленная лицензия на IntelliJ IDEA, литература с Amazon-а, и т. д.).
  5. Грамотная и развитая русская речь, без проблем составлю хорошее ТЗ по наброскам от клиента.
  6. Большой опыт работы удаленно — более четырех лет. Работа с постоянными заказчиками от года и более. Большое количество успешно выполненных проектов.
  1. Последние выполненные проекты

  • Разработка портала для автоматизированного тестирования сотрудников корпораций. Разработка с нуля интерфейса с хорошим юзабилити (использовались Twitter Boostrap и AngularJS), разработка backend части (JBoss, EJB, JPA, Spring Data), модульное и интеграционное тестирование. Выступал в роли ведущего FullStack-разработчика. В обязанности также входило общение с заказчиком, плюс решение нетривиальных задач, например data mining. Полученный продукт успешно прошел испытание в АльфаБанке на более чем 30 тыс. сотрудников.
  • Интеграция сервисов к Интернет-банку «СбербанкОнлайн»: штрафы ГИБДД, платежи МТС, платежи Билайн. Решенные задачи: тщательный анализ и доработка ТЗ, взаимодействие с заказчиком, реализация проекта с нуля, интеграция с веб-сервисами, асинхронная обработка.
  • Интеграция сервисов к порталу госуслуг (СМЭВ). Решенные задачи: разработка работающего решения в условиях нечетко поставленной задачи и расхождения реальной ситуации со спецификацией.
  • Реализация ключевых программных компонент общероссийской бонусной программы Сбербанка «Спасибо». Решенные задачи: аналогично предыдущим проектам плюс создание масштабируемого решения, способного работать при больших нагрузках.
  • Интеграция с платежным сервисом Киберплат. Решенные задачи: разработка и последующая аккредитация программного комплекса на соответствие спецификации протокола взаимодействия с сервисом Киберплат.
  • Реализация программного комплекса рабочего места кассира (POS-система) для провайдера услуг связи в г. Екатеринбург. Решенные задачи: разработка и интеграция Java-приложения с драйверами для POS-терминала и контрольно-кассовой машины.
  • Поддержка и доработка сервера российской многопользовательской онлайн-игры. Решенные задачи: создание регрессионных автоматизированных тестов, глубокий рефакторинг кода, решение проблем с многопоточностью, разработка нового функционала.
  • Разработка веб-приложения B2B для уральской компании-дилера. Технологии: Twitter Bootstrap 3, AngularJS, CoffeeScript, Node.js, Express.js. Решенные задачи: импорт сложных многостраничных прайсов с категориями товаров, гибкая настраиваемая подсистема формирования отчетов в различных форматах (pdf, xls).
Профессиональные навыки