Back to all jobs

- Employment
- Permanent Full Time
About the role
Key areas of responsibility
- Building services that run on edge nodes: lightweight, event-driven, and resilient to intermittent connectivity, with careful attention to memory, CPU, and storage budgets.
- Building control-plane services that coordinate fleets of devices, manage configuration and state, and integrate with backend data and analytics systems.
- Building operator-facing web interfaces for monitoring, control, and decision support, including UIs that remain usable when underlying data is stale or partial.
- Designing and implementing APIs that work well over intermittent connections: idempotent, versioned, tolerant of partial connectivity, and clear about state.
- Wiring up streaming and messaging pipelines between edge and core, choosing the right protocol and the right semantics for each link.
- Integrating with sensors, payloads, and hardware-connected systems, often through unconventional protocols and constraints.
- Contributing to test coverage, CI/CD, and shared engineering practices that keep delivery fast and the codebase healthy.
- Working directly with users to validate that what you've built actually solves the operational problem in front of them.
Key skills, experience and behaviours
- Strong full-stack experience: comfortable building production frontends (React or similar, TypeScript) and production backend services (Go, Python, Node.js, or similar).
- Solid API design experience, both REST and event-driven, with an understanding of where each fits.
- Practical experience with message brokers, streaming, or pub/sub systems (MQTT, NATS, Kafka, or similar).
- Experience working with containers and deploying into orchestrated environments.
- Comfortable on Linux: navigating systems, debugging across the stack, reading logs that nobody curated for you.
- Sound software engineering fundamentals: clean code, automated testing, and a feel for when to optimise and when to leave it alone.
- Awareness of secure software development practices and a proactive approach to identifying and mitigating risks.
- Experience building software that handles sensitive data or operates in security-conscious environments.
- Experience building software for constrained or embedded targets (Raspberry Pi class, single-board computers, IoT, ruggedised hardware).
- Experience with offline-first or intermittently-connected applications, including conflict resolution and reconciliation.
- Familiarity with edge-style stacks: container orchestration at the edge, lightweight messaging, time-series data, telemetry.
- Experience in regulated sectors delivering complex connected systems, such as defence, national security, telecommunications, financial services, or automotive industries.
- Curious and adaptable: Our work crosses domains and you should be comfortable picking up new technologies, languages, and problem spaces.
- Ownership: You finish what you start and you care about the user.
- Pragmatic: You choose solutions that work in practice, and you know when to use the standard tool and when the problem genuinely needs something different.
- Collaborative: You share knowledge generously and you're happy to step into someone else's part of the stack when it helps.
- Resilient: You're comfortable in a fast-paced environment where requirements evolve as we learn more about the operational problem.
- Quality-driven: You take pride in building software that holds up, particularly in environments where retrying is not free.
Working at Rowden
731,000+ hidden jobs like this
Rowden and thousands of companies post here first — often days before LinkedIn or Indeed. Your first 5 applications are free; go Pro to apply without limits.
Everything Pro unlocks:
- Unlimited applications — free stops at 5
- Track every application in one place
- Apply straight to the source, one click
- Save & organize roles you love
- Roles pulled from company boards before the big sites