The role
From Autodesk's own posting.
Job Requisition ID #
26WD101204
Position Overview
Autodesk is working to make design and manufacturing data more accessible and useful across products, workflows, and applications. A key part of that strategy is giving developers better ways to access and work with data stored in Autodesk Data Exchange.
The Heimdall team develops SDKs and reusable software components that enable Autodesk products and developers to work with that data. Our current focus is the Geometry Utilities SDK, which provides programmatic access to geometry, including B-Rep, mesh, and primitive geometry—that would otherwise be difficult for external applications and services to consume.
We are looking for a Senior Software Engineer who enjoys building high-quality SDKs and developer-facing APIs, working across managed and native code, and contributing to technical design decisions.
You will work extensively in both modern C#/.NET and modern C++ and contribute across the lifecycle of our SDKs: architecture, API design, implementation, automated testing, packaging, CI/CD, release, and ongoing evolution. Engineers on the team are expected to work comfortably across both languages. A candidate may have deeper expertise in one than the other but should be capable of contributing in both and motivated to strengthen any gaps.
This role is a good fit for an engineer who likes to dig deeply into technical problems, openly discuss and debate design alternatives, collaborate across teams, and continuously expand their technical skills. We also expect engineers on the team to make thoughtful use of modern AI-assisted development tools while maintaining strong engineering judgment and software quality.
Responsibilities
Design, implement, test, document, and maintain production-quality SDKs and reusable software components
Develop across modern C#/.NET and modern C++, including communication and interoperability between managed C# and native C++ components
Participate actively in the architecture and design of developer-facing APIs, contributing experience and perspective to technical decisions across the team
Design APIs that are intuitive, maintainable, and capable of evolving over time while minimizing breaking changes for consumers
Consider API lifecycle concerns including compatibility, versioning, deprecation, and migration strategies
Collaborate with Autodesk product and platform teams that integrate and depend on the team's SDKs
Contribute to technical discussions with partner teams and represent the team's designs, decisions, and work in broader engineering forums when appropriate
Develop comprehensive automated unit tests and contribute to broader integration, compatibility, consumer, and performance testing strategies
Own software through its complete delivery lifecycle, including build, packaging, CI/CD, artifact publishing, and release
Create and maintain NuGet packages and other software artifacts, including package versioning, signing, publishing, and dependency management
Reason about complex dependency graphs and compatibility issues across reusable managed and native components.
Contribute to and maintain automated CI/CD pipelines used to build, test, validate, package, and deliver the team's software.
Use modern AI-assisted development tools as part of a disciplined engineering workflow, applying appropriate validation and engineering judgment to generated code and solutions.
Independently investigate unfamiliar technologies and technical problems, develop expertise, and share knowledge with the team.
Contribute to the growth of other engineers through technical collaboration and, as familiarity with the team and technology grows, informal mentoring.
Minimum Qualifications
Strong demonstrated software engineering skills and experience developing production-quality software
Strong experience developing applications, libraries, or SDKs with modern C#/.NET and modern C++
Experience working across C# and C++ boundaries or with comparable managed/native interoperability
Ability to contribute effectively in both C# and C++, with demonstrated willingness to deepen expertise where needed
Experience designing and implementing SDKs, libraries, or developer-facing APIs
Strong understanding of API design principles and developer experience
Experience evolving APIs while considering backward compatibility, versioning, and the impact of changes on downstream consumers
Strong experience with automated unit testing and designing software for testability
Experience with software build, packaging, dependency management, and continuous integration practices
Experience working with source control and collaborative software development workflows
Strong technical communication skills and the ability to discuss, explain, challenge, and refine architecture and implementation approaches with other engineers
Ability to work independently across unfamiliar areas of a technology stack and a demonstrated willingness to develop new technical expertise
Practical experience using modern AI-assisted software development tools such as GitHub Copilot, Claude Code, Cursor, ChatGPT, or comparable technologies
Demonstrated ability to use AI-assisted development responsibly, including validating generated code, managing context, maintaining software quality, and recognizing when generated solutions require additional investigation or should not be used
A formal degree is not required. We value a strong foundation in computer science and software engineering principles, whether developed through formal education, professional experience, or other demonstrated technical work.
Preferred Qualifications
Experience designing, implementing, or maintaining SDKs that are consumed by multiple products or development teams
Experience with integration testing, compatibility testing, consumer/application testing, or performance testing
Experience with CloudBees or similar CI/CD platforms
Experience creating and maintaining NuGet packages
Experience publishing software artifacts using Artifactory or similar artifact repositories
Experience managing complex native and managed dependency graphs, package versioning, and dependency compatibility
Familiarity with computational geometry, CAD, or related domains
Understanding of common geometry representations and their tradeoffs, including B-Rep, mesh, and primitive geometry
Experience developing cross-platform native or .NET software, particularly for Linux
Experience with profiling, debugging, or optimizing performance across managed and native code
Familiarity with cloud-based systems and services
Experience with specification-driven or spec-driven software development practices
Experience creating API documentation, examples, migration guidance, or other materials that improve developer experience
Learn More
About Autodesk
Welcome to Autodesk! Amazing things are created every day with our software – 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 here at Autodesk – it’s at the core of everything we do. Our culture guides the way we work and treat each other, informs how we connect with customers and partners, and defines how we show up in the world.
When you’re an Autodesker, you can do meaningful work that helps build a better world designed and made for all. Ready to shape the world and your future? Join us!
Benefits
From health and financial benefits to time away and everyday wellness, we give Autodeskers the best, so they can do their best work. Learn more about our benefits in the U.S. by visiting https://benefits.autodesk.com/
Salary transparency
Salary is one part of Autodesk’s competitive compensation package. For U.S.-based roles, we expect a starting base salary between $117,000 and $209,330. Offers are based on the candidat