Используем cookie для работы сайта и статистики. «Хорошо» разрешит ещё и запись сессий.
TToshiba Global Commerce Solutions
Бентонвилл, Соединенные Штаты24 дня назад
Грейд
Senior
Опыт работы
от 5 лет
Формат работы
Гибрид
Уровень английского
B2, выше среднего
Письмо на почту или сообщение рекрутеру в Telegram
Toshiba Global Commerce Solutions ищет Инженера платформы Front-End (UI) для систем розничных POS-терминалов, который будет отвечать за развитие клиентской части ELERA POS — основы приложений Vue 3 и TypeScript, лежащей в основе наших стационарных касс, касс самообслуживания, киосков, специализированных устройств, мобильных приложений для сотрудников и дисплеев для покупателей. Это преемственная роль в рамках определенного трека развития архитектора: нанятый сотрудник пройдет обучение, чтобы стать архитектором клиентской части ELERA POS. Это платформенная роль, а не роль, связанная с разработкой функций. Большая часть работы заключается не в создании интерфейсов. Это основа, на которой другие команды создают свои интерфейсы: система внедрения зависимостей и плагинов, которую ритейлеры и партнеры расширяют, цепочка слияния конфигураций, которая разрешает клиентские переопределения, уровень устройств, который взаимодействует с аппаратным обеспечением кассы, устаревшее приложение Dojo, которое должно продолжать поставляться параллельно с современным клиентом, и конвейер сборки, который выпускает все это вместе. Роль требует опыта создания решений на Vue.js и корпоративных технологиях Java с упором на сложную функциональность на стороне браузера. Идеальный кандидат будет преуспевать в нашей быстро меняющейся, совместной среде, ориентированной на клиента, и ищет путь к архитектуре, а не к большему списку задач. Toshiba Global Commerce Solutions — динамичная компания с оборотом в миллиард долларов, базирующаяся в Research Triangle Park, Северная Каролина, предоставляющая решения для розничных магазинов вашим любимым брендам. Вы когда-нибудь спешили и пользовались кассой самообслуживания в Lowe's Foods, получали бонусы за топливо в Kroger или просто оплачивали покупки у таких ритейлеров, как Walmart, Michaels, Carrefour, The Gap, Calvin Klein, Boots, Cencosud, BJ's или Costco? Это лишь несколько примеров наших решений для магазинов и впечатляющей клиентской базы, которые сделали нас мировым лидером по доле установленного рынка. Характер розничной торговли быстро меняется, поэтому, если вы разделяете наше видение «Together Commerce» — бесшовного двустороннего, интерактивного опыта покупок, давайте вместе двигать новую экономику. Мы в Toshiba Global Commerce Solutions твердо верим, что наши сотрудники являются неотъемлемой частью успеха наших клиентов. Кроме того, мы стремимся к разнообразию, равенству и инклюзивности для всех наших сотрудников, как подчеркнуто нашими 5 основными принципами (Создание охвата, Развитие чувства принадлежности, Раскрытие возможностей, Разнообразное культурное взаимодействие и Культура прозрачности). Мы увлечены нашими клиентами, розничной торговлей и стремлением стать более ответственной компанией, помогая создавать более светлое будущее.
Разрабатывать, тестировать и отлаживать клиентский UI и код клиентской платформы на Vue 3 и TypeScript, а также наставлять команду, занимающуюся тем же Проектировать с учетом других разработчиков — как внутренней команды, так и инженеров ритейлеров, партнеров и поставщиков услуг, которые расширяют платформу извне Отвечать за модель расширяемости клиента и ее развитие: внедрение зависимостей и регистрация на основе декораторов, загрузка плагинов, внедрение UI-слотов и цепочка слияния конфигураций базовой версии/TGCS/партнеров/клиентов Обеспечивать обратную совместимость для плагинов и настроек, созданных для более ранних версий фреймворка Публиковать версии общих пакетов, используемых другими командами, с реальным семантическим версионированием и дисциплиной отказа от устаревших версий Поддерживать одновременную работоспособность двух поколений UI, постепенно мигрируя устаревший слой Dojo, а не одним махом Расширять уровень интеграции устройств — сканеры, весы, принтеры, платежные терминалы, ресайклеры наличных, дисплеи покупателей — включая заглушку для устройств, позволяющую запускать полный клиент на ноутбуке Поддерживать конвейер выпуска клиентской версии: гибридные сборки Maven/npm, публикация монорепозитория, многоветочные конвейеры Jenkins по цепочке зависимостей фреймворка и ограниченные или изолированные клиентские среды Отвечать за качество на стороне клиента: модульные и компонентные тесты с покрытием, а также автоматизированный браузерный набор тестов BDD, который контролирует сборку Писать и защищать записи о принятых архитектурных решениях, анализы компонентов и проектные решения; представлять клиентский стек на Архитектурном Совете Поддерживать руководство по самообеспечению клиента и сгенерированные каталоги расширений, а также выступать в качестве технического интерфейса для ключевых технологических партнеров Выполнять модульные и функциональные тесты функций продукта, а также устранять ошибки, выявленные в модульных, функциональных тестах, или сообщенные клиентами/партнерами в поддерживаемых версиях Предоставлять разумные оценки, выполнять поставленные задачи, помогая команде, и способствовать достижению командой ее KPI Использовать хорошие паттерны программирования, указывать на антипаттерны и справляться с ускоряющимися изменениями в стремлении к более инновационным решениям
Степень бакалавра в области компьютерных наук или соответствующий опыт Software Engineer III: 5+ лет профессионального опыта веб-разработки. Software Engineer IV: 9+ лет опыта полностековой веб-разработки, особенно на стороне клиента Сильные аналитические навыки и навыки объектно-ориентированного программирования на TypeScript, включая дженерики, файлы объявлений и строгую дисциплину 2+ года работы с Vue 3 или эквивалентным современным компонентным фреймворком на глубоком уровне: семантика реактивности, маршрутизация и централизованное управление состоянием Опыт создания общих библиотек или фреймворков, которые потребляются другими командами — не только конечными пользователями Рабочие знания контейнера внедрения зависимостей / инверсии управления (InversifyJS, tsyringe, Angular DI, Spring или аналогичные) и регистрации на основе декораторов; понимание сроков действия и порядка разрешения Глубокие технические навыки в веб-технологиях (HTML5, JavaScript, TypeScript, SASS, XML/JSON, Vue.js), включая свободное владение системами модулей (ESM, AMD, UMD) и современными инструментами сборки, такими как Vite Модульное тестирование как привычка по умолчанию, плюс браузерная автоматизация с использованием как минимум одного из Playwright, Cypress или Selenium — включая способность диагностировать нестабильный тест, а не просто повторять его Подтвержденная способность продуктивно работать с большой кодовой базой унаследованного ПО, не переписывая ее Опыт разработки в среде на базе Java, включая корпоративный/веб-контент, достаточный для отладки службы, которой вы не владеете, и определения фактического местонахождения дефекта Понимание принципов REST и OpenAPI, включая рабочее определение нарушающего изменения Уверенность в CI/CD: конвейеры, контейнерные сборки, реестры артефактов, разрешение зависимостей, файлы блокировки и конфликты транзитивных версий Владение Git на командном уровне: долгоживущие линии выпуска, обратные порты и разрешение конфликтов, которое не приводит к потере работы Опыт работы с операционными системами — Linux, Windows, iOS или Android; установка, легкое администрирование и простое написание скриптов Знание концепций, методологии и жизненного цикла разработки программного обеспечения, особенно Agile Четкое техническое письмо и опыт документирования решений, которым следовали другие. Коммуникация является критерием найма для этой должности, а не бонусом Сильные навыки определения и отладки проблем, внимание к деталям и командная работа
Необходимо проживать в районе Роли/Дарема, Северная Каролина, или в районе Бентонвилла, Арканзас. Это гибридная должность, предполагающая не менее 3 дней в неделю очной работы. Toshiba Global Commerce Solutions, Inc. предлагает конкурентоспособную заработную плату и щедрый пакет льгот, включая следующее: Групповое медицинское страхование (медицинское, стоматологическое и офтальмологическое) Программы помощи сотрудникам До вычета налогов сберегательные счета План 401(k) (с взносами компании) Предоставляемое компанией страхование жизни Страхование домашних животных Скидки для сотрудников Щедрый график оплачиваемых праздников, оплачиваемый отпуск и дни больничного/личного отпуска
Note: Toshiba Global Commerce Solutions will not be providing visa sponsorship for this position now or in the future. Therefore, in order to be considered for this position, you must have the ability to work in the United States without a need for current or future visa sponsorship .
Must be local to Raleigh/Durham, NC Area or Bentonville, AR Area. This is a hybrid role at least 3 days a week in person.
Toshiba Global Commerce Solutions is seeking a Front-End (UI) Platform Engineer-Retail Point of Sale Systems to own and evolve the ELERA point-of-sale client – the Vue 3 and TypeScript application framework behind our fixed-lane, self-checkout, kiosk, specialty, associate-mobile, and customer-display experiences. This is a successor role on a defined architect track: the person hired will be trained to become the architect for the ELERA POS client.
This is a platform role, not a feature role. Most of the work is not screens. It is the framework other teams build their screens out of: a dependency-injection and plugin system that retailers and partners extend through, a configuration merge chain that resolves customer overrides, a device layer that talks to lane hardware, a legacy Dojo application that must keep shipping beside the modern client, and the build train that releases all of it together.
The role requires experience building solutions on Vue.js and Java enterprise technologies with a focus on complex browser-side functionality. The ideal candidate will excel in our fast-paced, collaborative, customer-first environment, and is looking for a path into architecture rather than a larger backlog.
Responsibilities:
Design, develop, and test/debug client UI and client framework code in Vue 3 and TypeScript, and mentor the team doing the same
Design with other developers in mind – both the internal team and the retailer, partner, and services engineers who extend the platform from outside
Own and extend the client extensibility model: dependency injection and decorator-based registration, plugin loading, UI slot injection, and the base/TGCS/partner/customer configuration merge chain
Maintain backward compatibility for plugins and customizations built against earlier framework versions
Publish versioned shared packages consumed by other teams, with real semantic-versioning and deprecation discipline
Keep two UI generations shippable at once, migrating the legacy Dojo layer incrementally rather than by flag day
Extend the device integration layer – scanners, scales, printers, payment terminals, cash recyclers, customer display – including the mock device harness that lets the full client run on a laptop
Maintain the client release train: hybrid Maven/npm builds, monorepo publishing, Jenkins multi-branch pipelines across the framework dependency chain, and constrained or air-gapped customer environments
Own client-side quality: unit and component tests under a coverage gate, and a browser-automated BDD suite that gates the build
Write and defend architecture decision records, component analyses, and solution designs; represent the client stack at the Architecture Review Board
Maintain the client Self-Enablement Guide and generated extension catalogs, and serve as a technical interface to key technology partners
Perform unit and functional tests of product features, and resolve unit, functional, and customer- or partner-reported defects across supported release lines
Provide reasonable estimates, meet deliverables while assisting the team, and enable the team to meet their KPIs
Use good programming patterns, call out anti-patterns, and handle accelerating change in pursuit of more innovative solutions
Required Skills:
Bachelor’s degree in computer science or equivalent experience
Software Engineer III: 5+ years of professional web development experience. Software Engineer IV: 9+ years of full-stack web development experience, particularly client side
Strong analytical and TypeScript/OO programming skills, including generics, declaration files, and strict-mode discipline
2+ years in Vue 3 or an equivalent modern component framework, at depth: reactivity semantics, routing, and centralized state management
Experience building shared libraries or frameworks that other teams consume – not only end-user features
Working knowledge of a dependency-injection / inversion-of-control container (InversifyJS, tsyringe, Angular DI, Spring, or similar) and decorator-based registration; understanding of lifetimes and resolution order
Deep technical skills in web development technologies (HTML5, JavaScript, TypeScript, SASS, XML/JSON, Vue.js), including module-system fluency (ESM, AMD, UMD) and modern build tooling such as Vite
Unit testing as a default habit, plus browser automation with at least one of Playwright, Cypress, or Selenium – including the ability to diagnose a flaky test rather than retry it
Demonstrated ability to work productively inside a large legacy code base without rewriting it
Experience developing in a Java-based environment, including enterprise/web-based content, sufficient to debug a service you do not own and determine where a defect actually lives
REST and OpenAPI contract thinking, including a working definition of a breaking change
Comfort in CI/CD: pipelines, containerized builds, artifact registries, dependency resolution, lockfiles, and transitive version conflicts
Proficiency with Git at team scale: long-lived release lines, backports, and conflict resolution that does not lose work
Experience with operating systems – Linux, Windows, iOS or Android; installation, light administration, and simple scripting
Knowledge of software development concepts, methodology, and life cycle, especially Agile
Clear technical writing, and a record of documenting decisions that others then followed. Communication is a hiring criterion for this role, not a bonus
Strong problem determination and debugging skills, attention to detail, and teamwork
Preferred Skills:
Point-of-sale, kiosk, self-checkout, or other attended/unattended retail systems, and general knowledge of the retail industry domain
Plugin or extension architectures that third parties build against, and experience designing extension points that outlive their first consumer
Skills and experience with POS attached devices (scanners, scales, printers, payment terminals, cash recyclers) and duplex device protocols such as WebSocket or STOMP, including retry, reconnect, and half-open connection handling
Experience debugging a failure that turned out to be in hardware, firmware, or a driver rather than in application code
Cross-document and cross-context work: iframes, post Message, origin and window-context reasoning, storage scoping
Working knowledge of Dojo, React, or AngularJS in addition to Vue.js, or comparable experience maintaining a superseded framework in production
Working knowledge of Docker containers and Spring Boot; knowledge of Swagger and REST design
Toshiba Global Commerce Solutions is a dynamic billion-dollar global company based in Research Triangle Park, NC, providing retail store solutions to your favorite brands. Have you ever been in a hurry and made use of the self-checkout at Lowe's Foods, earned fuel rewards at Kroger, or just paid for purchases at retailers such as Walmart, Michaels, Carrefour, The Gap, Calvin Klein, Boots, Cencosud, BJ's, or Costco? These are just a few examples of our in-store solutions and impressive customer base that made us the world's installed market share leader.
The nature of retail is changing quickly, so if you share our 'Together Commerce' vision of a seamless two-way, participatory shopping experience, let's get together to drive the new economy.
Toshiba Global Commerce Solutions, Inc. offers a competitive salary and generous benefits package including the following:
Group health coverage (medical, dental, & vision)
Employee Assistance Programs
Pre-tax spending accounts
401(k) plan (with company match)
Company provided life insurance
Pet Insurance
Employee discounts
Generous paid holiday schedule, paid vacation & sick/personal days
EEO:
Toshiba Global Commerce Solutions is an equal opportunity/affirmative action employer that evaluates qualified applicants without regard to age, ancestry, color, religious creed, disability, marital status, medical condition, genetic information, military or veteran status, national origin, race, sex, gender, gender identity, gender expression and sexual orientation or any other protected factor. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements.
Individuals who need a reasonable accommodation because of a disability for any part of the employment process should email to request an accommodation
DIVERSITY, EQUITY & INCLUSION:
We at Toshiba Global Commerce Solutions firmly believe that our people are an integral part to the success of our customers. Furthermore, we're committed to Diversity, Equity, and Inclusion for all our people as highlighted by our 5 Core Principles (Create Outreach, Foster Belonging, Unleash Opportunity, Diverse Cultural Engagement and Culture of Transparency). We're passionate about our customers the retail industry and becoming a more responsible company as we help create a brighter future.
Сравним навыки, грейд, формат работы и зарплату
Чаще всего от 110 000 до 144 000
Точки продаж, киоски, кассы самообслуживания или другие розничные системы с участием/без участия продавца, а также общие знания предметной области розничной торговли Архитектуры плагинов или расширений, на которых строят третьи стороны, и опыт проектирования точек расширения, которые переживают своего первого потребителя Навыки и опыт работы с устройствами, подключенными к POS (сканеры, весы, принтеры, платежные терминалы, ресайклеры наличных) и дуплексными протоколами устройств, такими как WebSocket или STOMP, включая повторные попытки, переподключение и обработку полуоткрытых соединений Опыт отладки сбоя, который оказался в аппаратном обеспечении, прошивке или драйвере, а не в коде приложения Работа между документами и контекстами: iframe, post Message, рассуждения об origin и контексте окна, область видимости хранения Рабочие знания Dojo, React или AngularJS в дополнение к Vue.js, или сопоставимый опыт поддержки выведенного из эксплуатации фреймворка в производственной среде Рабочие знания контейнеров Docker и Spring Boot; знания Swagger и проектирования REST