SalaryPeak

Software Engineer (Applications & Algorithms)

SUBNERO PTE. LTD.
Singapore 2+ years Posted Apr 2, 2026

Salary Range

SGD 52,800 - SGD 66,000 /year

SGD 4,400 - SGD 5,500/month

Skills Required

Code GenerationMachine LearningJuliaGroovyInteractive DesignSoftware EngineeringAgileApplication DevelopmentProblem SolvingFull Stack DevelopmentSoftware DesignJavaDebuggingAPISoftware Development

Job Description

Do you love making sense of complex data and building applications that thrive in unpredictable environments? 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 software engineer, you’ll expand the capabilities of UnetStack by integrating cutting-edge sensors and developing intelligent, ML-based signal processing and content-aware algorithms that optimize how data moves through the ocean.

We’re looking for someone who is passionate about programming in Java, Groovy, and Julia, and who wants to join a deeply technical team building software that bridges the gap between raw sensor data, machine intelligence, and meaningful communication. We also value engineers who can effectively leverage LLMs and AI coding assistants to accelerate development, automate repetitive tasks, and explore new algorithmic possibilities.

👉 Fresh graduates are welcome: If you’ve built interesting projects in Java, Groovy, or Julia, or have a knack for signal processing, data science, and algorithmic logic, we’d love to hear from you.

As a software engineer at Subnero, you will:

  • Develop Intelligent Agents: Use Java and Groovy to build and maintain UnetStack agents that handle high-level application logic and real-time decision-making.

  • Implement ML & Signal Processing: Design and deploy ML-based signal processing models—leveraging Julia for high-performance algorithmic modeling—to extract features from noisy underwater acoustic data.

  • Design Content-Aware Algorithms: Create smart processing layers that use Machine Learning to classify, prioritize, and compress data based on its importance and the current state of the underwater channel.

  • IoT & Sensor Integration: Integrate a wide variety of underwater sensors—such as CTDs, tide gauges, cameras, and other IoT devices—into the UnetStack ecosystem.

  • Collaborate on UI Design: Work closely with designers to build intuitive interfaces that visualize complex sensor data and ML model outputs.

  • Platform Support: Develop drivers and interfaces to support UnetStack on newer hardware platforms, ensuring seamless hardware-to-software data flow.

  • Field Validation: Take your algorithms out of the lab and into the water, validating ML model performance and system reliability in real-world field conditions.

  • AI-Assisted Development: Utilize LLMs and AI coding tools (e.g., GitHub Copilot, Cursor) to write cleaner code, generate unit tests, and rapidly prototype new UnetStack features.

You will thrive in this role if you:

  • Are proficient in Java/Groovy for application logic and/or Julia for numerical computing and ML.

  • Enjoy the challenge of algorithmic thinking—figuring out how to process data intelligently using both traditional statistical methods and modern Machine Learning approaches.

  • Are skilled at using LLMs for code generation, debugging, and refactoring, while maintaining a critical eye for security, performance, and correctness.

  • Have a strong interest in sensor integration (serial interfaces, TCP/UDP protocols, data parsing) and the data pipelines that feed ML models.

  • Are comfortable working with diverse datasets from IoT sensors or underwater cameras.

  • Appreciate the "full-stack" nature of this domain, where software meets physics and data science meets robotics.

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

Before applying, you might want to:

  • Explore UnetStack (https://subnero.com/products/wnc/unetstack/) to see the framework you’ll be developing for.

  • Try the Unet simulator to understand how agents interact.

  • Check out VirtualAcousticOcean.jl to see how we use Julia for high-performance underwater modeling and ML research.

  • Think about how you would apply Machine Learning (e.g., Neural Networks, SVMs, or Clustering) to identify specific acoustic signatures in a highly noisy underwater environment.

  • Practice writing a simple data-processing agent in Groovy or a signal analysis script in Julia.

  • Practice using an LLM to help you write a simple data-processing agent in Groovy or a signal analysis script in Julia.

This role could be a great fit if you are:

  • A recent graduate with a strong foundation in Computer Science, Data Science, or Engineering, a love for Java, Groovy, or Julia, and a desire to build real-world ML applications.

  • A seasoned engineer with a background in application development, IoT sensor integration, or applied Machine Learning who wants to dive into the underwater domain.

  • An "AI-native" developer who knows how to amplify their productivity using LLMs without compromising on technical rigor or deep understanding.

  • Someone who enjoys the intersection of high-level logic, UI collaboration, and "on-the-metal" sensor data.

Life at Subnero

We are a small, highly technical, and collaborative team working on cutting-edge underwater networking technology. Our values show up in daily life:

  • Rigor in the way we design, build, and test systems.

  • Curiosity in the way we constantly learn new things and explore new ideas.

  • Responsibility in owning problems end-to-end and helping each other.

  • Transparency in how we communicate and share ideas.