Майже 20 років досвіду в розробці програмного забезпечення для фінансових/страхових установ, роздрібної торгівлі та телекомунікацій.
З 2017 року очолюю свою власну компанію з розробки програмного забезпечення – DevAtlant.
Наше найбільше досягнення – створення та управління платформою електронної комерції для Leroy Merlin в Україні. 7 років. 5 інженерів.
Член CCIFU в Києві, Україна, та Anticipa у французькому телекомунікаційному капіталі, Ланьйон.
Проводжу практичні курси "Software Craftsmanship" для студентів Харківського національного економічного університету імені Семена Кузнеця.
Захоплююся каліграфією та веденням щоденників.
Деталі проекту :
Основні обов'язки:
• Передпродажі – збір бізнес-контексту, визначення меж, представлення різних рішень з їхньою вартістю, реалізація PoC, складання комерційних пропозицій, ведення переговорів.
• Визначення архітектури, запуск проектів, впровадження референтних модулів, підтримка проектної документації та стандартів кодування.
• Організація та управління процесом поставки програмного забезпечення з урахуванням пріоритетів усіх зацікавлених сторін.
• Створення персоналізованих інструментів моніторингу та спостереження на базі ELK для покращення управління інцидентами в production-середовищі.
• Рішення критичних проблем з продуктивністю під час пандемії COVID-19 шляхом оптимізації JVM, Spring, Apache та PostgreSQL.
Деталі проекту :
Проєкт - мультимедійна платформа SaaS
(онлайн відеострімінг і чати), команда backend-розробки - 5 осіб.
Архітектура була спроєктована з урахуванням вимог горизонтальної масштабованості. У продакшн-середовищі використовувалось понад 20 серверів із різнорідними технологіями та функціями. Нижче наведено список модулів/функцій, за які я відповідав:
Розробка модулів на Java SE для плагінів до WowzaStreamingEngine (RTMP-серверу), які забезпечують запис відео, створення знімків екрану (snapshot) та безпечний доступ до відеопотоків.
Розробка розширень для Tigase (XMPP-сервер): модуль автентифікації, сумісний із SASL (RFC 2222), антиспам-інтерсептор, асинхронний модуль для індексування повідомлень у ElasticSearch для моніторингу та пошуку майже в реальному часі.
Паралельний кластер Memcached для обробки зображень за менш ніж 20 мілісекунд (6 тисяч зображень на секунду). Кластер побудований за моделлю Producer/Consumer і включає такий ланцюг: Wowza → Memory pipe → Java → Memcached → Nginx.
Розробка та інтеграція платіжного модуля, сумісного з PCI-DSS (електронний гаманець).
Реалізація кластера для транскодування відео з використанням Spring Boot, Thrift та ffmpeg.
Відповідальність за індустріалізацію процесу розробки ПЗ (Git, Redmine, Jenkins, Sonar, Nexus тощо).
Участь у процесі найму співробітників та зовнішніх підрядників.
Надання технічної підтримки в управлінні різними проєктами.
Деталі проекту :
Участь у розробці та керівництві високотехнологічними проектами на базі технології Java/J2EE.
Відповідальний за технічну якість проектів. Розробка архітектури, вирішення важливих технічних проблем. Установлення та конфігурація інфраструктури проектів: SVN, builds, unit tests.
Участь у індустріалізації розробки ПО (постійна інтеграція, якість проектування/кода, метрики, software factory).
Проводження технічних співбесід.
Відповідальний за спілкування з замовником. Code revue. Технічний аудит Java/J2EE проектів (ISO-9126, Sonar, PMD, Cobertura, Metrics, SourceMonitor).
Деталі проекту : Участь у розробці корпоративної системи (серверної частини), у контексті міграції IС.
Створення компонентів для інтеграції сервера з іншими інформаційними системами підприємства.
Процес розробки базується на промислових стандартах створення програмного забезпечення.
Технології :
JAVA/J2EE, EJB, RMI, сервер приложений WebSphere 6.1, Oracle, Toad, SQuirreL, MyEclipse, UML. Інтенсивне використання SQL.
Деталі проекту : Аудит веб системи, що керує бізнес-процесами підприємства(workflow).
Аналіз та документування існуючої архітектури з пропозиціями оптимізації та подальшого розвитку системи.
Підготовка технічної документації, що описує процес створення та конфігурації середи розробки.
Застосування діаграм UML.
Технології :
Java/J2EE, Servlet, Java Service Wrapper, Winstone, Oracle 8, Eclipse.
Деталі проекту : Розробка проектів "e-commerce".
Персистентність даних реалізовано за допомогою Hibernate та JDO(XCalia).
Взаємодія інтерфейсу користувача з бізнес-логікою виконана за шаблоном проектування "Модель-Презентація-Контролер" за допомогою Struts.
Розробка компонентів графічного інтерфейсу користувача за технологією AJAX.
Участь у розробці архітектур декількох модулей.
Технології :
Java/J2EE, JDBC, Struts 1.3, Hibernate, Servlet/JSP, JTSL, Tomcat 5.5, MySQL 4.1, Oracle 10g, бiблiотеки Log4j, FreeMaker, Common-Controls.
Компанiя:
Iнтернет-агенство DUKE -
Розташування :
Париж, Францiя
Вид діяльності :
Iнтернет-агенство
Посада :
Iнженер-програміст Java/J2EE***
Деталі проекту : Реалізація декількох веб-систем за принципом 3-х рівневої моделі.
Розробка компонента безпеки на базі Tomcat « container managed security ».
Персистентність даних реалізовано лише за допомогою API JDBC, використання пуллінгу.
Програмування модулей взаємодії з Flash-інтерфейсом.
Розробка графічних елементів на основі моделі AJAX.
Розробка програми-демона контролю "життєдіяльності" інтернет-сайтів.
Мультипоточна програма реалізована у вигляді "демона" для операційної системи Linux Debian, використування бібліотеки JSVC.
Технології :
Java/J2EE, JDBC, Servlet/JSP, Tomcat 5.5, MySQL 4.1, PostgreSQL, бiблiотеки Log4j, Velocity, JSVC.
Деталі проекту : Участь у розробці веб-системи контролю присутності працівників (Time management system).
Технології: сервери JBoss та WebSphere, Oracle, Hibernate, Spring, JSF, JNDI.
Реалізовані задачі: створення елементів інтерфейсу користувача на базі JSF, міграція процесу розробки з WebSphere на JBoss,
розробка скриптів стрес-тестингу на платформі OpenSTA та мови SCL, управління проектом технічної підтримки.
Деталі проекту : Еволюція проекту "SiteAudit" - моніторинг змін веб сайтів. Реалізовані задачі: розробка специфікації та технічного завдання.
Програмування на платформі .NET/C#.
Технології :
.NET/C#, WinForms, XML (XPath, XSD), ADO.NET, Microsoft SQL Server, бiблiотеки "Microsoft XMLDiff and XMLPatch 1.0" та "HtmlAgilityPack".
Core Java, Application/web servers, JDBC, Servlets/JSP, JNDI, RMI, EJB, Web Services.
Application/web cервери : JBoss, WebSphere, Tomcat, Resin.
Розуміння ключових моментів многорівневих розподілених архітектур: EJB/POJO, персистентність даних, транзакції, мультипоточне програмування, трасування.
Фреймворки та сторонні бiблiотеки Java: Log4j, Spring, Struts,
Hibernate, бiблiотеки з проекту Apache Commons, Velocity, iText, JSVC. XML (XSL, XPath, XSD), HTML(CSS, JavaScript).
XUnit тестування: JUnit, TestNG и DbUnit, интеграцiя з Spring testing.
Швидка разробка прототипiв с Play framework та Spring Roo.
.NET
.NET/C# 3.5, NHibernate, MsBuild, NUnit, DbUnit, NCover, NDepend, MS Visual Studio 2008 (Visual SVN, ReSharper, dotTrace)
Бази даних
Microsoft SQL Server 2000, ORACLE 9i/10g, MySQL, PostgreSQL; SQL.
Інструментарій
Шаблони проектування (GoF+GRASP), UML, Eclipse, NetBeans, Microsoft Visual Studio, profiling - JProfiler/DotTrace, ANT, Maven, CVS, SVN, Git, SQuirreL, Toad, Far, MyGeneration, Doxygen, command line tools, написання Python-скриптів, використання Yii для прототипів на PHP
Індустріалізація
Автоматзація з Maven і Ant. Nexus, Sonar. XUnit - JUnit, TestNG, DBUnit. Автоматичні функціональні тести з Selenium. Анализ покриття коду з Cobertura.
Сервери постійної інтеграції Hudson/Jenkins і TeamCity.
Метрики якості коду - Sonar, FindBug, PMD.
Управління проектами, вікі, bug tracker - Redmine. Використання фабрик программного забезпечення.
http://yevgen-fr.blogspot.com - Мій власний технічний блог на французькій мові. Основні теми - ІТ, програмування, Java.
Open Source
https://github.com/yev - Цікавлюсь розробками "опен сурсних" проектів. Подобаэться читати та розуміти гарний код. Періодично відправляю "патчі" в open source проекти.
IT-Конференції
Регулярно та з великим бажанням буваю на різноманітних Java конференціях: Paris Jug, Devoxx Antwerpen
Українська версія 3.0. Останнє доповнення - 2025/01/10.