Working Title: Senior Software Developer
Reports to: Manager, Software Development
Based in: Ottawa, ON (Hybrid)
Term: Full-time
Company
Nanometrics is an award-winning company providing monitoring solutions and equipment for studying man-made and natural seismicity. Headquartered in Ottawa, Ontario, with offices and representatives worldwide, Nanometrics has over 30 years of experience, delivering solutions to customers across the globe. Nanometrics real-time and portable systems are utilized by the world’s leading scientific institutions, universities, and major corporations. Our pedigree is founded on precision instrumentation, network technology, and software applications for seismological and environmental research. We specialize in collecting and analyzing critical real-time data for global, regional, and local seismic networks. We deliver world-class network design, installation, and training services throughout the globe in a safety-conscious environment.
Position
The Seismic Monitoring Services (SMS) Research & Development department of Nanometrics is looking for a highly skilled Senior Software Developer. The ideal candidate will have a deep understanding of software development principles and practices, as well as experience designing, developing, and deploying large-scale applications running in the Cloud. We are building a new application from the ground up and this is an opportunity to design and build a real-time Software as a Service application from the ground up. This application is used to monitor and analyze seismic data. We believe in using the best development tools and practices, using an Agile-inspired approach, and maintaining an excellent work/life balance.
Job Duties
-
Design, develop, and deploy high-quality, scalable, and secure software applications on Kubernetes/AWS using Java, and Angular
-
Collaborate with cross-functional teams to design and implement innovative solutions that meet business and technical requirements
-
Work with product owners to understand business requirements and translate them into technical specifications
-
Ensure the scalability, performance, and security of software solutions, utilizing best practices and industry standards to deliver high-quality software
-
Contribute in shaping the architecture and design of software
-
Develop and maintain automated testing frameworks and scripts using tools like JUnit, Cypress, and others
-
Troubleshoot and resolve software defects, and implement solutions in a timely manner
-
Stay up-to-date with the latest Cloud Native and AWS services and industry best practices for software development
-
Perform code reviews, provide constructive feedback, and mentor junior engineers
Key Competencies
-
Strong problem-solving and analytical skills
-
Excellent communication and teamwork skills
-
Ability to convincingly articulate complex analytical ideas in a simple way to a variety of key stakeholders
-
An enthusiasm for working with and learning from teammates
Requirements
-
Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field
-
8+ years of experience in Java with a strong focus on software engineering principles and practices
-
Strong experience with cloud platforms, containers and Kubernetes
-
Experience with SQL databases such as Postgres
-
Experience with agile development methodologies and DevOps practices
-
Experience mentoring other software developers
Assets
-
Experience developing with Ruby on Rails or Python
-
Experience developing with Typescript/Angular or other JavaScript-based frameworks
-
Familiarity with the Maven build environment and CI/CD infrastructure
-
Experience with Timescale DB, Kafka, AWS Lambda
-
Familiarity with AI infrastructure such as data pipelines, model training, and deployment
Nanometrics is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees