Transforming the way goods move
Software Engineer - Embedded Firmware
Location
California
Posted
80 days ago
Salary
0
Seniority
Senior
Job Description
Software Engineer - Embedded Firmware
Zipline
Software Engineer - Embedded Firmware Location: South San Francisco United States Job Description: Do you want to change the world? Zipline is on a mission to transform the way goods move. Our aim is to solve the world’s most urgent and complex access challenges by building, manufacturing and operating the first instant delivery and logistics system that serves all humans equally, wherever they are. From powering Rwanda’s national blood delivery network and Ghana’s COVID-19 vaccine distribution, to providing on-demand home delivery for Walmart, to enabling healthcare providers to bring care directly to U.S. homes, we are transforming the way things move for businesses, governments and consumers. The technology is complex but the idea is simple: a teleportation service that delivers what you need, when you need it. Through our technology that includes robotics and autonomy, we are decarbonizing delivery, decreasing road congestion, and reducing fossil fuel consumption and air pollution, while providing equitable access to billions of people and building a more resilient global supply chain. About You and The Role As an embedded firmware engineer at Zipline, you will be responsible for building the lowest level and most safety-critical software on our aircraft. You will work closely with a range of other disciplines, including electrical, mechanical, embedded Linux, and systems engineers, to ensure each aircraft seamlessly transitions from our manufacturing lines to being a participant in the largest drone delivery network in the world. We use C++ in our firmware development, with Rust and Python for tooling that will be deployed to our production systems in the field. Our aircraft are deployed to locations around the world, many not easily accessible, even over a network. You will help build re-usable firmware infrastructure that will level up our systems’ observability and reliability, without requiring an equal scaling of our engineering team. What You'll Do - Design and build the software necessary to run critical flight and safety processes on a network of microcontrollers, in cooperation with embedded Linux edge computers - Understand and improve the reliability of the flight software system as a whole, working with hardware and systems engineers to develop comprehensive fault management strategies and hardware-in-the-loop tests - Analyze the runtime characteristics of our avionics software in flight to build confidence in its performance, focusing on re-usable, maintainable software and optimizing where required - Develop metrics, monitoring and troubleshooting capabilities to prepare the system for field deployment at scale - Design and build data collection and testing tools to support early stage evaluation of new sensors, communications systems, and microcontroller platforms What You'll Bring - Strong software engineering skills, with proficiency in at least one strongly typed language. We use C++, Rust, and Python. - Curiosity and a willingness to learn and work in a variety of embedded environments, from running on bare metal, to using and RTOS and integrating with embedded Linux - Experience building and maintaining real-world deployed embedded systems, and handling the long tail of edge cases to ensure consistent safety, reliability and high performance - A systems mindset and intuition for debugging; when anything could be wrong, you know how to narrow down the possibilities. - Fluency in implementing peripheral drivers based on electrical schematics and datasheets, and debugging at this boundary in order to support prototype hardware evaluation - Our team uses a hybrid in-office and distributed work environment, centered around our headquarters in South San Francisco, CA. You must be able to work from the office on a regular basis. What Else You Need to Know The starting cash range for this role is $125,000 - $210,000. Please note that this is a target, starting cash range for a candidate who meets the minimum qualifications for this role. The final cash pay for this role will depend on a variety of factors, including a specific candidate's experience, qualifications, skills, working location, and projected impact. The total compensation package for this role may also include: equity compensation; discretionary annual or performance bonuses; sales incentives; benefits such as medical, dental and vision insurance; paid time off; and more. Zipline is an equal opportunity employer and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws or our own sensibilities.
Related Guides
Related Job Pages
More Software Engineer Jobs
Software Engineer - Enterprise Supervision
Tyler TechnologiesTyler Technologies is the largest software company in the United States that exclusively serves the public sector with integrated technology services and softwa
Maintain and enhance a large-scale web application while diagnosing production issues and implementing new features. Collaborate with cross-functional teams to support system modernization and ensure high performance and reliability.
• Contribute to the architecture, development, and evolution of the React Native mobile application across iOS and Android. • Build and maintain reusable, high-performance UI components using NativeWind while ensuring accessibility and design consistency. • Integrate and manage content delivery through Sanity CMS, including schema design, GROQ queries, and real-time preview workflows. • Contribute to feature flagging and experimentation infrastructure using LaunchDarkly, supporting controlled rollouts and A/B testing. • Use Expo and the Expo ecosystem to streamline development workflows and manage native dependencies. • Build and maintain mobile CI/CD pipelines using Expo Application Services (EAS) for automated builds, testing, and app store submissions. • Maintain strong testing practices using Jest and React Native Testing Library, ensuring reliable test coverage. • Build and extend UI automation tests using Detox or similar frameworks to protect critical user flows. • Implement and manage application monitoring and observability using tools such as Datadog or Sentry. • Own complex mobile initiatives from technical design through launch, monitoring, and iteration. • Participate in architecture discussions, design reviews, and code reviews, maintaining high standards for quality and performance. • Identify and reduce technical debt, improving maintainability and development velocity. • Collaborate closely with Product, Design, and Backend teams to deliver high-quality mobile features. • Diagnose and resolve performance issues, crashes, and memory problems using profiling and monitoring tools. • Apply native platform knowledge (Swift or Kotlin) when working with native modules or platform-specific optimizations. • Mentor junior and mid-level engineers and support technical hiring processes.
Software Engineer
RokuRoku Inc. is a leading streaming device offering a wide range of channels within the movies, TV, sports, news, weather, music, games, kids, tech, Web TV, lifest
Title: Software Engineer Location: San Jose United States Job Description: Teamwork makes the stream work. Roku is changing how the world watches TV Roku is the #1 TV streaming platform in the U.S., Canada, and Mexico, and we've set our sights on powering every television in the world. Roku pioneered streaming to the TV. Our mission is to be the TV streaming platform that connects the entire TV ecosystem. We connect consumers to the content they love, enable content publishers to build and monetize large audiences, and provide advertisers unique capabilities to engage consumers. From your first day at Roku, you'll make a valuable - and valued - contribution. We're a fast-growing public company where no one is a bystander. We offer you the opportunity to delight millions of TV streamers around the world while gaining meaningful experience across a variety of disciplines. About the role 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. For California Only - The estimated annual salary for this position is between $197,900 - $280,000 annually. Compensation packages are based on factors unique to each candidate, including but not limited to skill set, certifications, and specific geographical location. This role is eligible for health insurance, equity awards, life insurance, disability benefits, parental leave, wellness benefits, and paid time off. What you'll be doing - 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 We're excited if you have - 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. #LI-SR2 Our Hybrid Work Approach Roku fosters an inclusive and collaborative environment where teams work in the office Monday through Thursday. Fridays are flexible for remote work except for employees whose roles are required to be in the office five days a week or employees who are in offices with a five day in office policy. Benefits Roku is committed to offering a diverse range of benefits as part of our compensation package to support our employees and their families. Our comprehensive benefits include global access to mental health and financial wellness support and resources. Local benefits include statutory and voluntary benefits which may include healthcare (medical, dental, and vision), life, accident, disability, commuter, and retirement options (401(k)/pension). Our employees can take time off work for vacation and other personal reasons to balance their evolving work and life needs. It's important to note that not every benefit is available in all locations or for every role. For details specific to your location, please consult with your recruiter. The Roku Culture Roku is a great place for people who want to work in a fast-paced environment where everyone is focused on the company's success rather than their own. We try to surround ourselves with people who are great at their jobs, who are easy to work with, and who keep their egos in check. We appreciate a sense of humor. We believe a fewer number of very talented folks can do more for less cost than a larger number of less talented teams. We're independent thinkers with big ideas who act boldly, move fast and accomplish extraordinary things through collaboration and trust. In short, at Roku you'll be part of a company that's changing how the world watches TV. We have a unique culture that we are proud of. We think of ourselves primarily as problem-solvers, which itself is a two-part idea. We come up with the solution, but the solution isn't real until it is built and delivered to the customer. That penchant for action gives us a pragmatic approach to innovation, one that has served us well since 2002.
• Lorem ipsum dolor sit amet, consetetur sadipscing elitr • Lorem ipsum dolor sit amet, consetetur sadipscing elitr • Lorem ipsum dolor sit amet, consetetur sadipscing elitr




