Align Technology
Должность: Software Developer → Senior Software Developer
Время работы: 2021-07 → 2022-12
Технологический стек
- Основой:
- C++17:
- STL
- Boost
- PlantUML
- C++17:
- Дополнительный:
- Python
Участие в разработке
«Interproximal Spacing Resolution (IPSR)»
IPSR – это сервис-модуль последнего этапа в сервис-системе планирования лечения пациентов, в процессе которого происходит дожатие относительного положения зубов между собой для достижения наилучшего результата лечения на его последних стадиях.
Моё участие в проекте: Был DEV-лидером команды разработчиков, ответственных за IPSR.
Персональный вклад
Разработка комплексной архитектуры unit-тестов
В начале работы, когда я ещё не был DEV-лидером, на мои плечи легла тривиальная задача по достижению 100% покрытия кода проекта unit-тестами. Я разработал целый фреймворк для решения этой задачи и добился 100% покрытия.
Создание полноценной документации
Создал систему автоматизированного документирования проекта IPSR, удовлетворяющую следующим критериям:
- создаётся налету по запросу пользователя;
- различные версии для разработчиков и докторов (конечных пользователей).
Создание git-репозитория для проведения интервью
Т.к. по долгу службы приходилось проводить много интервью (компания вела активный найм) я создал отдельный git-репозиторий с скриптами автоматизации процессов развертки среды для проведения оного, а так же проверки кода кандидатов.
По прошествии полугода репозиторий стал использоваться массово всеми сотрудниками проводящими интервью.
Достижения
Разработка новой архитектуры IPSR
Когда я возглавил проект IPSR, его архитектура представляла из себя 15.000+ строк кода монолитное C++ решение для аппроксимации финального положения зубов на основании жёстко заданных входных параметров и данных полученных из зубочелюстного кейса, которое не подразумевало возможность модернизации и гибкой настройки.
Когда я оставил IPSR, его архитектура представляла из себя 8.000+ строк кода модульный C++ инструмент для настройки процедуры аппроксимации, её осуществления и оценки полученных результатов.
Что реально было улучшено:
- 15.000+ строк C++ → 8.000+ С++ строк
- монолитное готовое решение → модульный инструмент с гибкой настройкой
Достижение хороших показателей бизнеса
В компании есть формальные показатели успешности работы над проектом, среди которых есть как общие для всех команд, - например количество багов на этапе релиза, сроки доставки каждой следующей версии, – так и специфичные для проекта. В случаи с IPSR, это, так называемый, Success Rate - процент успешного применения на кейсах пациентов (когда доктор одобряет решение сгенерированное IPSR).
За время покуда я был DEV-лидером проекта, все показатели, как минимум не ухудшились, а ключевые из них существенно возросли:
- количество багов, выявляемых на этапе релиза, сократилось вдвое;
- новая архитектура проекта сделал его гибким и конфигурируемым;
- сроки доставки каждой следующей версии сократились на 1 месяц;
- Success Rate повысился с 50% до 70%, т.к. у докторов появилась возможность самостоятельно настраивать конфигурационный файл для процедуры аппроксимации (и некоторые из докторов этим активно пользовались добиваясь нужных показателей).
Личная оценка плюсов и минусов работы в компании
На мой взгляд, Align Technology является воплощением образа и менталитета работы, принятого в США и Европе со всеми вытекающими достоинствами и недостатками.
С одной стороны, она является эталонной с сфере всесторонней организации режима труда и заботы о сотрудниках, с другой стороны – имеются явные перегибы в сторону менеджмента и существенные проблемы с нехваткой по настоящему высоко квалифицированных чисто технических специалистов.
С одной стороны, будучи способным доказать свою профессиональную компетентность, тебе готовы выделить почти любые ресурсы и средства на реализацию задуманного, но с другой стороны – многие части проекта запущены на столько, что исправить их намного сложнее, чем полностью переделать, тогда как полностью переделать, едва ли позволят, т.к. в этом случае в дело вступают бизнес риски, что почти не преодолимый барьер.
С одной стороны, почти весь офис разработки состоит из русских разработчиков, и почти полностью из американских со стороны менеджмента, что положительно сказывается на усилиях по поддержанию комфортного микроклимата, но с другой стороны - зачастую приводит к разного рода конфликтам менталитета, негативно сказывающимся на процессе разработки отдельно взятого специалиста, случись ему проявить инициативу.
Итогом, моё заключение таково, что лично мне очень повезло работать в этой компании с точки зрения полученного опыта и особенно – с точки зрения команды, частью которой я являлся.
Плюсы:
- идеальная забота о сотрудниках;
- ценят творческих людей;
- очень интересная сфера бизнеса;
Минусы:
- в какой-то момент упустили техническую часть и теперь не знают, что с этим делать;
- бесконечные митинги;
- надоедливая почта.