Toshiba Global Commerce Solutions
Front-End (UI) Platform Engineer-Retail Point of Sale Systems
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Платформенный frontend-инженер для POS-клиента ELERA на Vue 3 и TypeScript. Роль сфокусирована на развитии фреймворка, плагинной архитектуры и слоя интеграции с оборудованием, с треком в архитектора.
Задачи
- Проектировать, разрабатывать и отлаживать UI и код клиентского фреймворка на Vue 3 и TypeScript, менторить команду
- Развивать модель расширяемости клиента: dependency injection, регистрация через декораторы, загрузка плагинов, инъекция UI-слотов, цепочка слияния конфигураций
- Поддерживать обратную совместимость плагинов и кастомизаций предыдущих версий фреймворка
- Публиковать версионируемые общие пакеты с семантическим версионированием и дисциплиной deprecation
- Поддерживать две генерации UI одновременно, инкрементально мигрируя legacy Dojo
- Расширять слой интеграции с устройствами: сканеры, весы, принтеры, платёжные терминалы, кассовые рециклеры, клиентский дисплей, включая mock-харнесс
- Поддерживать релизный процесс клиента: гибридные Maven/npm сборки, публикация монорепозитория, Jenkins multi-branch пайплайны
- Отвечать за качество клиента: unit- и компонентные тесты с покрытием, браузерный BDD-набор
- Писать и защищать architecture decision records, компонентные анализы и дизайны решений
- Вести Self-Enablement Guide и каталоги расширений, быть техническим интерфейсом для партнёров
- Проводить unit- и функциональное тестирование, устранять дефекты по поддерживаемым релизным линиям
Требования
- Степень бакалавра по computer science или эквивалентный опыт
- 5+ лет профессиональной веб-разработки (Software Engineer III) или 9+ лет full-stack веб-разработки (Software Engineer IV)
- Сильные навыки TypeScript и ООП: дженерики, declaration files, strict mode
- 2+ года работы с Vue 3 или аналогичным современным компонентным фреймворком на глубине: реактивность, роутинг, централизованное управление состоянием
- Опыт создания общих библиотек или фреймворков, которые потребляют другие команды
- Знание DI/IoC-контейнера (InversifyJS, tsyringe, Angular DI, Spring или аналог) и регистрации через декораторы
- Глубокие знания веб-технологий: HTML5, JavaScript, TypeScript, SASS, XML/JSON, Vue.js, модульные системы ESM/AMD/UMD, Vite
- Unit-тестирование как привычка и браузерная автоматизация с Playwright, Cypress или Selenium
- Опыт продуктивной работы в большой legacy-кодовой базе без переписывания
- Опыт разработки в Java-окружении, достаточный для отладки чужого сервиса
- Понимание REST и OpenAPI-контрактов, включая определение breaking change
- Опыт работы с CI/CD: пайплайны, контейнерные сборки, реестры артефактов, lockfiles, конфликты версий
- Уверенное владение Git на командном уровне: долгоживущие релизные линии, backports
- Опыт работы с Linux, Windows, iOS или Android: установка, администрирование, простые скрипты
- Знание методологий разработки и жизненного цикла ПО, особенно Agile
- Ясная техническая письменная коммуникация
- Сильные навыки диагностики и отладки, внимание к деталям, командная работа
- Возможность работать в США без необходимости визовой поддержки
Условия
- Гибридный формат: минимум 3 дня в неделю в офисе
- Конкурентная зарплата и пакет льгот
- Медицинская, стоматологическая и оптическая страховка
- Employee Assistance Programs
- Счета предналоговых расходов
- План 401(k) с участием компании
- Страхование жизни от компании
- Страхование питомцев
- Скидки для сотрудников
- Оплачиваемые отпуска, больничные и праздничные дни
Навыки
- Vue 3
- TypeScript
- JavaScript
- HTML5
- SASS
- XML
- JSON
- Vite
- ESM
- AMD
- UMD
- InversifyJS
- tsyringe
- Angular DI
- Spring
- Java
- Dojo
- Playwright
- Cypress
- Selenium
- REST
- OpenAPI
- CI/CD
- Jenkins
- Maven
- npm
- Git
- Linux
- Windows
- iOS
- Android
- Docker
- Spring Boot
- Swagger
- WebSocket
- STOMP
- React
- AngularJS