Software Engineer (Intermediate)

Embedded Linux, Yocto, ARM, FreeRTOS, C/C++, Sockets



We are looking for an experienced Software Engineer to join our team and help to build our next generation of seismic data digitizers while contributing directly to the architecture, design and implementation of the digitizer firmware for our portable seismic instrumentation.


  • You will contribute to the development of our next generation seismic digitizer instruments, running embedded Linux/FreeRTOS with C/C++ developed application software
  • You will be passionate about identifying new technology and new processes, affecting technical solutions and product use cases
  • You will work as part of a team of software developers, contributing to peer review for software designs and implementations
  • You will communicate your proposed software designs concisely, and be able to identify risk areas and corner test cases
  • You will solve difficult problems involving system reliability, system performance and system usability
  • Your problem solving skills will encompass fault finding and performance analysis of application software, operating system configuration, hardware architecture and physical interfaces


  • A Bachelor’s degree in Computer Science (or Engineering with a strong software background)
  • A minimum of 3 years of professional software development experience in C/C++
  • Experience in embedded software development on a RTOS and/or embedded Linux
  • Experience in Linux kernel and/or BSP development
  • Experience with socket programming and designing custom interface protocols involving TCP/IP and UDP multicast
  • Experience with Linux deployment for ARM using Yocto

Qualities & Assets:

  • Knowledge of, or experience with low-power, limited resource device development
  • Excellent knowledge of data structures
  • Good knowledge of serial bus hardware and protocols
  • Any experience with Embedded device driver development
  • Experience with libBoost and C++11
  • Good knowledge of mathematics and/or DSP
  • FPGA / VHDL development experience is a plus
  • Go language development 
  • Java language development


Apply Now


Nanometrics is committed to providing a fair and equitable work environment and encourages applications from qualified women, men, visible minorities, aboriginal peoples and persons with disabilities. Nanometrics is also committed to providing accommodations throughout the interview and employment process.  If you require an accommodation we will work with you to meet your needs.


Due to the large number of resumes we receive, only applicants selected for an interview will be contacted. Nanometrics is an equal opportunity employer and we support a diverse workforce.