CrawlJobs Logo

Software Engineer, Embedded Systems

United States, San Jose Employment contract 197900.00 - 270000.00 USD / Year · Job Posted May 27, 2026
Apply Position
Job Link Share

Job Description

Roku pioneered streaming to the TV and continues to innovate and lead the industry. While we are well-positioned to help shape the future of television and streaming media around the world, continued success depends on experienced embedded software engineers like you joining the Roku OS Streaming Media team. In this role, you will be part of the team that's responsible for Roku’s Media engine, implementing new features and designing algorithms that deliver flawless video playback to all our users. This includes optimizing network interactions between our players and CDN, implementing adaptive streaming stacks, integrating DRM systems, and developing tools to monitor performance. The features and performance improvements you implement directly impact millions of users every day. This is a great role for an experienced professional with innovative ideas for complex problems and the ability to translate them into ultra-reliable software.

Job Responsibility

  • Extend Roku's player feature set to support new business opportunities and the latest multimedia specifications
  • Continuously improve playback on Roku devices, and deliver our users a world-class player experience under all operating conditions
  • Work independently and in small groups to deliver new features and functionality on-time
  • Demonstrate excellence in C++ & Python development and deliver high-performance, ultra-reliable software
  • Demonstrate impeccable software design skills, make extensive changes to an existing C++ code base that are modular and easy to maintain
  • Demonstrate the ability to dig deep to find solutions to tough problems affecting our users

Requirements

  • 2 – 5 years of relevant software development experience
  • Bachelor’s or master’s in computer science or equivalent engineering experience
  • Extensive programming experience with C++ and Python
  • Proven track record of success with embedded system development projects and Linux operating systems
  • Deep understanding of multi-threaded development and concurrency management
  • Experience in API design and developing portable code
  • Been able to accurately estimate software tasks and work to schedule
  • Architected, implemented, and tested systems for performance & low resource consumption
  • A good understanding of open source development
  • A familiarity with AI/ML and LLM technologies
  • Experience with other consumer electronics OS’es (e.g. Android, FreeRTOS)
  • Knowledge of TCP/IP, TLS, HTTP, DRM technologies like PlayReady, Widevine and streaming protocols such as WebRTC, HLS, and/or DASH is important
  • Experience working with video (H.264, H.265, AV1) & audio (aac, ac3) codecs

Nice to have

  • A familiarity with AI/ML and LLM technologies
  • Experience with other consumer electronics OS’es (e.g. Android, FreeRTOS)

What we offer

  • health insurance
  • equity awards
  • life insurance
  • disability benefits
  • parental leave
  • wellness benefits
  • paid time off
  • global access to mental health and financial wellness support and resources
  • healthcare (medical, dental, and vision)
  • commuter
  • retirement options (401(k)/pension)

Looking for more opportunities?

Search for other job offers that match your skills and interests.

Similar Jobs for

Software Engineer, Embedded Systems

8 matching positions

Software Development Kit and Application Specific Integrated Circuit Systems Software Engineer III

Designs, develops, troubleshoots and debugs software programs for software enhan...
Location
Location
United States , Roseville
Salary
Salary:
103400.00 - 237000.00 USD / Year
https://www.hpe.com/ Logo
Hewlett Packard Enterprise
Expiration Date
Until further notice
Flip Icon
Requirements
Requirements
  • Bachelor's or Master's degree in Computer Engineering, Computer Science, or equivalent
  • Typically, 4-6 years' experience
  • Extensive experience with multiple software systems design tools and languages: Real-time embedded OS, C, Rust, Go and Python
  • Experience to read the ASIC designs and understand them in detail
  • Experience working with Emulator and Simulator environments
  • Excellent analytical and problem-solving skills
  • Experience in overall architecture of software systems: Linux kernel drivers, Embedded Systems
  • Designing and integrating software systems running on multiple platform types into overall architecture
  • Evaluating forms and processes for software systems testing and methodology, including writing and execution of test plans, debugging, and testing scripts and tools
  • Excellent written and verbal communication skills
Job Responsibility
Job Responsibility
  • Designs enhancements, updates, and programming changes for portions and subsystems of systems software, including operating systems, compliers, networking, utilities, databases, and Internet-related tools
  • Analyzes design and determines coding, programming, and integration activities required based on general objectives and knowledge of overall architecture of product or solution
  • Writes and executes complete testing plans, protocols, and documentation for assigned portion of application
  • identifies and debugs, and creates solutions for issues with code and integration into application architecture
  • Leads a project team of other software systems engineers and internal and outsourced development partners to develop reliable, cost effective and high quality solutions for assigned systems portion or subsystem
  • Collaborates and communicates with management, internal, and outsourced development partners regarding software systems design status, project progress, and issue resolution
  • Represents the software systems engineering team for all phases of larger and more-complex development projects
  • Provides guidance and mentoring to less- experienced staff members
What we offer
What we offer
  • Health & Wellbeing
  • Personal & Professional Development
  • Unconditional Inclusion
  • Fulltime
Read More
Arrow Right

Systems Embedded Software Engineer

This role has been designed as ‘Hybrid’ with an expectation that you will work o...
Location
Location
Costa Rica , Heredia
Salary
Salary:
Not provided
https://www.hpe.com/ Logo
Hewlett Packard Enterprise
Expiration Date
Until further notice
Flip Icon
Requirements
Requirements
  • Bachelor's degree in Computer Science, Information Systems, Computer engineering, Mechatronics, Electronic/electrical engineering
  • Typically 0-2 years experience
  • Using software systems design tools and languages
  • Ability to apply analytical and problem solving skills
  • Designing software systems running on multiple platform types
  • Software systems testing methodology, including execution of test plans, debugging, and testing scripts and tools
  • Strong written and verbal communication skills
  • mastery in English and local language
  • Familiarity with core AI principles such as supervised and unsupervised learning, model training and evaluation, and algorithm selection
  • Experience applying AI to solve practical problems
Job Responsibility
Job Responsibility
  • Designs limited enhancements, updates, and programming changes for portions and subsystems of systems software, including operating systems, compliers, networking, utilities, databases, and Internet-related tools
  • Analyzes design and determines coding, programming, and integration activities required based on specific objectives and established project guidelines
  • Executes and writes portions of testing plans, protocols, and documentation for assigned portion of application
  • identifies and debugs issues with code and suggests changes or improvements
  • Participates as a member of project team of other software systems engineers and internal and outsourced development partners to develop reliable, cost effective and high quality solutions for assigned systems portion or subsystem
  • Collaborates and communicates with internal and outsourced development partners regarding software systems design status, project progress, and issue resolution
  • Creates and maintains APIs for hardware abstraction layers to facilitate software-hardware integration
  • Collaborates with hardware design teams to ensure seamless integration and functionality
  • Conducts thorough testing and debugging of SDKs to ensure reliability and performance
  • Provides technical support and documentation for SDK users and developers
What we offer
What we offer
  • Health & Wellbeing
  • Personal & Professional Development
  • Unconditional Inclusion
  • Fulltime
Read More
Arrow Right

Embedded System Engineer

We are looking for an Embedded System Engineer to join our client’s team. Our cl...
Location
Location
Portugal , Porto
Salary
Salary:
Not provided
https://www.precisers.pt Logo
Precise
Expiration Date
Until further notice
Flip Icon
Requirements
Requirements
  • Bachelor’s degree in Electronic Engineering, Computer Science or Software Engineering
  • 3+ years of experience in embedded systems
  • Experience working with C/C++
  • Experience working with Linux environments
  • Knowledge about low interaction level using kernel
  • Communication skills and team player
  • Fluent level of English
Job Responsibility
Job Responsibility
  • Work closely with other elements of your team
  • Focus on software development, applications, services and users
  • Fulltime
Read More
Arrow Right

Systems Software Engineer in Storage

Systems Software Engineer role focused on designing, developing, and implementin...
Location
Location
Costa Rica , Heredia
Salary
Salary:
Not provided
https://www.hpe.com/ Logo
Hewlett Packard Enterprise
Expiration Date
Until further notice
Flip Icon
Requirements
Requirements
  • Bachelor's or Master's degree in Computer Engineering, Electronics Engineering, Software Engineering, or a related field
  • Solid programming skills in C
  • Skills in Python or Rust are desirable
  • Experience with low-level systems programming, embedded systems, BIOS, or device drivers is highly desirable
  • Experience developing in Linux environments, including familiarity with Linux kernel and system-level programming
  • Strong understanding of data structures, algorithms, and software design principles
  • Ability to work collaboratively in a fast-paced, cross-functional team environment
  • Excellent problem-solving and analytical skills with a keen attention to detail
  • Strong communication and interpersonal skills to effectively collaborate with team members and stakeholders
  • Accomplished in software debugging techniques and tools, with a strong ability to diagnose and resolve complex issues
Job Responsibility
Job Responsibility
  • Provide guidance, mentorship, and technical leadership to junior engineers
  • Design, develop, and implement software solutions for next generation storage devices
  • Write efficient, reliable, and scalable code that enables seamless integration of hardware and software components
  • Optimize software algorithms, drivers, and interfaces to achieve maximum performance and efficiency
  • Contribute to the design and architecture of storage systems, including data management, caching strategies, and fault tolerance mechanisms
  • Develop and execute comprehensive test plans to ensure the reliability and functionality of the software
  • Stay up-to-date with the latest advancements in storage technologies, software methodologies, and industry trends
What we offer
What we offer
  • Health & Wellbeing benefits
  • Personal & Professional Development programs
  • Unconditional Inclusion environment
  • Comprehensive suite of benefits that supports physical, financial and emotional wellbeing
  • Fulltime
Read More
Arrow Right

Embedded Software Verification Engineer

As part of our project activities, you will be involved in DO-178C Airborne Syst...
Location
Location
United States , East Hartford
Salary
Salary:
Not provided
https://www.soprasteria.com Logo
Sopra Steria
Expiration Date
Until further notice
Flip Icon
Requirements
Requirements
  • Bachelor's degree or Master’s degree in Computer Science, Software Engineering or Computer Engineering, or a related Science, Engineering or Mathematics field
  • Embedded systems experience including C experience
  • Accepting a range of experience of 3+ years of experience
  • U.S. citizenship is required
  • Dual citizenship should be disclosed
  • Experience in Tool Development and Qualification DO-330 is a bonus
  • Experience in Model Based Development (MBD) and DO-331 is a bonus
  • Experience with System On a Chip (SOC) architecture is a bonus
  • Experience with Board Support Packages and Real Time Operating Systems is a bonus
  • Strong communication and interpersonal skills, with the ability to build trust with internal teams
Job Responsibility
Job Responsibility
  • Engage directly with customers to resolve technical or logistical issues
  • Independently execute according to project plans
  • Provide technical guidance to team members, ensuring alignment with quality objectives and drive results through leadership and collaboration
  • Effectively and timely communicate with project team and leadership to enable quick issue resolution
  • Collaboratively work with other software and test engineers throughout verification phases of the product development lifecycle
  • Able to work in alignment with regulatory compliance standards
  • DO-178C preferred
  • Demonstrate competency sufficient to work with embedded software (such as Assembly, C and C++)
  • Demonstrate proficiency with Python
  • Able to develop verification strategies and tests for both simulation and target testing
What we offer
What we offer
  • All members included in annual cash bonus opportunity
  • 2% annual retirement benefit opportunity
  • Training/Professional Development opportunities for all members
  • 6 paid holidays
  • Industry leading medical, dental, and vision Insurance
  • Vacation / Sick Time / Bereavement leave
  • Employee Assistance Program, including mental health benefits
  • Spouse / Child Optional Life
  • Whole Life Insurance / Critical Illness Insurance / Legal Assistance / Military Leave.
  • Fulltime
Read More
Arrow Right

Senior Firmware Engineer - Embedded Systems

The successful Firmware Engineer will analyze, develop, design, program, debug a...
Location
Location
United States , Lincolnshire
Salary
Salary:
Not provided
advancedtechsearch.com Logo
Advanced Technology Search Group
Expiration Date
Until further notice
Flip Icon
Requirements
Requirements
  • Bachelor’s degree in engineering (Computer Engineering, Computer Science or Software Engineering or related fields) with 6+ years of relevant experience
  • Hands on experience in firmware development using C/ C++ (low level/ device driver development)
Job Responsibility
Job Responsibility
  • Leads requirements meetings for moderately complex firmware design projects
  • Design, code, debug, and test assigned firmware, firmware improvements, and firmware modifications
  • Document designs and code or update preexisting documentation
  • Reviews firmware test results and root cause analysis
  • Reviews changes or upgrades to existing firmware designs
  • Identifies issues and makes recommendations for complex problems
  • Prepare system specifications and/or sub-specification or evaluate such specifications
  • Makes modifications to or upgrades existing firmware designs
  • Enhances and improves existing technologies
  • Develops positive relationships with other company functions
  • Fulltime
Read More
Arrow Right

System Software Engineer

Be part of our pre-silicon simulation engineering team, driving the development ...
Location
Location
Lithuania
Salary
Salary:
Not provided
auriga.com Logo
Auriga
Expiration Date
Until further notice
Flip Icon
Requirements
Requirements
  • 3+ years of hands-on experience in C/C++ software development
  • Strong background in Linux development, preferably in embedded systems
  • Experience with Git and collaborative workflows
  • Familiarity with CI/CD, build systems, and automated testing
  • Proficiency with debugging tools (GDB preferred) and log analysis
  • Strong understanding of software design principles and problem-solving techniques
  • English: Intermediate or higher
Job Responsibility
Job Responsibility
  • Design, implement, and test simulation models for a complex software platform
  • Provide customer support for model integration and usage
  • Participate in peer reviews, delivering constructive feedback to ensure maintainability and quality
  • Debug, analyze, and resolve issues across the problem lifecycle
  • Maintain, enhance, and optimize existing simulation components
  • Collaborate with architects and cross-functional engineering teams on high-impact projects
What we offer
What we offer
  • Remote working
  • Work&Life balance
  • Cozy atmosphere with healthy snacks
  • Health insurance
  • Internal and external training
  • Conferences
  • Mentoring
  • Career growth
  • Modern equipment
  • Unconventional business trips
Read More
Arrow Right

Embedded Systems Integration Engineer

We’re seeking an Embedded Systems Integration Engineer to build the backend infr...
Location
Location
United States , San Jose
Salary
Salary:
140000.00 - 180000.00 USD / Year
figure.ai Logo
Figure
Expiration Date
Until further notice
Flip Icon
Requirements
Requirements
  • Bachelor’s in EE, CE, CS, or a related field
  • 3+ years of experience working with embedded systems
  • Strong understanding of how firmware interacts with hardware peripherals (I2C, Ethernet, SPI, CAN, UART, ADCs, GPIO, etc.)
  • Proficiency in Python or similar scripting language for test automation
  • Experience bringing up custom embedded boards and working across firmware/software stacks
  • Familiarity with Linux-based development environments
Job Responsibility
Job Responsibility
  • Architect test infrastructure that exercises end-to-end functionality of embedded systems across hardware, firmware, and software boundaries
  • Develop backend systems (Python, CLI tools, internal APIs) to run tests, log results, and determine pass/fail conditions
  • Bring up and validate subsystem and system level changes, tracking changes in behavior and performance across releases
  • Automate testing pipelines for regression detection and continuous integration
  • Debug and triage failures across layers—hardware faults, firmware bugs, or software integration issues
  • Collaborate with firmware, software, and hardware teams to define interface contracts and testable behaviors
  • Instrument devices under test using scopes, logic analyzers, and custom harnesses to characterize system response
  • Fulltime
Read More
Arrow Right