About this role
Job Description We’re looking for a Principal Software Engineer who wants to stay deeply Your code won't just live in a cluster somewhere: it will run inside smart cameras on factory floors and distribution centers around the world. You'll join a team developing software that powers Cognex machine vision systems used across global manufacturing, logistics, and industrial automation. Having built applications in .NET, C++, and Python over the years, the team has recently added Rust. We're looking for a Senior Software Engineer who enjoys shipping meaningful features, solving complex technical problems, and improving a long-lived production platform. You'll remain deeply hands-on with software deployed on our smart camera devices in customer environments, working as part of a small, 10-person team that collaborates with engineering teams around the world, primarily in the US. This isn't embedded firmware development, but it calls for the same mindset: valuing reliability, performance, and thoughtful use of resources over typical cloud-native trade-offs.
Responsibilities
• Design, develop, and support production software using .NET and Python, with occasional Angular work and growing use of Rust (including an existing Rust library consumed by C++ products) as part of a growing ecosystem
• Translate ambiguous requirements into clear designs, leading them through implementation, testing, and release as reliable features
• Investigate and resolve complex technical issues across a mature platform
• Make pragmatic technical decisions accounting for product, system, and cross-team dependencies
• Enhance engineering practices, code quality, documentation, testability, system stability, and operational confidence
• Contribute through code reviews, documentation, and clear technical communication
• Collaborate with local and global engineering teams to align dependencies and deliver cohesive solutions
Required Skills
• 5+ years of software engineering experience delivering multi-release production systems
• Strong .NET, OOP Python, Java, or comparable experience, with adaptability for new languages
• Experience with production software deployed on physical device hardware (not purely cloud-native or Kubernetes-based)
• Comfortable working in Linux environments
• Strong analytical, debugging, troubleshooting, and communication skills
Working Knowledge
• Experience with backend systems and frontend frameworks (Angular, React, Vue, etc.)
• Resource-conscious design for constrained or operational environments
• Understanding of memory, performance, and reliability (no firmware/embedded required)
What You Can Learn in the Role
• Cognex products and the industrial automation domain
• Angular specifically
• Rust and its role in our longer-term platform direction
Ways of Working
• Auckland-based hybrid (3 days office, 2 WFH)
• Close collaboration with US engineering, with occasional early starts
• Requires scheduling flexibility to support global customers
• Occasional on-call support (~1 week in 6), not a core duty
.
Additional Job Description