Senior Embedded Software Engineer
Element Biosciences is a multi-disciplinary startup focused on innovating genetic analysis tools for the research and clinical markets. The Company's technology will broaden the end user experience through improved data quality and simplified workflows to benefit discoveries and diagnosis in healthcare. Join a team of dreamers and revolutionaries who are focused on democratizing access to genetic analysis, thereby accelerating the pace of scientific discovery. We are redefining an industry and the possibilities are endless.
We’re seeking a Staff Embedded SW Engineer to lead the design and implementation of our embedded software platform for a high-performance instrument control and data processing system. This is an exciting role within our embedded systems group requiring a technical expert able to develop and validate the embedded control and data processing scheme working closely with cross-functional teammates. Strong embedded systems fundamentals, excellent critical thinking skills and a methodical product development approach are essential attributes.
- Perform requirements gathering, tradeoff analysis and system specification writing activities for embedded platform and applications.
- Design and implement embedded Linux application software with real-time communication and processing functionalities according to requirements of system specs.
- Design, implement and test bare-metal C firmware running on Cortex-M cores for hardware communication and control.
- Evaluate, benchmark, and optimize high-speed data transportation schemes, as well as improving operation reliability.
- Evaluate and integrate Linux Kernel, BSP, bootloader, hardware drivers for required functionality and performance. Maintain and upgrade embedded OS kernel configurations to fulfill system feature and performance requirements.
- Conduct system bring-up and functionality debugging activities. Lead SW/FW issue debugging in system.
- Build up technology know-how and explore software platform feature enhancements in area of real-time processing, multi-thread management, fast deployment, debugging and more.
- Communicate, collaborate with external vendor / development partner on certain feature development or component integration.
- Minimum Bachelor’s degree in electrical engineering, computer engineering or computer sciences.
- At least 5 years industry experience in embedded software or embedded system development.
- Strong Hands-on experience with embedded system prototype bring-up
- Hands-on experience on developing and debugging with usual communication protocols: UART, I2C, SPI, CAN etc.
- Good knowledge on electronic hardware components including camera sensor and SoC/FPGA.
- Experience in development on DMA-based data stream control.
- Hands-on experience in embedded Linux Application development and debugging.
- Experience with Linux kernel driver development is a plus.
- Proficient in development of real-time application with C and C++; have practical experience with corresponding debugging tools / methodology.
- Be curious, detail oriented, and analytical, with a proven ability to learn quickly.
- Motivated team member with good logical thinking and efficient communication skills.
- Ability to work in a fast paced, dynamic environment and quickly adjust to rapidly evolving technology and priorities.