Junior Embedded Software Engineer
Observable SpaceUSAFull Time3w ago
Job description
Junior Embedded Software Engineer at Observable Space.
About the role
Observable Space specializes in creating advanced optics and computing solutions for both space and terrestrial environments. As a member of our engineering team, you will focus on developing firmware and embedded Linux systems that power various hardware, including robotic telescopes and orbital computing modules. This role offers a unique opportunity to work at the intersection of software and hardware, contributing to innovative projects that push the boundaries of technology.
Key facts
What you'll do
- Design, implement, and troubleshoot embedded Linux firmware, which encompasses bootloaders, daemons, and control loops to ensure optimal performance.
- Develop and sustain drivers for various communication interfaces, including PCIe, I2C, SPI, UART, MIPI CSI-2, and GPIO, to facilitate seamless hardware interaction.
- Conduct hardware bring-up processes for sensors, cameras, and communication systems, which involves assembling prototypes and performing power-on tests to validate functionality.
- Construct and manage test rigs aimed at characterizing components and executing long-term reliability assessments to ensure product durability.
- Collaborate closely with the electrical engineering team on tasks such as soldering, wiring, and reviewing schematics to enhance product design and functionality.
- Participate actively in code reviews and design discussions to improve system reliability and foster a culture of continuous improvement within the team.
- Engage in troubleshooting and debugging efforts, particularly in hardware-software integration scenarios, to resolve complex issues effectively.
- Document your work and findings meticulously to contribute to the knowledge base of the team and support future projects.
Requirements
- 0 to 2 years of relevant experience in systems-level or embedded software development, which may include internships or academic projects.
- Strong proficiency in C programming, along with a working knowledge of C++.
- Familiarity with hardware communication protocols such as Ethernet, CAN, UART, SPI, and I2C is essential for this role.
- Capability to interpret basic electrical schematics, which is crucial for effective communication with the hardware team.
- Experience using lab equipment like oscilloscopes and multimeters is preferred, or a strong willingness to learn how to use these tools.
- A determined approach to troubleshooting and debugging hardware-software integration challenges is necessary for success in this position.
- Willingness to work on-site in Los Angeles at least three days a week to foster collaboration and teamwork.
Nice to have
- Hands-on experience with soldering and constructing wire harnesses, which can enhance your contributions to the team.
- Previous work with microcontrollers, including bare-metal programming, RTOS, STM32, ESP32, or Arduino projects, is a plus.
- Familiarity with embedded Linux build systems such as Yocto or Buildroot, as well as kernel-level development, would be advantageous.
- Knowledge of Zephyr RTOS can be beneficial for certain projects within the team.
- Academic or project experience with high-speed interfaces like PCIe or MIPI CSI-2 will be considered a strong asset.
Skills & tools
- Proficient in C and C++ programming languages
- Experienced with embedded Linux systems
- Skilled in hardware debugging, utilizing tools like oscilloscopes and multimeters
- Knowledgeable about various communication protocols, including I2C, SPI, UART, PCIe, and MIPI CSI-2
Practical notes
- The compensation package includes a competitive salary along with stock options, providing a stake in the company's success.
- Comprehensive benefits are offered, including fully employer-paid medical, dental, and vision insurance to ensure your health and well-being.
- The company promotes a healthy work-life balance with an unlimited, trust-based paid time off (PTO) policy, allowing you to take time off as needed.
- This position requires a minimum on-site presence of three days per week in Los Angeles, fostering collaboration and teamwork within the engineering team.
Join us at Observable Space and be part of an innovative team that is shaping the future of technology in space and beyond!