Ведущий инженер-программист
Местоположение: Шеффилд, Великобритания
Тип занятости: Полная ставка
Идентификатор заявки на вакансию #
26WD101115
Autodesk ищет ведущего инженера-программиста для технического руководства новой десктопной платформой на базе Electron и Chromium для веб-приложений Autodesk. На этой практической индивидуальной роли вы будете определять архитектуру платформы, принимать сложные технические решения и руководить инженерами, создающими среду выполнения Electron, интеграции с Windows, системы автоматизированной доставки и общие возможности платформы. Вы объедините глубокие технические знания с широким влиянием, помогая команде создать безопасную, поддерживаемую и повторно используемую десктопную платформу, при этом активно участвуя в проектировании, реализации, отладке и проверке кода.
Обязанности
- Архитектура платформы и техническое руководство — примерно 30%: Определение и развитие архитектуры десктопной платформы Electron, включая границы процессов, нативные возможности, интерфейсы приложений, средства контроля безопасности, конфигурацию среды выполнения и шаблоны интеграции продуктов.
- Практическая разработка платформы — примерно 25%: Проектирование, прототипирование, реализация и проверка сложной функциональности в рамках Electron, Chromium, Node.js, TypeScript, Windows API и поддерживающих нативных компонентов.
- Техническое руководство и наставничество — примерно 20%: Руководство инженерами при принятии решений по проектированию и реализации, наставничество членов команды, проверка сложных изменений, установление стандартов разработки и помощь команде в развитии экспертизы в области разработки десктопных платформ.
- Интеграция между командами и внедрение платформы — примерно 15%: Работа с продуктовыми командами и командами платформы Autodesk, отвечающими за безопасность, идентификацию, распространение программного обеспечения, телеметрию, отчеты о сбоях, графику и другие общие возможности.
- Операционная готовность и качество разработки — примерно 10%: Взаимодействие с командами контроля качества и выпуска для определения критериев выпуска, политик обновления среды выполнения, наблюдаемости, поддержки и требований к готовности к производству.
- Ответственность за общую техническую архитектуру общей десктопной платформы и обеспечение четких границ между повторно используемыми возможностями платформы и функциональностью, специфичной для продукта.
- Определение безопасных шаблонов взаимодействия между размещенными веб-приложениями и привилегированной десктопной функциональностью, включая изоляцию процессов, межпроцессное взаимодействие, доступ к нативным API, элементы управления навигацией и границы доверия приложений.
- Разработка стратегии использования и обновления Electron и Chromium, включая поддерживаемые версии, параметры конфигурации и сборки, включение функций среды выполнения, оценку совместимости и реагирование на обновления безопасности.
- Поддержание платформы как можно ближе к поддерживаемым вышестоящим возможностям Electron и Chromium, избегая ненужной кастомизации и долгосрочного бремени поддержки.
- Руководство проектированием нативных возможностей Windows, таких как управление жизненным циклом приложения, доступ к аппаратному обеспечению и системной информации, предпочтения GPU, обработка протоколов, интеграция с операционной системой и поведение при корпоративном развертывании.
- Определение стабильных интерфейсов, с помощью которых веб-приложения Autodesk могут использовать десктопные возможности без создания продуктовых реализаций или форков.
- Работа с старшим инженером-программистом P3 для разделения более крупных задач платформы на технические проекты, планы реализации, зависимости и инкрементные результаты.
- Предоставление технического руководства и наставничества инженеру-программисту P2, помогая ему углубить экспертизу в Electron, Chromium, Node.js, Windows, отладке и безопасном проектировании приложений.
- Взаимодействие с SDET команды и инженером по CI/CD/Release для обеспечения тестируемости, собираемости, воспроизводимости, диагностируемости платформы и ее способности к выпуску через автоматизированные конвейеры доставки.
- Определение технических требований для сборки, упаковки, подписи, продвижения выпуска, отката и квалификации среды выполнения, оставляя ежедневную реализацию конвейера инженеру, ответственному за автоматизацию CI/CD и выпуска.
- Тесное сотрудничество со специалистами по безопасности приложений Autodesk для разработки моделей угроз, устранения проблем безопасности, применения лучших практик безопасности Electron и Chromium, а также обеспечения безопасного предоставления привилегированной десктопной функциональности.
- Взаимодействие со специализированными командами по графике и рендерингу по вопросам интерфейсов и требований, связанных с памятью, выбором GPU, видимостью аппаратного обеспечения и возможностями среды выполнения, при этом реализация графики остается за ответственными командами.
- Руководство оценкой новых выпусков Electron и Chromium, значимых возможностей среды выполнения, изменений в платформе Windows и других технологий, которые могут повлиять на платформу.
- Диагностика наиболее сложных технических проблем, охватывающих Electron, Chromium, Node.js, Windows, жизненный цикл приложения, память, безопасность, установку и размещенные веб-приложения.
- Использование инструментов профилирования, диагностики сбоев, трассировки среды выполнения, нативных инструментов отладки и инструментов разработчика Chromium для понимания сложного поведения системы.
- Написание и проверка записей о принятых архитектурных решениях, технических проектов, интерфейсов платформы, операционных руководств и стандартов разработки.
- Проактивное выявление архитектурных рисков, технического долга, проблем надежности и возможностей упрощения платформы до того, как они станут проблемами доставки или поддержки.
- Обеспечение того, чтобы технические решения учитывали потребности будущих продуктов Autodesk, а также текущие требования Forma.
- Помощь в создании модели адаптации, которая позволит дополнительным веб-приложениям Autodesk использовать десктопную платформу через четко определенные точки конфигурации и интеграции.
- Участие в найме и помощь в установлении технического уровня для инженеров, присоединяющихся к команде.
Минимальные требования
- Степень бакалавра в области компьютерных наук, программной инженерии или смежной технической области, или эквивалентный практический опыт.
- 8+ лет опыта профессиональной разработки программного обеспечения.
- Опыт разработки программного обеспечения на JavaScript или TypeScript и Node.js.
- Значительный опыт проектирования и внедрения сложных программных систем или возможностей платформы.
- Опыт работы с Electron, приложениями на основе Chromium, разработкой десктопных приложений или сопоставимыми платформами системных приложений.
- Глубокое понимание архитектуры приложений, границ процессов, асинхронных систем, безопасности и управления жизненным циклом программного обеспечения.
- Опыт руководства техническим проектированием и реализацией с участием нескольких инженеров.
- Способность решать неоднозначные или открытые технические проблемы от исследования до архитектуры, реализации и производственного внедрения.
- Отличные навыки отладки в нескольких компонентах, процессах или технологических слоях.
- Опыт работы с автоматизированным тестированием, непрерывной интеграцией, системами контроля версий, проверкой кода и современными практиками доставки программного обеспечения.
- Опыт представления технических компромиссов и влияния на решения между инженерными командами.
- Подтвержденная способность наставлять инженеров и повышать качество разработки посредством технического руководства.
Предпочтительные квалификации
- Глубокий опыт работы с архитектурой Electron, включая процессы main, renderer и preload, изоляцию контекста, межпроцессное взаимодействие и конфигурацию безопасности.
- Глубокое понимание архитектуры Chromium, конфигурации среды выполнения, флагов функций, цикла выпуска и инструментов разработчика.
- Опыт разработки программного обеспечения на C++, нативных модулях Node.js или взаимодействия между JavaScript и нативными API платформы.
- Опыт разработки программного обеспечения с использованием Windows API или других системных технологий Windows.
- Опыт диагностики проблем с памятью, процессами, производительностью, запуском или сбоями в приложениях на основе Chromium или нативных десктопных приложениях.
- Знакомство с инструментами сборки Electron или Chromium, такими как GN и Ninja.
- Опыт упаковки приложений Windows, установки, подписи кода, обновления и корпоративного развертывания программного обеспечения.
- Опыт проектирования общих API, SDK, сред выполнения или компонентов платформы, используемых несколькими продуктами или инженерными командами.
- Опыт моделирования угроз для десктопных приложений и безопасной архитектуры приложений.
- Опыт работы с безопасностью цепочки поставок программного обеспечения, управлением зависимостями, реагированием на уязвимости и происхождением выпуска.
- Опыт определения операционных стандартов для клиентского десктопного приложения.
Идеальный кандидат
Вам нравится решать технические проблемы, которые не укладываются в один слой технологического стека. Вы одинаково комфортно чувствуете себя, обсуждая архитектуру платформы, проверяя TypeScript, исследуя поведение Chromium, отлаживая проблему Windows, изучая отчет о сбое или помогая инженеру разобраться в сложной проблеме проектирования.
Вы остаетесь практичным, думая за рамками своего кода. Вы понимаете, когда локальное решение может создать долгосрочную проблему для платформы, и работаете с командой, чтобы найти более простое и поддерживаемое решение.
Вы обеспечиваете техническое руководство посредством ясности и экспертизы, а не иерархии. Вы помогаете другим инженерам принимать правильные решения, объясняете сложные компромиссы простым языком и создаете среду, в которой инженеры могут все больше работать независимо.
Вы рассматриваете десктопное приложение как платформу, а не как разовую обертку продукта. Вы заботитесь о создании четких интерфейсов, сокращении ненужной кастомизации, поддержании безопасных границ и проектировании возможностей, которые могут быть повторно использованы будущими продуктами Autodesk.
Вы комфортно работаете в условиях неопределенности, собираете доказательства, сравниваете альтернативы, даете рекомендации и меняете направление, когда поступает новая техническая информация.
Мы создаем новую десктопную платформу, которая позволяет веб-продуктам Autodesk предоставлять более богатый, высокопроизводительный опыт работы в Windows. Forma — первый продукт, использующий эту платформу, с долгосрочной целью создания повторно используемых десктопных возможностей для других продуктов Autodesk.
Вы присоединитесь к новой кросс-функциональной команде платформы, работающей над интеграцией Electron, Chromium, Windows, доставкой программного обеспечения, безопасностью, качеством и корпоративным развертыванием. В качестве технического руководителя команды вы будете тесно сотрудничать с инженерами-программистами, инженерами по качеству и выпуску, продуктовыми партнерами и специализированными инженерными командами по всему Autodesk.
Это гибридная рабочая позиция в офисе Autodesk в Шеффилде. Роль сочетает в себе личное взаимодействие с коллегами в Шеффилде и работу с распределенными инженерными командами по всему Autodesk.
О Autodesk
Добро пожаловать в Autodesk! Каждый день с помощью нашего программного обеспечения создаются удивительные вещи — от самых экологичных зданий и самых чистых автомобилей до самых умных заводов и крупнейших кассовых фильмов. Мы помогаем новаторам воплощать их идеи в реальность, трансформируя не только то, как что-то создается, но и то, что может быть создано.
Мы очень гордимся нашей культурой в Autodesk — она лежит в основе всего, что мы делаем. Наша культура определяет то, как мы работаем и относимся друг к другу, информирует о том, как мы взаимодействуем с клиентами и партнерами, и определяет то, как мы проявляем себя в мире.
Будучи сотрудником Autodesk, вы можете выполнять значимую работу, которая помогает создавать лучший мир, спроектированный и созданный для всех. Готовы формировать мир и свое будущее? Присоединяйтесь к нам!
Прозрачность заработной платы
Заработная плата является частью конкурентного компенсационного пакета Autodesk. Предложения основаны на опыте кандидата и географическом положении. Помимо базовой заработной платы, наш компенсационный пакет может включать ежегодные денежные бонусы, комиссии для специалистов по продажам, акции и комплексный пакет льгот.
Принадлежность
Мы гордимся тем, что культивируем культуру принадлежности, где каждый может преуспеть.
Личное знакомство и проверка личности
Эта роль может потребовать личного знакомства и/или личной проверки удостоверения личности.