Senior Software Developer

Nanometrics, Inc.

$110K — $130K *
Information Technology
5 - 7 years of experience
Job Overview by Ladders

Qualifications

  • 5+ years of professional software development experience.
  • Expert-level proficiency in a core language (C++, Rust, Java).
  • Deep proficiency in using Linux as a development environment.
  • Understanding of networking technologies and relational databases (e.g., PostgreSQL, MySQL).
  • Proficient in version control (Git), task tracking (Jira), and CI/CD systems.
  • Bachelor's degree in Software Engineering, Computer Science, or Electrical Engineering.

Responsibilities

  • Design, implement, and test new features for scientific instrumentation and data management software.
  • Analyze and resolve complex technical challenges related to system performance and reliability.
  • Drive the selection of suitable technologies to solve specific problems effectively.
  • Conduct thorough code reviews and mentor junior developers for high-quality code.
  • Lead technical scoping and architectural decisions on larger software projects.
  • Investigate and resolve escalated technical issues while improving processes.

Benefits

  • Flexible hybrid work model with at least 3 days in-office.
  • Minimum of 3 weeks vacation, plus sick days and holiday shutdown.
  • Health and dental benefits coverage starting from day one.
  • Wellness account for gym memberships and personal trainers.
  • RRSP matching contributions and a company-wide bonus program.
  • Ongoing access to learning platforms like Udemy Business.
Full Job Description
Job Title:

Senior Software Developer

Reports to:

Manager, Software Development

Based in:

Ottawa, ON

Term:

Full Time

About the role:

This is a role for a highly skilled Senior Software Developer to join our team, focusing on building and extending the next generation of scientific instrumentation software. The problems we solve are diverse, requiring you to work across our entire software ecosystem.

The software we develop spans low-level embedded firmware, sophisticated applications running in customer data centers, and scalable cloud services. Consequently, we value adaptability and a polyglot mindset. If you are a smart and creative developer with a passion for software development technologies, and are eager to learn new programming languages or frameworks to solve the right problem with the best technology, you will thrive here.

Responsibilities:

As a Senior Software Developer, you will be deeply involved in the entire software lifecycle, from concept to deployment, spanning multiple technology stacks.
  • Full-Stack Development & Implementation: Design, implement, and test robust new features for our instrumentation, data center, and cloud-based software products that manage the acquisition, storage, transmission, and monitoring of Earth data.
  • Problem Solving & Optimization: Analyze and solve complex technical challenges related to system reliability, performance tuning, and optimizing system usability and data transmission across diverse network environments.
  • Technology Selection & Application: Drive the selection and application of appropriate technologies (e.g., Rust for embedded) to deliver the best technical solution for a given problem. Willingness to learn new development technologies is essential.
  • Quality Assurance & Mentorship: Initiate and participate in thorough code reviews, provide constructive feedback, and mentor junior developers to ensure maintainable, high-quality code and design.
  • Technical Project Leadership: Take direct responsibility for technical scoping, architectural trade-offs, and risk mitigation on larger software deliverables.
  • Operational Support & Improvement: Actively investigate and resolve technical issues escalated to R&D. Proactively identify and contribute to improvements in our processes, quality, and technologies.

Requirements:

Required Technical Skills
  • Experience: 5+ years of professional software development experience.
  • Technical Versatility: Expert-level proficiency in a core language (e.g., C++, Rust, Java), and a demonstrated eagerness to adopt new languages based on project need.
  • Foundational Knowledge: Deep proficiency in using Linux as a development environment and target platform for software development. Solid working knowledge of networking technologies, web-based communication protocols, and relational databases (e.g., PostgreSQL, MySQL).
  • Software Development Workflow: Proficient in standard development tools, including version control (Git), task tracking (Jira), unit testing frameworks, and continuous integration/deployment (CI/CD) systems.
  • Tools: Working knowledge of build tools (Yocto preferred).
  • Education: Bachelor's degree in Software Engineering, Computer Science, Electrical Engineering, or a related technical discipline.

Key Mindset and Attributes
  • Adaptability & Curiosity: A genuine, long-term interest in software development and the continuous exploration of new tools and technologies; you view learning a new language as an exciting challenge.
  • Systemic Thinking: Passionate about creating elegant and scalable architectures and designs.
  • Collaborative & Communicative: Approachable, willing to openly share knowledge, and a creative thinker who enjoys discussing ideas.
  • Customer Focus: Focused on understanding the customer use cases and what's behind them to help provide an outstanding user experience in your designs.

Assets:
  • Hands-on experience with low-level embedded firmware
  • Prior hands-on experience with Rust-based software development.
  • Working front-end development experience with JavaScript-based frameworks (e.g., Svelte, Typescript/Angular).

Why Nanometrics?
  • Global Leader: Join a Canada's Best Managed Companies Platinum Club winner and a global leader in seismic solutions.
  • Work that Matters: Be part of a company committed to sustainable growth while making a global impact with work that is essential now and in the future.
  • Flexible Hybrid Work: Benefit from a flexible hybrid model (3 days in-office minimum: Tuesday, Wednesday, Thursday).
  • Generous Time Off: Start with a minimum of 3 weeks vacation, plus paid sick days and a company-wide holiday shutdown.
  • Day-One Benefits Coverage: Company-paid Health & Dental Benefits start from day one.
  • Wellness Support: Utilize a Health Spending & Wellness Account, which can be used for a wide variety of services (e.g., gym memberships, personal trainers, recreational activity fees etc.)
  • Financial Future: Benefit from an RRSP contribution matching program, a new TFSA option, and a company-wide corporate bonus program with a history of consistent payment.
  • Collaborate with the Best: Work and learn alongside high-performing teams and some of the industry's top minds.
  • Grow your career with us: We invest in your development through ongoing learning opportunities, including unlimited access to Udemy Business.
  • Passionate & Fun Team: Enjoy a passionate team culture with regular social activities (e.g., Summer & Holiday Events).


Salary Information:

The expected salary range for this position is $110,000 to $130,000, plus a corporate discretionary bonus. The determination of an applicant's base salary within this range is based on the individual's skills, competencies, and experience for the position.

Please note: This job posting is for an existing vacancy with Nanometrics. As part of our commitment to a comprehensive and unbiased hiring process, we may employ artificial intelligence (AI) to help us analyze applications and identify qualified candidates. This use of AI is intended to support, not replace, human decision-making.

Similar Jobs

More Information Technology Jobs

Find similar Senior Software Developer jobs: