Software Engineer
Core
Designing and maintaining high-quality SDKs and reusable software components for Autodesk Data Exchange, enabling programmatic access to geometry data (B-Rep, mesh, primitives) for external applications.
Role type
Senior Software Engineer (SDK/API Development)
Builds
Geometry Utilities SDK, developer-facing APIs, NuGet packages, and CI/CD pipelines
Domain
Software Engineering, SDK Development, Geometry/CAD Data
Deliverable
production ML models | product features | dashboards & analysis | research | client delivery | infrastructure | physical/clinical work
Required skills
Modern C#/.NET, Modern C++, SDK/API design, Managed/Native interoperability, Automated unit testing, CI/CD, Dependency management, API versioning, Technical communication
Preferred skills
Integration/compatibility/performance testing, CloudBees, Artifactory, Computational geometry, Cross-platform native/.NET (Linux), Profiling/optimization, Cloud services, Spec-driven development
Technologies
C#, C++, .NET, NuGet, CI/CD, GitHub Copilot, Claude Code, Cursor, ChatGPT
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; 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; 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.
Seniority
Senior, hands-on IC