Principal Software Engineer
for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). Include a section only when posting has real, specific content. Remove boilerplate, duplicated lines, application instructions, etc. No markdown fences.
We need to preserve all substantive info. Let's extract content.
Job posting: Title: Principal Software Engineer (but we don't repeat as heading). Provide description: "Autodesk is looking for a Principal Software Engineer to provide technical leadership for a new Electron and Chromium-based desktop platform for Autodesk web applications. In this hands-on individual contributor role, you will define the platform architecture, lead complex technical decisions, and guide engineers building the Electron runtime, Windows integrations, automated delivery systems, and shared platform capabilities. You will combine deep technical expertise with broad influence, helping the team deliver a secure, maintainable, and reusable desktop platform while remaining actively involved in design, implementation, debugging, and code review."
That's about the role. So About the role
then
with that paragraph. Responsibilities: The posting lists many responsibilities with bullet-like sentences. We need to extract them into
- . The responsibilities section includes many items: "Platform architecture and technical direction - approximately 30%: Define and evolve the architecture of the Electron desktop platform, including process boundaries, native capabilities, application interfaces, security controls, runtime configuration, and product integration patterns" etc. We need to capture each bullet. Let's list responsibilities from the text: - Platform architecture and technical direction - approximately 30%: Define and evolve the architecture of the Electron desktop platform, including process boundaries, native capabilities, application interfaces, security controls, runtime configuration, and product integration patterns - Hands-on platform engineering - approximately 25%: Design, prototype, implement, and review complex functionality across Electron, Chromium, Node.js, TypeScript, Windows APIs, and supporting native components - Technical leadership and mentoring - approximately 20%: Guide engineers through design and implementation decisions, mentor team members, review complex changes, establish engineering standards, and help the team develop expertise in desktop platform engineering - Cross-team integration and platform adoption - approximately 15%: Work with product teams and Autodesk platform teams responsible for security, identity, software distribution, telemetry, crash reporting, graphics, and other shared capabilities - Operational readiness and engineering quality - approximately 10%: Partner with quality and release engineering to define release gates, runtime upgrade policies, observability, supportability, and production-readiness requirements - Own the overall technical architecture of the shared desktop platform and ensure clear boundaries between reusable platform capabilities and product-specific functionality - Define secure communication patterns between hosted web applications and privileged desktop functionality, including process isolation, inter-process communication, native API exposure, navigation controls, and application trust boundaries - Establish the strategy for using and upgrading Electron and Chromium, including supported versions, configuration and build options, runtime feature enablement, compatibility assessment, and response to security updates - Keep the platform as close as practical to supported upstream Electron and Chromium capabilities, avoiding unnecessary customization and long-term maintenance burden - Lead the design of native Windows capabilities such as application lifecycle management, hardware and system-information access, GPU preference, protocol handling, operating-system integration, and enterprise deployment behavior - Define stable interfaces through which Autodesk web applications can consume desktop capabilities without creating product-specific implementations or forks - Work with the P3 Senior Software Engineer to break larger platform objectives into technical designs, implementation plans, dependencies, and incremental deliverables - Provide technical guidance and mentorship to the P2 Software Engineer, helping them develop deeper expertise in Electron, Chromium, Node.js, Windows, debugging, and secure application design - Partner with the team's SDET and CI/CD/Release Engineer to ensure the platform is testable, buildable, reproducible, diagnosable, and capable of being released through automated delivery pipelines - Define technical requirements for build, packaging, signing, release promotion, rollback, and runtime qualification while leaving day-to-day pipeline implementation with the engineer responsible for CI/CD and release automation - Work closely with Autodesk application-security specialists to develop threat models, address security findings, apply Electron and Chromium security best practices, and ensure privileged desktop functionality is exposed safely - Collaborate with specialist graphics and rendering teams on interfaces and requirements related to memory, GPU selection, hardware visibility, and runtime capabilities while keeping graphics implementation within the owning teams - Lead evaluation of new Electron and Chromium releases, significant runtime capabilities, Windows platform changes, and other technologies that may affect the platform - Diagnose the most difficult technical issues spanning Electron, Chromium, Node.js, Windows, application lifecycle, memory, security, installation, and hosted web applications - Use profiling, crash diagnostics, runtime tracing, native debugging tools, and Chromium developer tooling to understand complex system behavior - Write and review architecture decision records, technical designs, platform interfaces, operational runbooks, and engineering standards - Proactively identify architectural risks, technical debt, reliability concerns, and opportunities to simplify the platform before they become delivery or support problems - Ensure technical decisions consider the needs of future Autodesk products as well as the immediate requirements of Forma - Help establish an onboarding model that allows additional Autodesk web applications to adopt the desktop platform through well-defined configuration and integration points - Participate in hiring and help establish the technical bar for engineers joining the team That's a lot. We'll put them as
- .
Now Minimum Qualifications: list:
- Bachelor's degree in Computer Science, Software Engineering, or a related technical field, or equivalent practical experience
- 8+ years of professional software engineering experience
- Strong software engineering experience with JavaScript or TypeScript and Node.js
- Significant experience designing and delivering complex software systems or platform capabilities
- Experience with Electron, Chromium-based applications, desktop application development, or comparable systems-level application platforms
- Strong understanding of application architecture, process boundaries, asynchronous systems, security, and software lifecycle management
- Experience leading technical design and implementation across multiple engineers
- Ability to take ambiguous or open-ended technical problems from investigation through architecture, implementation, and production delivery
- Strong debugging skills across multiple components, processes, or technology layers
- Experience with automated testing, continuous integration, source control, code review, and modern software delivery practices
- Experience communicating technical trade-offs and influencing decisions across engineering teams
- Demonstrated ability to mentor engineers and raise engineering quality through technical leadership
We can put these under
Requirements
(or Qualifications). Use Requirements heading. Preferred Qualifications: list: - Deep experience with Electron architecture, including main, renderer, and preload processes, context isolation, inter-process communication, and security configuration - Strong understanding of Chromium architecture, runtime configuration, feature flags, release lifecycle, and developer tooling - Experience with C++, native Node.js modules, or interoperability between JavaScript and native platform APIs - Experience developing software using Windows APIs or other systems-level Windows technologies - Experience diagnosing memory, process, performance, startup, or crash problems in Chromium-based or native desktop applications - Familiarity with Electron or Chromium build tooling such as GN and Ninja - Experience with Windows application packaging, installers, code signing, updating, and enterprise software deployment - Experience designing shared APIs, SDKs, runtimes, or platform components consumed by multiple products or engineering teams - Experience with desktop application threat modeling and secure application architecture - Experience with software supply-chain security, dependency management, vulnerability response, and release provenance - Experience defining operational standards for a customer-facing desktop application We can put underPreferred Qualifications
(or Skills). The instruction says we can use Skills heading. But we have Preferred Qualifications content; we could put under Skills. However they said use headings like Skills, Benefits, Pay, Schedule. We can use Skills for preferred qualifications. But we also have Requirements heading. Let's use Requirements for minimum qualifications, Skills for preferred qualifications. Now Benefits, Pay, Schedule: The posting mentions salary transparency: "Salary is one part of Autodesk’s competitive compensation package. Offers are based on the candidate’s experience and geographic location. In addition to base salaries, our compensation package may include annual cash bonuses, commissions for sales roles, stock grants, and a comprehensive benefits package." That's some info about compensation and benefits but not specific numbers. The instruction says: never create Pay/Schedule/Benefits sections unless the posting actually states them. It does state that compensation package may include annual cash bonuses, stock grants, comprehensive benefits package. That's somewhat generic but still states benefits exist. However they said avoid filler like "commensurate with experience", "not specified", "N/A", "varies", "TBD". This is somewhat vague but still mentions benefits. Should we include a Benefits section? The instruction: "include a section ONLY when the posting has real, specific content for it — never emit a heading followed by filler/placeholder text". The phrase "comprehensive benefits package" is vague but still indicates benefits exist. Might be considered filler? It's not specific like health insurance, 401k, etc. I'd lean to not include Benefits section because it's not specific. Similarly Pay: they mention salary based on experience and location, plus bonuses, stock grants. That's somewhat specific but still not numbers. Might be considered filler. Safer to omit Pay and Benefits sections. Schedule: they mention hybrid working position based out of Sheffield office, combine in-person collaboration with colleagues in Sheffield with work across distributed engineering teams. That's schedule info (hybrid). That is specific enough? It mentions hybrid working position. Could be considered schedule. The instruction: include Schedule section only if posting actually states them. It does state hybrid working position. So we could include a Schedule section with that info. But we also have location: Sheffield office. Could be part of About the role or separate. We'll include Schedule section with hybrid working details. Let's extract schedule/hybrid info: "This is a hybrid working position based out of Autodesk's Sheffield office. The role combines in-person collaboration with colleagues in Sheffield with work across distributed engineering teams throughout Autodesk." We'll put that inunder Schedule heading. Now also there is "Learn More About Autodesk" etc which is boilerplate; remove. Also "Salary transparency" paragraph we might incorporate into Pay? But we decided to omit Pay. However we could include a brief note about compensation being based on experience and location, plus bonuses, stock grants, benefits. But that's somewhat generic. I'd omit to avoid filler. Now we need to output only HTML fragment, no /. Use
headings,
,
- . Ensure we don't repeat job title.
Let's craft:
About the role
Autodesk is looking for a Principal Software Engineer to provide technical leadership for a new Electron and Chromium-based desktop platform for Autodesk web applications. In this hands-on individual contributor role, you will define the platform architecture, lead complex technical decisions, and guide engineers building the Electron runtime, Windows integrations, automated delivery systems, and shared platform capabilities. You will combine deep technical expertise with broad influence, helping the team deliver a secure, maintainable, and reusable desktop platform while remaining actively involved in design, implementation, debugging, and code review.
Responsibilities
- Platform architecture and technical direction - approximately 30%: Define and evolve the architecture of the Electron desktop platform, including process boundaries, native capabilities, application interfaces, security controls, runtime configuration, and product integration patterns
- Hands-on platform engineering - approximately 25%: Design, prototype, implement, and review complex functionality across Electron, Chromium, Node.js, TypeScript, Windows APIs, and supporting native components
- Technical leadership and mentoring - approximately 20%: Guide engineers through design and implementation decisions, mentor team members, review complex changes, establish engineering standards, and help the team develop expertise in desktop platform engineering
- Cross-team integration and
- . Ensure we don't repeat job title.
Let's craft: