Skip to content

Java Developer

  • On-site
    • Ottawa, Ontario, Canada
  • Research & Development

Are you ready to write code that helps save the planet? At RBR, your Java expertise doesn't just build software—it powers the instruments collecting critical climate data from across our oceans.

Job description

About RBR: Making waves since 1973

At RBR, we’ve been designing cutting-edge instruments to measure our blue planet for over 50 years. Built to withstand some of the harshest environments on Earth, our instruments are deployed from the ocean’s deepest trenches to the polar ice caps, capturing essential data on water temperature, salinity, pH, and more. This data empowers researchers in the global fight against climate change, and our technology supports groundbreaking science with partners like Fisheries and Oceans Canada, Woods Hole, the Scripps Institution, and the British Antarctic Survey.

At RBR, we care deeply about our work, each other, the environment, and the global communities we serve. We value teamwork, continuous improvement, and having fun along the way. From Friday lunches to social events, we’re a crew that thrives on taking on complex and exciting challenges that have a meaningful impact on the blue planet! Ready to make waves with us? Apply below!

What you’ll do

You’ll be a key contributor to Ruskin, our flagship Java-based software that plays a central role both inside and outside RBR. It’s used by researchers worldwide to deploy our instruments and visualize ocean data, and by our in-house calibration team to ensure each of our instruments meets rigorous accuracy standards. This role is based on-site, at our head office in Ottawa, Canada.

What you'll build

🏗️ Next-gen architecture

  • Evolve our sophisticated, multi-layered Java-based platform and design scalable systems for processing sensor data

  • Contribute to our software roadmap and long-term architectural vision

Real-time systems & communication

  • Develop robust communication protocols and optimize database and storage interactions

  • Maintain and enhance our instrument communication frameworks

🔬 Calibration software & APIs

  • Build and maintain calibration software systems and REST APIs using Spring/Spring Boot applications

  • Integrate calibration workflows with QA, manufacturing, and lab operations

🎨 User experience

  • Design intuitive UIs for both researchers (customers) and RBR’s Calibration team

  • Balance functionality with usability for mission-critical applications

🔧 Engineering & operations

  • Improve CI/CD pipelines, release planning, and deployment strategies

  • Involvement in all aspects of the software design life cycle

  • Support Engineering, Production, and Calibration teams across the full development lifecycle

🌐 Global & scientific impact

  • Support researchers deploying instruments worldwide and contribute to open science

  • Provide developer-level support to the global oceanographic community

  • Ensure data accuracy through reliable, well-integrated calibration systems

Job requirements

What we're looking for

Core expertise

  • 5+ years Java development; we value skill and passion over tenure alone

  • Strong OOP and design pattern knowledge is essential

  • Multithreading, performance optimization, and cross-platform development (Windows/macOS/Linux)

  • Eclipse RCP, SWT, and OSGi deep knowledge (including p2)

  • Common web UI frameworks (React, Angular, jQuery)

Technical toolkit

  • SQL and database design (SQLite, PostgreSQL)

  • REST APIs, web services architecture, and Spring/Spring Boot for backend systems

  • Familiarity with CI/CD development pipelines, testing strategies, and code review workflows

  • Experience with Atlassian tools (Jira, Confluence)

  • UI/UX sensibilities (a definite asset!)

  • Interest or experience using AI development tools (GitHub Copilot, ChatGPT, etc.) to enhance coding productivity

Education & problem-solving

  • Post-secondary education in Computer Science, Software Engineering, or a related field

  • Strong analytical thinking and creative problem-solving skills

  • Ability to manage multiple projects and priorities in a dynamic environment

The RBR mindset

  • Passion for environmental impact and climate science

  • Thrives in fast-paced, mission-driven environments

  • Loves solving unique technical challenges

  • Collaborative spirit with interrupt-driven adaptability

  • Creative and resourceful approach to problem-solving

  • Enjoys unique design challenges and innovative solutions

  • Interest in precision instrumentation and scientific accuracy

  • Embraces new technologies and modern development approaches

Why you'll love working at RBR

  • 🌴 20 days of vacation, plus a company-wide holiday shutdown and paid sick days

  • ⏰ Work from wherever Wednesdays (most roles eligible)

  • 🩺 Benefits from day 1 & RRSP contribution matching

  • 💰 Bonus program

  • 🏋🏽 Annual fitness reimbursement program

  • 🚴 Greener commuting incentive program (bike-to-work, carpool, or transit passes)

  • 🚗 EV reimbursement program + on-site charging stations

  • 💝 Charitable donation matching

  • 🌮 Monthly Friday lunches (on us)!

  • 🎉 Team events and social activities

  • 🤝 Collaborative, supportive work environment

  • 🧠 Work alongside passionate experts spanning multiple disciplines

  • 🌊 Direct impact on climate science and ocean research

Ready to make waves?

Join a team where your code makes a real difference in understanding and protecting our planet's oceans. At RBR, you're not just building software—you're enabling the science that helps save our planet, from field deployment to laboratory precision.

🌊 Let's build the future of oceanographic software together!

At RBR, we celebrate and support diversity in our workplace. As an equal-opportunity employer, we welcome people from all backgrounds and aim to find the most talented person for each role. Accommodations are available upon request at every stage of the selection process.

On-site
  • Ottawa, Ontario, Canada
Research & Development

or

Apply with Linkedin unavailable
Apply with Indeed unavailable