WorkListВойтиОформить подписку
RL

Senior Desktop Engineer (Electron.js)

Ruby Labs · D2C-продукты: здоровье
Откликнуться на сайте компании ↗

О вакансии

Откуда можно работать
Удалённо, находясь в Украине
из текста вакансии
Занятость
Full-time
из текста вакансии
Уровень
Senior
указан работодателем
Деньги
≈ $3,9 тыс/мес · оценка Worklist
по мировому рынку, данные за август 2026 · Как считаем
Даты
Опубликована 18.09 · видим у компании с 18.09 · проверена 02.11
дата публикации от работодателя
Почему в каталоге:Основана выходцами из Восточной Европы, Кавказа и Центральной АзииПодробнее о компании →

Описание переведено машинно с английского.

Суть роли

В Ruby Labs мы ищем Senior Desktop Engineer, который возьмёт на себя ответственность за новый кроссплатформенный десктопный продукт и поведёт его от первого коммита до продакшена.

Это роль с высокой степенью ответственности и необычно глубокой системной составляющей. Приложение — не обёрнутое веб-приложение: оно захватывает системный звук и звук с микрофона в реальном времени, отображает оверлей поверх всех окон на рабочем пространстве пользователя, регистрирует глобальные горячие клавиши и интегрируется с операционной системой на уровне, который требует нативного кода как для macOS, так и для Windows.

Наша архитектура: Electron для приложения и уровня UI, а нативные модули и вспомогательные процессы — на Swift и C++ там, где этого требует платформа. Вы будете отвечать за эту границу: решать, что относится к TypeScript, а что к нативному коду, и добиваться, чтобы две половины работали как единый надёжный продукт.

Вы также будете отвечать за всё, что происходит после сборки: подпись кода, нотаризацию, entitlements, онбординг разрешений, автообновление и отчёты о сбоях. В этом продукте это не второстепенные задачи, а значительная часть инженерной работы, и ошибки в них приводят к тому, что пользователи вообще не могут запустить приложение.

Вы будете выступать в роли ведущего технического эксперта по десктопу в своей команде и задавать инженерный стандарт для платформы.

Что предстоит делать

Десктопное приложение и инженерное качество

  • Отвечайте за архитектуру Electron от начала до конца — main-, renderer- и вспомогательные процессы, проектирование IPC, изоляция контекста, жизненный цикл процессов — и поставляйте крупные функции в согласованные сроки.
  • Создавайте прозрачные безрамочные оверлейные окна поверх всех окон, которые корректно работают в полноэкранных пространствах, на нескольких дисплеях и при смешанных настройках DPI, а также глобальные горячие клавиши, присутствие в трее и UI с низкой задержкой при постоянной фоновой нагрузке.
  • Проектируйте чистую платформенную абстракцию на TypeScript, чтобы реализации для macOS и Windows оставались изолированными и независимо тестируемыми, и пишите идиоматичный код на Swift и C++ в нативном слое.
  • Поддерживайте надёжность продукта: защитная обработка нестабильных API платформ, тесты и код-ревью, бюджеты по производительности, памяти и батарее, а также устранение замечаний по результатам проверок безопасности и тестов на проникновение в рамках согласованных SLA по критичности.

Интеграция с нативной платформой

  • Создавайте и поддерживайте нативный слой: Node-аддоны (N-API / node-addon-api) и внепроцессные вспомогательные программы на Swift и C++.
  • Реализуйте захват системного звука в реальном времени — Core Audio process taps и ScreenCaptureKit на macOS, WASAPI loopback на Windows — включая обработку смены устройств, согласование форматов и корректное восстановление после сбоев на уровне драйверов.
  • Интегрируйтесь с Accessibility API (AXUIElement) на macOS и UI Automation на Windows, чтобы надёжно считывать контекст приложений.
  • Отвечайте за протокол IPC и жизненный цикл взаимодействия между Electron и нативными вспомогательными процессами и поддерживайте работоспособность приложения по мере изменений платформ Apple и Microsoft.

Дистрибуция, разрешения и надёжность релизов

  • Отвечайте за подпись кода и нотаризацию на macOS — hardened runtime, entitlements, подпись вложенных бинарных файлов, provisioning profiles — а также за подпись Authenticode, репутацию SmartScreen и ложные срабатывания антивирусов на Windows.
  • Проектируйте процесс онбординга разрешений — микрофон, системный звук, запись экрана, доступность (accessibility) — так, чтобы доля предоставленных разрешений оставалась высокой, а состояния ошибок можно было исправить.
  • Создавайте и поддерживайте пайплайн релизов: матричные сборки в CI, подпись из CI с сертификатами на базе HSM, автообновление, поэтапный раскат и откат.
  • Отвечайте за отчёты о сбоях и продакшен-телеметрию десктопного клиента и действуйте на основе того, что они показывают.

Требования

  • 6+ лет опыта в разработке программного обеспечения, включая промышленный опыт работы с TypeScript/Node.js.
  • 3+ года опыта создания и выпуска приложений на Electron для реальных конечных пользователей, а не внутренних инструментов или proof of concept.
  • Практический опыт нативной разработки под macOS на Swift и/или Objective-C с использованием AppKit и как минимум одного системного фреймворка, например Core Audio, AVFoundation, ScreenCaptureKit или Accessibility API.
  • Практический опыт написания нативных Node-аддонов (N-API / node-addon-api) либо упаковки внепроцессных нативных вспомогательных программ и взаимодействия с ними.
  • Подтверждённый опыт работы с подписью кода macOS, нотаризацией, entitlements и моделью разрешений TCC — вы отлаживали отклонённую нотаризацию и умеете читать лог.
  • Рабочие знания десктопной платформы Windows: Win32 API, подпись Authenticode и практические особенности репутации SmartScreen и антивирусов.
  • Хорошее понимание многопроцессной архитектуры, IPC и отладки проблем, которые воспроизводятся только на компьютере пользователя.

Будет плюсом

  • Аудиопайплайны реального времени — буферизация, ресемплинг, микширование нескольких источников или потоковая передача в сервисы распознавания речи (speech-to-text).
  • Подпись из CI с аппаратными сертификатами (Azure Key Vault, DigiCert KeyLocker или аналогичными), а также внесение в белые списки антивирусов или выстраивание репутации SmartScreen для нового продукта.
  • Инфраструктура автообновления, такая как Squirrel, electron-updater или Sparkle, включая поэтапные раскаты.
  • Отчёты о сбоях и символизация для нативного кода (Crashpad, Sentry или аналогичные).
  • Опыт выпуска потребительского десктопного продукта в значительном масштабе.

Условия и бенефиты

Узнайте, какие преимущества даёт работа в нашей яркой команде! Мы предлагаем:

  • Удалённый формат работы: свобода работать из любого места в любое время, что способствует здоровому балансу между работой и личной жизнью.
  • Неограниченный оплачиваемый отпуск (Unlimited PTO): пользуйтесь неограниченным оплачиваемым отпуском, чтобы восстанавливать силы и заботиться о себе, не считая дни.
  • Оплачиваемые государственные праздники: отмечайте и отдыхайте в государственные праздники с оплачиваемым выходным, чтобы расслабиться и восстановить силы.
  • MacBook от компании: работайте продуктивно с первоклассными Apple MacBook, которые предоставляются всем сотрудникам, которым они нужны.
  • Гибкий договор независимого подрядчика: используйте преимущества гибкости, самостоятельности и предпринимательских возможностей. Получайте налоговые преимущества, возможности для нетворкинга, сниженные трудовые обязательства и свободу работать из любого места. Подробнее об этом здесь: https://docs.google.com/document/d/1nkrN76JlZkbKj9WSOhlT1_mni_CZeDkHdwfIjPXVwvk/preview?tab=t.0#heading=h.ndsdl4wapxtt

Навыки

ElectronTypeScriptNode.jsSwiftC++Objective-CAppKitCore AudioAVFoundationScreenCaptureKitAccessibility APIN-APInode-addon-apiWASAPIUI AutomationWin32AuthenticodeSquirrelelectron-updaterSparkle

Подходите ли вы под эту вакансию

Сверка вакансии с резюме доступна тем, кто вошел. Войти