C++, Java, Web Applications, Linux
We are looking for a talented software developer to be part of our team developing specialized network communication and digitizer products that are deployed throughout the world for scientific study as well as in earthquake early warning systems.
This position is a great fit for someone who has had a lifelong interest in all things software and is passionate about making an impact on their team while creating elegant architectures and designs.
- You will contribute to the development of satellite modem devices and digitizers running embedded Linux with C++ and Java-based applications
- You will design and implement software solutions that span the boundary between our embedded Linux instruments and enterprise software running in a data center or the cloud
- You will ensure overall product quality - these instruments are be deployed outdoors in extreme environments and left alone for weeks or months at a time, so the software running on them must be extremely reliable
- You will provide effective, timely support on our instrument products for our technical support team
- You will help solve challenging problems that can arise during the development of our seismic instruments
- When developing new hardware products, the software we develop is running on hardware that could have bugs, so one cannot assume that problematic behaviour can be attributed to software only - this can result in tricky debug exercises
- A Bachelor’s degree in Computer Science or Computer Systems Engineering
- 3-5 years of professional software development experience that includes Java
- Experience developing on embedded Linux systems
- Experience with HTTP, TCP/IP, and other communication protocols
- Experience with web software back-end technologies
Qualities & Assets:
- Knowledge or experience as well as interest in low-power, limited resource device development, but also an interest in higher-level software development
- A lifelong, demonstrable passion for all things software, and enjoy being in a role that entails exposure, by virtue of our varied software and hardware product lines, to a full range of software under development:
- Customized Linux kernels and signal processing applications on low power devices
- Network data acquisition software/middleware
- Higher level web services and associated APIs developed for high end workstations, as well as for the cloud
- Able to adopt a system-level perspective, evaluating and contributing design input for areas without prior direct development experience
- Go language development experience would be an asset - we are considering having some upcoming projects use this technology
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.