Summary
✨ AI‑Generated
Join a small engineering team developing production software that runs directly on smart industrial devices. You will design, develop, and support software deployed in customer environments, solve complex technical problems, collaborate with engineering teams globally, and help shape an evolving platform as it adopts Rust alongside established .NET and Python technologies.
Highlights
Build software that runs directly on smart industrial devices used in real-world manufacturing and logistics environments. Work hands-on within a small engineering team, collaborate globally, ship meaningful features, and influence a transition toward Rust.
Description
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 environments.
Having built on .NET, C++, and Python over the years, the team has recently added Rust, and you'll have a real say in how our platform evolves next as we transition from .NET and Python toward 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.
Responsibilities
Design, develop, and support production software using .NET and Python, with occasional Angular and growing use of Rust (including an existing Rust library consumed by C++ products) as part of our platform evolutionTranslate ambiguous requirements into clear designs, leading them through implementation, testing, and release as reliable featuresInvestigate and resolve complex technical issues across a mature platformMake pragmatic technical decisions accounting for product, system, and cross-team dependenciesEnhance engineering practices, code quality, documentation, testability, system stability, and operational confidenceContribute through code reviews, documentation, and clear technical communicationCollaborate 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 systemsStrong .NET, OOP Python, Java, or comparable experience, with adaptability for new languagesExperience with production software deployed on physical device hardware (not purely cloud-native)Comfortable working in Linux environmentsStrong 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 environmentsUnderstanding 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)Collaborate closely with US engineering, requiring regular time-zone overlapRequires scheduling flexibility to support global customersOn-call support is occasional (rotates ~1 week in 6), not a core duty