cover image
Nanometrics Inc.

Senior Software Developer - R&D

On site

Ottawa, Canada

Senior

Full Time

25-11-2025

Share this job:

Skills

Communication Leadership Python Java Go Rust NoSQL CI/CD Monitoring Product Management Networking Research Architecture Programming git Autonomy Software Development Process Improvement cloud platforms C++ Embedded Systems

Job Specifications

Job Title

Senior Software Developer - R&D

Reports To

Director, Software Development

Based In

Ottawa, ON

Term

Full Time

About Nanometrics

With 40 years of seismic technology and industry application experience, we are a global, award-winning company providing monitoring solutions and equipment for studying artificial and natural seismicity. From mission-critical seismic arrays, tsunami and early earthquake warning systems in over 90 countries across the globe to induce seismicity monitoring in the energy sector. We specialize in full-service, integrated solutions for studying artificial and natural seismicity, including turnkey seismic networks, industry-leading precision instrumentation, complete data processing, analysis services, and software applications.

At Nanometrics, we take pride in fostering a culture of innovation, collaboration, and excellence. We are passionate about making a global impact through cutting-edge technology while staying rooted in values of intentional innovation, trust, ethics, and stability.

About the role: 

This is a technical leadership role for a highly versatile Senior Software Developer to drive the development and architecture of our sophisticated, multi-disciplinary instrumentation and data solutions. We solve unique problems that require expertise across diverse technological landscapes—from low-level firmware and applications running on devices in Rust/C++ to cloud-based data ingestion and monitoring systems in Java and other languages.

We are seeking a polyglot leader who excels at solving complex problems, mentoring teams, and defining technical strategy. If you thrive on architectural ownership and believe different problems require different technological solutions, you will play a critical role in advancing global scientific discovery and resilience.

Responsibilities

As a Senior Software Developer, you will be a technical leader, owning the design and implementation of major features across our entire software ecosystem.

Architectural Ownership: Take the lead on the design, architecture, and implementation of complex software systems, ensuring high performance, scalability, and maintainability across embedded, data center, and cloud environments.
Technical Strategy and Selection: Identify and research appropriate tools, languages, and frameworks to deliver the best technical solution, justifying decisions based on long-term maintainability and performance.
Complex Problem Resolution: Own and resolve challenging system reliability, data integrity, and performance optimization problems, requiring deep analysis that can span across multiple technology layers (firmware, networking, database, and cloud).
Mentorship and Code Quality: Set the standard for code quality and software development processes. Lead and conduct code reviews, providing detailed technical guidance and mentoring intermediate and junior developers to elevate the team's overall skill level and adherence to best practices.
Project Leadership: Collaborate with Product Management and R&D leadership to define technical roadmaps, accurately estimate complex projects, identify critical risks, and drive features through the entire development lifecycle.
Process Improvement: Proactively identify inefficiencies in our development, deployment, and operational processes, leading the effort to implement tooling and methodology improvements (e.g., CI/CD, testing automation).

Requirements: Required Technical Skills

Experience: 5+ years of professional software development experience, with a significant track record of delivering and owning large-scale, complex software systems.
Technical Versatility and Depth: Demonstrated expert-level proficiency in at least two core programming languages (e.g., C++, Java, Rust, Python, Go), and a proven history of rapidly mastering new technologies based on architectural need.
System-Level Knowledge: Expert understanding of networking, communication protocols, concurrency models, data structures, and the trade-offs between various database technologies (relational, NoSQL).
Design Expertise: Extensive experience designing, integrating, and deploying software in any or all of embedded systems, enterprise data centers, and cloud platforms.
Workflow Mastery: Expert knowledge of Git, CI/CD systems, and advanced testing methodologies.
Education: Bachelor's degree in Software Engineering, Computer Science, or Electrical Engineering; an applicable college degree will also be considered. Fluent in English: verbal and written.

Key Mindset and Attributes

Technical Leadership: The ability to influence technical direction, communicate complex architectural concepts clearly to both technical and non-technical audiences, and drive consensus on challenging design choices.
Architectural Excellence: Passionate about building robust, secure, and highly reliable systems, focusing on long-term sustainability over short-term fixes.
Autonomy and Ownership: Takes full responsibility f

About the Company

From mission-critical seismic arrays and tsunami warning systems in over 90 countries across the globe, to induced seismicity monitoring and frac monitoring for the energy production market, Nanometrics specializes in full-service, integrated solutions for studying natural and induced seismicity, including turnkey seismic networks, industry-leading precision instrumentation, complete data processing and analysis services, and software applications. For over 30 years, we’ve been working with the world’s leading scientific ins... Know more