đŸ‘šđŸ»â€đŸ’» postech.work

Systems Software Engineer

SUBNERO PTE. LTD. ‱ 🌐 In Person

In Person Posted 3 days, 8 hours ago

Job Description

Do you love building systems from the ground up — tinkering with operating systems, drivers, and protocols, and making hardware and software really talk to each other? At Subnero, we design and build the technology that enables communication underwater — one of the most challenging networking environments you’ll ever encounter.

At the heart of this is UnetStack, our open software framework for underwater networking. As a systems software engineer, you’ll make sure UnetStack runs efficiently on embedded Linux platforms, integrates cleanly with diverse hardware, and performs reliably in the field.

We’re looking for someone who’s excited about embedded Linux, drivers, networking protocols, and programming in C, Python, Rust, and Java — and who wants to join a small, deeply technical team building real-world systems that bridge hardware, operating systems, and communications.

Fresh graduates are welcome: if you’ve explored Linux on a Raspberry Pi, tinkered with embedded systems, we’d love to hear from you.

As a systems software engineer at Subnero, you will:

Customize and optimize embedded Linux distributions to support UnetStack and related software.

Configure and debug Linux at the system level (bootloaders, device trees, systemd services, networking).

Enhance and support UnetStack (Java-based) protocol agents on embedded platforms.

Write and maintain C and Rust code for low-level system components that UnetStack depends on.

Use Python for testing, automation, and deployment scripting.

Integrate a variety of communication hardware — sensors, modems — into UnetStack.

Improve and maintain build systems (Makefiles, cross-compilation toolchains) and automation scripts (Github Actions).

Profile and optimize system performance so that UnetStack can operate efficiently in resource-constrained environments.

Validate functionality and performance in the field with real hardware.

Collaborate closely with hardware engineers, application developers, and researchers to shape the system end-to-end.

You will thrive in this role if you:

Are comfortable digging into operating system internals (Linux configuration, cross-compilation, systemd service management).

Enjoy writing code in C and Rust for system-level programming, and Python for testing and automation.

Are comfortable working with networking concepts, like subnetting, routing, DHCP, and DNS.

Appreciate the craft of hardware/software integration and enjoy debugging tricky low-level problems.

Believe in documenting your work — for colleagues today and your future self tomorrow.

Value clear communication, curiosity, and persistence as much as technical skill.

Enjoy working in field settings, testing systems in real-world conditions.

Before applying, you might want to:

Explore UnetStack (https://unetstack.net/) to see the systems you’ll be supporting.

Try the Unet simulator (https://subnero.com/products/unetsim.html) and VirtualAcousticOcean (https://github.com/org-arl/VirtualAcousticOcean.jl) to understand underwater networking challenges.

Experiment with Raspberry Pi or similar boards: set up Linux, configure device trees, and run a program as a systemd service.

Practice coding in C, Python, and Rust, and get comfortable navigating a Java-based application ecosystem.

Read about embedded Linux workflows like Yocto, Buildroot, and cross-compilation.

Think about how you’d optimize a system running on limited resources in unpredictable environments.

This role could be a great fit if you are:

A seasoned engineer with experience in embedded Linux, drivers, systemd services, and low-level programming.

A recent graduate who has tinkered with Linux internals, Raspberry Pi projects, or embedded systems — and has coded in C, Python, Rust, or Java.

Someone who likes working close to the metal and doesn’t mind rolling up their sleeves to debug gnarly system issues — especially when the end result is making UnetStack run better.

Get job updates in your inbox

Subscribe to our newsletter and stay updated with the best job opportunities.