Hands-on experience in building and running production backend software.
Strong command of code-level design patterns and SOLID principles, including repository, unit of work, dependency injection, factory, and strategy, with the judgment to know when a pattern is earning its keep and when it is overhead.
Deep fluency in at least one modern backend language, and the ability to pick up another without drama. We build primarily in C#/.NET, so that is ideal. Strong Java, Go, or Kotlin engineers willing to work in C# are equally welcome.
Production cloud experience. Azure preferred, AWS or GCP fine.
Containers and Kubernetes in a real environment, including debugging a cluster you did not build
Solid grasp of API integration: pagination, retries, idempotency, partial failure.
Data modeling in relational and document stores.
Working knowledge of OAuth 2.0 and OIDC. You should know what is in a token and what breaks when it is wrong.
Comfortable owning infrastructure as code and pipelines rather than handing them off.
Genuine interest in the engineering domain. Curiosity about how products are actually designed, revised, and released matters more here than it does on most teams.
Clear writing. Design notes and runbooks are part of the job.
Authorized to work in the United States for any employer without sponsorship
PLM, PDM, ERP, or CAD systems experience. PTC Windchill is a strong plus, but we will teach it.
Bicep, Terraform, or ARM, Azure DevOps Pipelines.
Message-driven systems and their operational patterns: Azure Service Bus, Event Hubs, Event Grid.
OpenTelemetry, Application Insights, Grafana.
Modernizing a legacy system while it stays in production.
Qualifications:
A Bachelor’s or Master’s degree in any discipline from a recognized institution is acceptable.
Job Description:
Design, build, and run backend services that deploy to Kubernetes on Azure.
Build integrations between PLM and downstream systems, working with APIs you do not control and the failure modes that come with them.
Work directly in the PLM platform: OData and REST interfaces, configuration, and custom Java extensions.
Own your deployment path, including infrastructure as code, CI/CD pipelines, and Kubernetes manifests for what you build.
Write automated tests as part of shipping, not as a follow-up.
Instrument services so production problems are found in telemetry rather than by guessing.
Review peers' code and hold a consistent bar.
Work with product owners and engineering users to turn real problems into working software.