Embedded Software Engineer 3

Monarch Quantum San Diego, CA $125,000 - $175,000
Full Time Mid Level 5+ years

Posted 3 weeks ago

Interested in this position?

Upload your resume and we'll match you with this and other relevant opportunities.

Upload Your Resume

About This Role

Join a fast-paced startup to design, develop, and implement containerized Linux applications for centralized control of laboratory instruments. This role involves building foundation infrastructure and working with cutting-edge technologies.

Responsibilities

  • Design and develop a containerized Linux application for centralized control of multiple laboratory instruments
  • Implement robust communication interfaces for diverse instrumentation (fiber amplifiers, laser controllers, DACs, precision electronics)
  • Develop software that interfaces with hardware devices over multiple protocols (UDP/TCP sockets, serial communication, USB, vendor-provided SDKs)
  • Design and implement network communication interfaces for remote instrument control and monitoring
  • Collaborate with stakeholders to develop and refine system requirements and translate them into technical specifications
  • Architect scalable, maintainable software solutions that accommodate evolving requirements and future instrument additions
  • Write comprehensive unit and integration tests to ensure system reliability and robustness
  • Develop and maintain clear technical documentation including API specifications, system architecture diagrams, and integration guides
  • Collaborate with cross-functional teams, including hardware engineers, scientists, and other software engineers
  • Participate in code reviews, provide constructive feedback, and adhere to best coding practices

Requirements

  • U.S. person as defined by 8 U.S.C. § 1324b(a)(3)
  • 5+ years of professional experience in C++ software development for embedded or instrumentation systems
  • Strong understanding of modern C++ (C++14/17/20)
  • Proven experience developing software for Linux environments, including containerization with Docker
  • Hands-on experience with multiple communication protocols: TCP/IP, UDP, serial (RS-232/RS-485), USB, and SDK integration
  • Experience designing network-based APIs or control interfaces
  • Demonstrated ability to work with hardware interfaces and understand datasheets, communication specifications, and timing requirements
  • Experience with requirements gathering, system design, and architectural decision-making
  • Familiarity with unit testing frameworks, preferably Google Test or similar
  • Experience working with version control systems (Git)
  • Strong problem-solving skills
  • Experience with CMake or similar build systems for C++ projects
  • Familiarity with multi-threaded programming and concurrency in C++
  • Knowledge of software best practices, including design patterns, SOLID principles, and performance optimization

Qualifications

  • A bachelor's degree in Software Engineering, Computer Engineering, or a related field
  • Minimum of 5 years of relevant experience, ideally within a startup or technology company, with 5+ years of professional experience in C++ software development for embedded or instrumentation systems

Skills

Docker * C++ * TCP/IP * Git * Linux * USB * CMake * UDP * SOLID principles * RS-232 * RS-485 * Design patterns * SDK * Google Test *

* Required skills

Benefits

Dental Insurance
13 paid company holidays
9/80 work schedule (every other Friday off)
Vision Insurance
Fidelity 401(k) plan with 4% employer matching
Medical Insurance
20 paid time off (PTO) days per year

About Monarch Quantum

Technology
View all jobs at Monarch Quantum →