TLDR

Build production software for smart cameras using .NET, Python, Angular, and growing Rust across industrial automation systems.

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

Moritex Technologies designs and delivers advanced machine vision solutions for manufacturing and logistics industries. By utilizing cutting-edge optics, image sensors, and AI software, they provide powerful tools that help companies analyze and understand visual data efficiently. Their focus on innovation and R&D positions them as a notable player in the machine vision market.

View company profile