About Autodesk
Autodesk is a company where amazing things are created every day—from the greenest buildings and cleanest cars to the smartest factories and biggest hit movies. We help innovators turn their ideas into reality, transforming not only how things are made, but what can be made. We take great pride in our culture, which guides the way we work, treat each other, and connect with customers.
Role Description
Autodesk is looking for a Software Engineer to help develop a new Electron and Chromium-based desktop platform for Autodesk web applications. In this hands-on individual contributor role, you will build and maintain components of the Electron application, work with Chromium configuration and desktop operating-system integrations, troubleshoot application and runtime issues, and contribute to making the platform secure, reliable, and reusable. You will work alongside senior engineers while developing deeper expertise in Electron, Chromium, Node.js, Windows, and desktop platform engineering.
Responsibilities
- Electron application development: Develop and maintain features in the Electron main process, preload layer, renderer integration, and supporting Node.js components.
- Chromium runtime and platform integration: Work with supported Chromium and Electron configuration, command-line options, and build settings to enable capabilities required by the desktop platform.
- Windows and native integration: Implement desktop capabilities such as application lifecycle behavior, operating-system integration, hardware and system-information access, application protocols, and other native functionality.
- Reliability, security, and troubleshooting: Investigate application crashes, runtime problems, memory issues, security concerns, installation problems, and interactions between the web application and desktop environment.
- Implement well-defined features and technical tasks from design through testing and code review.
- Develop secure communication between web content and privileged desktop functionality using well-defined application interfaces.
- Write unit and integration tests for the components you develop and contribute to the team's automated quality practices.
- Work with senior engineers to apply Electron security best practices, including process isolation, restricted native APIs, secure inter-process communication, and controlled navigation.
- Contribute to integrations with identity, crash reporting, telemetry, software distribution, and other desktop platform services.
- Help evaluate and adopt new Electron and Chromium versions and resolve compatibility issues when they arise.
- Use profiling, logging, Chromium developer tools, and operating-system diagnostic tools to investigate technical problems.
- Participate in design discussions, code reviews, sprint planning, technical investigations, and team retrospectives.
- Work collaboratively with quality, build/release, product, and other engineering teams to deliver production-ready functionality.
- Document technical implementations and lessons learned so knowledge can be shared across the team.