What are the responsibilities and job description for the Sr. Embedded Software Engineer position at R-Zero?
Role Overview
As a Senior Embedded Software Engineer, you will play a crucial role in developing and maintaining firmware for microcontrollers used in our IoT-connected products. Leveraging your expertise in embedded systems, firmware development, and IoT connectivity, you will work closely with cross-functional teams to design, implement, and test firmware solutions. Your contributions will ensure the reliability, security, and seamless integration of our products within our IoT ecosystem.
This is a hybrid work-location position, with a minimum of one to two days per week spent in our San Francisco and Menlo Park offices.
Responsibilities
- Firmware Development: Design, develop, and implement embedded software solutions for microcontrollers, with a focus on IoT connectivity, ensuring efficient, reliable, and maintainable code.
- IoT Connectivity: Use industry-standard protocols and products – such as MQTT, AWS IoT, Timescale and Grafana – gather and act on data from fielded devices.
- Device Communications: Work with Bluetooth Low Energy (BLE), WiFi, and LTE modems, to enable seamless communication between IoT devices, gateways, and cloud platforms.
- Testing and Debugging: Conduct thorough unit and integration testing of firmware, identify and resolve software defects, and optimize device performance.
- Code Maintenance: Lead code reviews, debugging and bug fixes efforts.
- IoT Cloud Integration: Collaborate with teams to integrate IoT devices with cloud platforms, particularly with AWS IoT and AWS Lambda, to enable data processing, storage, and device management.
- Documentation: Prepare documentation as needed including software design specifications, technical manuals, and user guides to facilitate firmware development and maintenance.
- Performance Optimization: Identify bottlenecks and optimize firmware code to improve overall system performance, memory utilization, and power efficiency within the context of IoT applications.
- Field Support: Provide technical support and troubleshooting assistance to resolve issues related to firmware and IoT device functionality when deployed in the field. Collaborate with field engineers and customers to diagnose and resolve software-related problems, ensuring timely resolution and customer satisfaction.
Requirements
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Proven experience (8 years) in embedded software development, with a focus on firmware development for microcontrollers.
- Strong proficiency in low-level programming languages such as C.
- In-depth knowledge of microcontroller architectures, peripherals, and interfaces.
- Hands-on experience with embedded systems, real-time operating systems (RTOS), and real-time applications.
- Familiarity with debugging tools, emulators, and oscilloscopes for hardware/software troubleshooting.
- Experience with software version control systems and issue-tracking tools.
- Excellent problem-solving skills and the ability to work in a fast-paced, collaborative environment.
- Strong communication skills to effectively convey technical concepts and collaborate with multidisciplinary teams.
Additional Valuable Skills
- Experience with IoT connectivity protocols (e.g., MQTT, HTTP) and frameworks.
- Experience working with STM32 and ESP32 microcontrollers.
- Familiarity with device bootloaders and over-the-air firmware updates.
- Familiarity with LTE modems for IoT communication.
- Familiarity with AWS IoT and AWS Lambda for cloud integration.
- Familiarity with Python
- Experience with C or C build system tools (e.g. CMake).
- Experience working with distributed teams
The salary range for this position will vary based on candidate level, experience, and location. The base salary for this position contemplates a range of $150,000 - $200,000. Certain roles may be eligible for incentive compensation, equity, and benefits. Proof of eligibility to work in the United States and a background check is required upon employment.
Salary : $150,000 - $200,000