Алексей Зыков

Разработчик C#, Java

Местоположение

Проживание: Россия, Новосибирск

Готовность к работе: готов к удаленной работе

Возраст и стаж

Стаж: 11 лет и 4 месяца

Возраст: 32 года

Контактная информация


Профессиональные навыки


Wpf • C# • Многопоточность • Java • Oracle • PostgreSQL • Junit • Jdbc • Solid

Опыт работы


Май 2019 —
По наст. время
(3 месяца)

Xored Software Inc.

Инженер-программист
Россия, Новосибирск

Применяемые навыки

Java
Январь 2017 —
Апрель 2019
(2 года и 4 месяца)

Центр Финансовых Технологий

Старший системный проектировщик
Россия, Новосибирск

Обязанности и достижения

В Управлении по развитию Платформы.

Работа на первой линии поддержки фокус-групп, участвующих в бета-тестировании CFT Platform IDE, работа с обратной связью (Confluence).

Обучаю пользователей из фокус-групп работе в CFT Platform IDE.

В своей работе применяю Java Multithreading/Concurrency API и Java Stream API.

Опыт работы с Lucene API, а именно создал сервис автообновления индекса для поиска по исходному коду объектов БД и индекса для отображения модели объектов БД. 

Опыт работы с Apache Commons SCXML (Finite State Machine Implementation).

Самая интересная запомнившаяся задача с БД Oracle, которой я занимался в этот период времени - в серверной части ТЯ реализовать возможность переноса LOB-данных из одного табличного пространства в другое. Это нужно было сделать быстро, чтобы ЦФТ смог выполнить свои обязательства перед Банком и Банк, в новогодние каникулы смог проапргрейдить свои хранилища данных.

+ Всё то, чем занимался ранее.

Применяемые навыки

Java, Jdbc, Junit, Oracle, Apache maven
Декабрь 2014 —
Декабрь 2016
(2 года и 1 месяц)

Центр Финансовых Технологий

Ведущий инженер-программист
Россия, Новосибирск

Обязанности и достижения

В Управлении по развитию Платформы.

Добавление поддержки Oracle Partitioning в серверной части ТЯ, а так же в АРМ-е Admin. К этому моменту у старушки-платформы уже существовал собственный механизм разделения (секционирования) таблиц – режим архивирования. Oracle Partitioning мы поддержали. В процессе разработки писались тесты на языке PL/SQL.

Начало работы над новым продуктом - CFT Platform IDE на основе Eclipse IDE:

  • Java, Eclipse Plugin Development.
  • JUnit & JUnit Plugin tests (Mockito + PowerMock). SWTBot tests.
  • Разработка грамматики языка PL+ на базе Xtext (Language Engineering), EMF (Eclipse Modeling Framework). Поддержка Code Assist, линкинга и гиперлинкинга в коде, проверки кода «на лету», рефакторинг кода и др.
  • Использование Java Persistence API и JDBC.

Исходный код прикладных объектов должен стать первичным (язык PL+), чтобы его можно было хранить в репозиториях систем контроля версий (Git, Subversion) вместо того, чтобы хранить и поставлять данные прикладных объектов в табличном формате в виде хранилищ MDB (Pick).

  • Участие в кросс-командных Code Review.
  • Прокачка собственных Soft Skills.  Активная работа с Томской командой разработки.
  • Планирование и выполнение работ по решению технического долга (боевой код и тесты) - Code Guard / Archi.
  • Всё то, чем занимался ранее.

Применяемые навыки

Java, Jdbc, Junit, Eclipse, Java persistence api
Сентябрь 2012 —
Декабрь 2014
(2 года и 4 месяца)

Центр Финансовых Технологий

Старший инженер-программист
Россия, Новосибирск

Обязанности и достижения

В Управлении по развитию Платформы.

Исправление ошибок и улучшение в административных АРМах:

  • «Администратор доступа» (UAdmin)
  • «Администратор проекта» (Pick)
  • «Администратор словаря данных» (Admin)
  • «Администратор дистрибутива» (PjAdmin)

Разработка серверной части технологического ядра (ТЯ): Oracle PL/SQL.

Автоматизация тестирования при помощи TestComplete.

Поддержка сборочной машины MS Build, Bamboo.

Работа на второй линии поддержки, общение с сотрудниками сопровождения Банков.

Плотно занимался проектом по обновлению АРМа «Администратор доступа» (UAdmin): работа была направлена на то, чтобы дать legacy-коду спокойно «умереть». Это приложение, написанное с помощью языка Visual Basic 6, обслуживающее подсистему доступа серверной части Технологического Ядра (ТЯ) на схемах БД Oracle. Оно позволяет управлять субъектами доступа – группами и пользователями, а также пользовательскими правами доступа к прикладным объектам системы (экземплярам ТБП, операциям, представлениям на схеме БД Oracle). Именно с этим АРМ-ом были выявлены неудобства пользовательского интерфейса и большое количество дефектов, зарегистрированных Банками (в т.ч. в серверной части ТЯ). Отсутствие регрессионных тестов огорчало, как и в принципе отсутствие каких-либо тестов (с VB6 это было проблематично). Перед нами поставили задачу по переписыванию кода с использованием языка C# и технологии WPF.  Считаю, что нам удалось достигнуть цели: большая часть приложения была переделана на WPF – это та, которая пользовалась большей популярностью и та, по которой были заявлены дефекты. Другая часть осталась на языке VB6 – непопулярные окна приложения и общий код, который использовался в других АРМ-ах компании. Банки получили:
• Улучшенный пользовательский интерфейс: всевозможные поиски и фильтры, древовидное отображение данных там, где его хотелось видеть, упрощенную работу с несколькими субъектами и объектами в подсистеме доступа.
• Отзывчивый пользовательский интерфейс благодаря асинхронному исполнению кода приложения.
• Большое число исправленных дефектов.
Мы получили:
• Меньше дефектов, регистрируемых Банками в будущем, благодаря тестируемому коду. А код мы разрабатывали с помощью Unit-тестов по технике TDD и руководствовались принципами проектирования S.O.L.I.D. Так же, в зоне моей ответственности оказалась разработка UI-тестов TestComplete, начало которым положили наши инженеры-тестировщики.
• Налаженный процесс автоматизированной сборки, тестирования, выпуска очередной версии продукта и документации благодаря интеграции с Bamboo. Потом автоматизированное тестирование и выпуск распространили на Pick (перенос субъектов и объектов на схему БД из хранилищ, сохранение субъектов и объектов в хранилище со схемы БД (ЦФТ-Банк и др. продукты)), т.к. дефекты по нему заявлялись регулярно, а со временем сделали доступным автоматизированную сборку и выпуск других АРМ-ов.

Применяемые навыки

C#, Wpf, Oracle plsql, Многопоточность, Solid, Разработка через тестирование
Октябрь 2008 —
Июль 2012
(3 года и 10 месяцев)

Универсальные терминал системы

Ведущий разработчик .NET / Teamlead
Россия, Томск

Обязанности и достижения

Начинали в бизнес-инкубаторе ТУСУР "Дружба" и через некоторое время продолжили существование как самостоятельная компания.

Разработка приложений для сенсорных информационных киосков:

  1. Настраиваемая модульная платформа со специализированным редактором - основные продукты компании.
  2. Интернет-браузер с виртуальной клавиатурой.

Планирование проектов. Парная разработка. Интервью кандидатов. Наставничество.

Некоторые интересные проекты, которые удалось реализовать:

  1. Программный комплекс записи пациента на прием к врачу для НПО «Вирион». Интеграция с 1С.
  2. Программный комплекс для Томского МФЦ. Взаимодействие с реестром государственных услуг.
  3. Информационная система просмотра уплат и задолженностей по водосчётчикам для биллингово-регистрационного центра г. Стрежевой.

Работа с менеджерами проектов и коллегами из отдела продаж. Участие в разработке технических заданий.

Участие в сборке сенсорных киосков в производственном цеху. Доставка и установка сенсорных киосков по городу, а так же в города: Ленинск-Кузнецкий, Прокопьевск.

Применяемые навыки

C#, Wpf, Многопоточность, Проектирование баз данных, Windows forms, Разработка под 1с, Transact-sql, WCF, Xslt, PostgreSQL
Июнь 2008 —
Сентябрь 2008
(4 месяца)

Monsoon Multimedia

Программист-стажёр (C/C++)
Россия, Томск

Обязанности и достижения

Добавление функциональности к DirectShow-фильтру: поддержка RTSP-over-HTTP (HTTP-tunnel).

Применяемые навыки

Сокеты, C++
Март 2008 —
Июнь 2008
(4 месяца)

Elecard

Программист-стажёр (Java, C)
Россия, Томск

Обязанности и достижения

Подразделение IPTV в ELECARD DEVICES.
Дипломный проект. Разработка программного комплекса для определения характеристик качества передачи медиа-данных (MPEG-2 Transport Stream) в IP-сетях. Стек технологий: Java, SWING, C/C++ DLL, WinSock. Было разработано приложение, вещающее в сеть видео, а так же приложение, которое по сети принимало видео и определяло качество сети через такие характеристики как: количество принятых/потерянных пакетов, задержки передачи пакетов, джиттер пакетов т др... Успешно защитил дипломный проект.

Применяемые навыки

Java, Сокеты, C

Высшее образование


Сентябрь 2003 —
Сентябрь 2008

Томский государственный университет систем управления и радиоэлектроники

Электронной техники; ФЭТ
Россия, Томск

Специализация и достижения

Информационные Технологии в Электронике


О себе


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

Имею опыт работы Team Lead'ом.

Начинал программировать ещё в школе, купив зелёный учебник Немнюгина "Turbo Pascal".