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
.