Senior Embedded Software Engineer, Android OS
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Инженер в команду Google XR, работающий над ядром Linux (Android), драйверами устройств и прошивками для XR-устройств (умные очки и гарнитуры). Занимается низкоуровневой разработкой, USB-архитектурой и интеграцией с Android userspace.
Задачи
- Разрабатывать драйверы ядра Linux для новых XR-устройств с подключением по USB и вести bring-up нового кастомного кремния
- Исследовать масштабируемые USB-архитектуры, влиять на архитектуру SoC и оптимизировать USB-сценарии по метрикам производительности и здоровья системы
- Абстрагировать аппаратные интерфейсы для Android userspace, определять и реализовывать HAL и слои Android framework
- Сотрудничать с продуктовыми направлениями для создания пользовательских фич для split-compute XR-систем (Compute Puck и HMD)
- Выявлять и исправлять системные USB-проблемы, используя агентные инструменты для анализа поведения системы и оптимизации таймингов и производительности
Требования
- Степень бакалавра или эквивалентный практический опыт
- 5 лет опыта разработки ядра Linux на C/C++
- Опыт работы с ядром Linux
- Опыт в одном или нескольких направлениях: автоматизация тестирования, рефакторинг кода, test-driven development, build-инфраструктура, оптимизация ПО, отладка, создание инструментов и тестовых фреймворков
- Желательно: опыт с ядрами Linux или BSD
- Желательно: знание разработки встраиваемых систем, концепций RTOS, драйверов устройств и интеграции hardware/software
- Желательно: глубокое знание Unix/Linux-окружений и embedded Linux
- Желательно: глубокое знание Android или WebKit
- Опыт в низкоуровневых компьютерных системах, компьютерной архитектуре, встраиваемых системах и разработке ядра
- История вклада в open-source Linux
Условия
- Зарплата в США: $174000 - $252000 (USD)
- Целевой бонус 15%
- Equity
- Benefits
- Интервью проходят вживую (in-person) в большинстве случаев
Навыки
- Linux Kernel
- C
- C++
- Embedded systems
- RTOS
- Device drivers
- USB
- Android
- HAL
- Android framework
- SoC architecture
- Embedded Linux
- Unix/Linux
- WebKit
- Test automation
- TDD
- Debugging