Software Engineer – Distributed Systems & Platform Engineering
In this highly visible and cross-functional role as a member of our CAD Infrastructure Development team, you will be responsible for contributing to the development of distributed systems and microservices architectures. You will collaborate with multiple product and engineering teams to implement and maintain scalable, event-driven platforms. Your work will enable us to increase system reliability, improve development velocity, and deliver high-quality services at scale.
Minimum Qualifications
Experience in software development with a focus on backend or distributed systems
Experience in backend or systems-level languages, such as Go, Java, or Python
Experience in using version control systems, such as Git
Experience in operating within containerized and cloud-native environments
Experience debugging complex distributed workflows and service interactions
Experience of software quality methodologies, including code review, regression testing, and coverage analysis
Minimum requirement of BS + 3 years of relevant industry experience
Preferred Qualifications
Experience working with Kubernetes and container orchestration in a production environment
Experience with event-driven architectures and messaging systems, such as Kafka, RabbitMQ, or NATS
Experience in DevOps and CI/CD methodologies, platforms, and tools, such as ArgoCD, Jenkins, or similar
Strong understanding of distributed systems concepts: service communication patterns, consistency trade-offs, and failure modes
Strong problem-solving abilities and an architectural mindset
Familiar with infrastructure-as-code tools, such as Terraform or Pulumi
Familiar with API design principles across REST and gRPC
Knowledgeable in microservices patterns, including service discovery, circuit breakers, and contract testing
Demonstrated ability to collaborate effectively in design discussions and contribute ideas that improve the team's technical direction