Software Engineer, Embedded Systems
Job description
About the role
Roku is on the lookout for a talented Software Engineer specializing in Embedded Systems to join our dynamic team in San Jose, California. In this role, you will be instrumental in developing and optimizing software solutions that power our innovative streaming devices. Your expertise will contribute to enhancing user experiences and ensuring our products maintain their leading edge in the competitive streaming market. We are seeking a passionate engineer who thrives in a collaborative environment and is eager to tackle complex challenges.
Key facts
What you'll do
- Design, develop, and implement embedded software for Roku's streaming devices, ensuring high performance and reliability.
- Collaborate with cross-functional teams, including hardware engineers and product managers, to define software requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve issues, ensuring optimal functionality.
- Optimize existing software for performance improvements, memory usage, and power efficiency, contributing to the overall quality of our products.
- Participate in code reviews to maintain high coding standards and share knowledge with team members.
- Document software designs, processes, and testing procedures to facilitate knowledge sharing and future development efforts.
- Stay updated with the latest advancements in embedded systems and software engineering, incorporating new technologies and methodologies into your work.
- Provide technical support and guidance to junior engineers and interns, fostering a culture of learning and growth within the team.
- Engage in troubleshooting and resolving software-related issues reported by customers, ensuring a seamless user experience.
- Collaborate with QA teams to develop and execute comprehensive test plans, ensuring software meets quality standards before release.
- Contribute to the continuous improvement of development processes and tools, enhancing team efficiency and productivity.
- Participate in Agile ceremonies, including sprint planning and retrospectives, to ensure alignment with project goals and timelines.
Requirements
- Bachelor's degree in Computer Science, Electrical Engineering, or a related field.
- A minimum of 3 years of experience in embedded software development, preferably in consumer electronics or similar industries.
- Proficiency in programming languages such as C, C++, or Python, with a strong understanding of software development principles.
- Experience with real-time operating systems (RTOS) and embedded Linux environments.
- Familiarity with hardware interfaces, including SPI, I2C, UART, and GPIO, and their integration with software components.
- Strong problem-solving skills and the ability to work independently as well as collaboratively in a team setting.
- Excellent communication skills, both verbal and written, to effectively convey technical concepts to non-technical stakeholders.
- A passion for technology and a desire to innovate in the field of embedded systems.
Nice to have
- Experience with video streaming protocols and technologies, such as HLS, DASH, or RTMP.
- Knowledge of cloud services and APIs, particularly in relation to streaming applications.
- Familiarity with version control systems, such as Git, and continuous integration/continuous deployment (CI/CD) practices.
- Previous experience working in an Agile development environment.
- Understanding of security best practices in embedded systems.
Skills & tools
- Proficient in C/C++ programming languages
- Familiarity with Python for scripting and automation
- Experience with embedded software development tools and IDEs
- Knowledge of debugging tools and techniques for embedded systems
- Understanding of software testing methodologies and tools
Practical notes
- The position is based in San Jose, California, where you will work in a collaborative office environment.
- Remote work options may be available, depending on team needs and project requirements.
- Candidates must be authorized to work in the United States; visa sponsorship is available for qualified applicants.
- The salary for this role is competitive and will be determined based on your experience and qualifications.
- Interested candidates should apply through the official Roku careers page at [Roku Careers](https://www.weareroku.com/jobs/7680250?gh_jid=7680250).
Join us at Roku and be a part of a team that is redefining the way people enjoy entertainment. Your contributions will help shape the future of streaming technology, and we look forward to seeing how your skills can enhance our innovative products.