Explore careers

Want to be part of the innovative teams on the frontlines of climate technology? View open jobs and easily apply.

Aerial view of a mall plane flying over fields
\n\n\n\n

\n\n\n \n\n
<script type="text/javascript" src="https://app.jibecdn.com/prod/cdn.js"></script>\n
\n\n\n
<div id="skip" class="jibe-container" role="navigation" aria-label="link navigation">\n  <button class="skip-to-main" onclick="skipToMain()" role="link">Skip to Main Content</button>\n</div>\n\n  <div id="all-content" class="snap-content " role="main">\n      \n\n    <section class="header-container" role="navigation">\n
\n
\n
\n \n\n\n\n
\n
\n \n \"logo\"\n
\n
\n \n \n
\n
\n
\n
\n / home \n
\n
\n
\n \n\n
</div>         \n<div class="collapse mobile-menu navbar-nav" id="header-nav--collapse">\n    <ul class="header__menu">\n      <li class="content-first">\n
\n

Search Jobs\n

\n\n
  • Home
  • \n
  • Work
  • \n
  • Life
  • \n
  • Students
  • \n
  • Check Application Status
  • \n \n
    \n
    \n \n\n\n \n\n \n \n\n
    <descriptions-app style="display: block;" _nghost-ndr-c72="" ng-version="11.0.5"><div _ngcontent-ndr-c72="" class="job-description-container">\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    Staff Embedded Software Engineer

    \n\n
    \n\n
    \n
    \n

    Job Description

    \n
    About Rivian

    Rivian is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract. 

    \n

     

    \n

    As a company, we constantly challenge what’s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations. 


    Role Summary

    Help us keep the world adventurous forever by taking a leading role in designing and implementing the firmware that runs on our vehicles! As part of the platform firmware team, you will be writing code that supports every single controller in our cars. Whether its bootstrapping a new micro or designing an embedded file system, you'll be working on the most impactful problems across the organization.


    Responsibilities

      \n
    • Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks. 
    • \n
    • Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software. 
    • \n
    • Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack. 
    • \n
    • Take an active role in leading debugging of various features from many different software organizations. 
    • \n
    • Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests 
    • \n

    Qualifications

      \n
    • Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering 
    • \n
    • 6 or more years developing software for embedded products – not necessarily automotive 
    • \n
    • 5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines 
    • \n
    • 4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others 
    • \n
    • 4 years developing embedded middleware (for example embedded filesystems or communication stacks) 
    • \n
    • Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers 
    • \n
    \n


    Preferred Qualifications

    \n
      \n
    • Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment 
    • \n
    • Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf 
    • \n
    • Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet 
    • \n



    Equal Opportunity

    \n

    Rivian is an equal opportunity employer and complies with all applicable federal, state, and local fair employment practices laws. All qualified applicants will receive consideration for employment without regard to race, color, religion, national origin, ancestry, sex, sexual orientation, gender, gender expression, gender identity, genetic information or characteristics, physical or mental disability, marital/domestic partner status, age, military/veteran status, medical condition, or any other characteristic protected by law.

    \n

     

    \n

    Rivian is committed to ensuring that our hiring process is accessible for persons with disabilities. If you have a disability or limitation, such as those covered by the Americans with Disabilities Act, that requires accommodations to assist you in the search and application process, please email us at candidateaccommodations@rivian.com.

    \n

    Candidate Data Privacy

    \n

    Rivian may collect, use and disclose your personal information or personal data (within the meaning of the applicable data protection laws) when you apply for employment and/or participate in our recruitment processes (“Candidate Personal Data”). This data includes contact, demographic, communications, educational, professional, employment, social media/website, network/device, recruiting system usage/interaction, security and preference information. Rivian may use your Candidate Personal Data for the purposes of (i) tracking interactions with our recruiting system; (ii) carrying out, analyzing and improving our application and recruitment process, including assessing you and your application and conducting employment, background and reference checks; (iii) establishing an employment relationship or entering into an employment contract with you; (iv) complying with our legal, regulatory and corporate governance obligations; (v) recordkeeping; (vi) ensuring network and information security and preventing fraud; and (vii) as otherwise required or permitted by applicable law. 

    \n

     

    \n

    Rivian may share your Candidate Personal Data with (i) internal personnel who have a need to know such information in order to perform their duties, including individuals on our People Team, Finance, Legal, and the team(s) with the position(s) for which you are applying; (ii) Rivian affiliates; and (iii) Rivian’s service providers, including providers of background checks, staffing services, and cloud services. 

    \n

     

    \n

    Rivian may transfer or store internationally your Candidate Personal Data, including to or in the United States, Canada, the United Kingdom, and the European Union and in the cloud, and this data may be subject to the laws and accessible to the courts, law enforcement and national security authorities of such jurisdictions.  

    \n

     

    \n

    Please note that we are currently not accepting applications from third party application services.

    \n
    \n\n
    \n\n
    \n
    \n\n \n\n \n\n \n \n\n \n
    <!-- FOR BRANDING SPECIFIC TRACKING SCRIPTS -->\n\n\n\n\n    \n
    \n\n
    \n
    \n
    \n

    Subscribe to learn about our latest news, updates and adventures.

    \n
    \n \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n R1T\n R1S\n Gear Shop\n
    \n
    \n Fleet\n Our Company\n \n
    \n \n \n
    \n
    \n \n \n \n\n
          <a href="https://www.instagram.com/rivianofficial/" token-data="LP.FOOTER.SOCIAL-LINK_2" token-type="text" target="_blank">\n        <i class="fa fa-instagram" aria-hidden="true"></i>\n      </a>\n      <a href="https://twitter.com/rivian" token-data="LP.FOOTER.SOCIAL-LINK_3" token-type="text" target="_blank">\n        <i class="fa fa-twitter" aria-hidden="true"></i>\n      </a>\n      <a href="https://www.youtube.com/channel/UCPMdVVKDEUrbp3nH46sTZmg" token-data="LP.FOOTER.SOCIAL-LINK_4" token-type="text" target="_blank">\n        <i class="fa fa-youtube-play" aria-hidden="true"></i>\n      </a>\n  </div>\n</div>\n
    \n
    \n
    \n
    \n

    \n @ 2023, Rivian. All Rights Reserved.\n

    \n Privacy Policy\n Terms of Use \n

    \n @ 2023, Rivian. All Rights Reserved.\n

    \n
    \n
    \n
    \n\n\n\n\n\n\n\n\n\n\n\n\n\n
      </div>\n
    \n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n\n\n
    <script> window.jobDescriptionConfig = {"socialShare":true,"job":{"slug":"13918","category":[" Software Engineering"],"full_location":"Vancouver, Canada","short_location":"Vancouver, Canada","language":"en-us","languages":["en-us"],"client_code":"rivian","req_id":"13918","title":"Staff Embedded Software Engineer","description":"<strong>About Rivian</strong><br><br><p style=\\"margin: 0px;\\">Rivian&nbsp;is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract.&nbsp;</p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\">As a company, we constantly challenge what&rsquo;s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations.&nbsp;</p> <br><strong>Role Summary</strong><br><br><p style=\\"margin: 0px;\\">Help us keep the world adventurous forever by taking a leading role in designing and implementing the firmware that runs on our vehicles! As part of the platform firmware team, you will be writing code that supports every single controller in our cars. Whether its bootstrapping a new micro or designing an embedded file system, you'll be working on the most impactful problems across the organization.</p> <br><strong>Responsibilities</strong><br><br><ul><li>Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks.&nbsp;</li><li>Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software.&nbsp;</li><li>Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack.&nbsp;</li><li>Take an active role in leading debugging of various features from many different software organizations.&nbsp;</li><li>Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests&nbsp;</li></ul> <br><strong>Qualifications</strong><br><br><ul><li>Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering&nbsp;</li><li>6 or more years developing software for embedded products &ndash; not necessarily automotive&nbsp;</li><li>5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines&nbsp;</li><li>4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others&nbsp;</li><li>4 years developing embedded middleware (for example embedded filesystems or communication stacks)&nbsp;</li><li>Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers&nbsp;</li></ul><p style=\\"margin: 0px;\\"><br /><strong>Preferred Qualifications</strong></p><ul><li>Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment&nbsp;</li><li>Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf&nbsp;</li><li>Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet&nbsp;</li></ul> <br><strong class=\\"jdheading\\"></strong><br><br><h4><strong>Equal Opportunity</strong></h4><p style=\\"margin: 0px;\\">Rivian is an equal opportunity employer and complies with all applicable federal, state, and local fair employment practices laws. All qualified applicants will receive consideration for employment without regard to race, color, religion, national origin, ancestry, sex, sexual orientation, gender, gender expression, gender identity, genetic information or characteristics, physical or mental disability, marital/domestic partner status, age, military/veteran status, medical condition, or any other characteristic protected by law.</p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\">Rivian is committed to ensuring that our hiring process is accessible for persons with disabilities. If you have a disability or limitation, such as those covered by the Americans with Disabilities Act, that requires accommodations to assist you in the search and application process, please email us at&nbsp;<a href=\\"mailto:candidateaccommodations@rivian.com?subject=Application%20to%20Rivian%20-%20Assistance%20Request\\" target=\\"_blank\\" rel=\\"noopener\\">candidateaccommodations@rivian.com</a>.</p><h4><strong>Candidate Data Privacy</strong></h4><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may collect, use and disclose your personal information or personal data (within the meaning of the applicable data protection laws) when you apply for employment and/or participate in our recruitment processes (&ldquo;Candidate Personal Data&rdquo;). This data includes contact, demographic, communications, educational, professional, employment, social media/website, network/device, recruiting system usage/interaction, security and preference information. Rivian may use your Candidate Personal Data for the purposes of (i) tracking interactions with our recruiting system; (ii) carrying out, analyzing and improving our application and recruitment process, including assessing you and your application and conducting employment, background and reference checks; (iii) establishing an employment relationship or entering into an employment contract with you; (iv) complying with our legal, regulatory and corporate governance obligations; (v) recordkeeping; (vi) ensuring network and information security and preventing fraud; and (vii) as otherwise required or permitted by applicable law.</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may share your Candidate Personal Data with (i) internal personnel who have a need to know such information in order to perform their duties, including individuals on our People Team, Finance, Legal, and the team(s) with the position(s) for which you are applying; (ii) Rivian affiliates; and (iii) Rivian&rsquo;s service providers, including providers of background checks, staffing services, and cloud services.</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may transfer or store internationally your Candidate Personal Data, including to or in the United States, Canada, the United Kingdom, and the European Union and in the cloud, and this data may be subject to the laws and accessible to the courts, law enforcement and national security authorities of such jurisdictions.&nbsp;</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><strong>Please note that we are currently not accepting applications from third party application services.</strong></p>","location_name":"1038 - 1050 Homer Street (Vancouver British Columbia)","street_address":"1038 Homer Street","city":"Vancouver","state":"British Columbia","country":"Canada","country_code":"CA","postal_code":"V6B 2W9","location_type":"LAT_LNG","latitude":49.24966,"longitude":-123.11934,"additional_locations":[],"categories":[{"name":"Software Engineering"}],"tags1":["Full Time"],"department":"","benefits":[],"employment_type":"FULL_TIME","qualifications":"<ul><li>Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering&nbsp;</li><li>6 or more years developing software for embedded products &ndash; not necessarily automotive&nbsp;</li><li>5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines&nbsp;</li><li>4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others&nbsp;</li><li>4 years developing embedded middleware (for example embedded filesystems or communication stacks)&nbsp;</li><li>Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers&nbsp;</li></ul><p style=\\"margin: 0px;\\"><br /><strong>Preferred Qualifications</strong></p><ul><li>Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment&nbsp;</li><li>Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf&nbsp;</li><li>Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet&nbsp;</li></ul>","hiring_organization":"Rivian","hiring_organization_logo":"https://Rivian.icims.com/icims2/servlet/icims2?module=AppInert&action=download&id=51&hashed=-1937123","responsibilities":"<ul><li>Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks.&nbsp;</li><li>Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software.&nbsp;</li><li>Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack.&nbsp;</li><li>Take an active role in leading debugging of various features from many different software organizations.&nbsp;</li><li>Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests&nbsp;</li></ul>","posted_date":"2023-10-11T19:06:00+0000","apply_url":"https://us-careers-rivian.icims.com/jobs/13918/login","internal":false,"searchable":true,"active":true,"applyable":true,"li_easy_applyable":true,"ats_code":"icims","hiring_flow_name":"iCIMS ATS Hiring Flow","meta_data":{"openingjobs":{"openingJobId":"00007f24204db0b37863213c7536196e6dc8"},"icims":{"revision_int":5,"uuid":"51d9316a-c50c-45f2-ab69-fc2bf3f46439","primary_posted_site_object":{"datePosted":"2023-10-11T19:06:00+0000","site":"us-careers-rivian","siteId":"efbf127b-fc4b-4b4e-a3dd-73c038922782"},"date_updated":"2023-10-20T11:48:38Z","config_keys":null,"jps_is_public":true},"elasticsearch":{"es_created":false},"ats_job_hash":"24878fb1d9dae1c09d388ccdc954adbb","googlejobs":{"jobName":"projects/helpful-passage-853/tenants/cb22eb5b-7e00-0000-0000-007edad744d3/jobs/111910520782496454"},"import_id":"66873863-c1aa-4c65-a64d-0e58d10f6b20","redirectOnApply":true,"questionservice":{"id":"29018308"},"import_source":"ImporterService","client_code":"rivian"},"update_date":"2023-10-20T11:54:56+0000","create_date":"2023-10-11T19:07:06+0000"},"jobFormatted":{"categories":"Software Engineering","location":"Vancouver, Canada","title":"Staff Embedded Software Engineer","seo_title":["Software+Engineering","Vancouver%2C+Canada","Staff+Embedded+Software+Engineer"],"description":"<strong>About Rivian</strong><br><br><p style=\\"margin: 0px;\\">Rivian&nbsp;is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract.&nbsp;</p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\">As a company, we constantly challenge what&rsquo;s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations.&nbsp;</p> <br><strong>Role Summary</strong><br><br><p style=\\"margin: 0px;\\">Help us keep the world adventurous forever by taking a leading role in designing and implementing the firmware that runs on our vehicles! As part of the platform firmware team, you will be writing code that supports every single controller in our cars. Whether its bootstrapping a new micro or designing an embedded file system, you'll be working on the most impactful problems across the organization.</p> <br><strong>Responsibilities</strong><br><br><ul><li>Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks.&nbsp;</li><li>Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software.&nbsp;</li><li>Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack.&nbsp;</li><li>Take an active role in leading debugging of various features from many different software organizations.&nbsp;</li><li>Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests&nbsp;</li></ul> <br><strong>Qualifications</strong><br><br><ul><li>Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering&nbsp;</li><li>6 or more years developing software for embedded products &ndash; not necessarily automotive&nbsp;</li><li>5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines&nbsp;</li><li>4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others&nbsp;</li><li>4 years developing embedded middleware (for example embedded filesystems or communication stacks)&nbsp;</li><li>Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers&nbsp;</li></ul><p style=\\"margin: 0px;\\"><br /><strong>Preferred Qualifications</strong></p><ul><li>Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment&nbsp;</li><li>Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf&nbsp;</li><li>Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet&nbsp;</li></ul> <br><strong class=\\"jdheading\\"></strong><br><br><h4><strong>Equal Opportunity</strong></h4><p style=\\"margin: 0px;\\">Rivian is an equal opportunity employer and complies with all applicable federal, state, and local fair employment practices laws. All qualified applicants will receive consideration for employment without regard to race, color, religion, national origin, ancestry, sex, sexual orientation, gender, gender expression, gender identity, genetic information or characteristics, physical or mental disability, marital/domestic partner status, age, military/veteran status, medical condition, or any other characteristic protected by law.</p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\">Rivian is committed to ensuring that our hiring process is accessible for persons with disabilities. If you have a disability or limitation, such as those covered by the Americans with Disabilities Act, that requires accommodations to assist you in the search and application process, please email us at&nbsp;<a href=\\"mailto:candidateaccommodations@rivian.com?subject=Application%20to%20Rivian%20-%20Assistance%20Request\\" target=\\"_blank\\" rel=\\"noopener\\">candidateaccommodations@rivian.com</a>.</p><h4><strong>Candidate Data Privacy</strong></h4><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may collect, use and disclose your personal information or personal data (within the meaning of the applicable data protection laws) when you apply for employment and/or participate in our recruitment processes (&ldquo;Candidate Personal Data&rdquo;). This data includes contact, demographic, communications, educational, professional, employment, social media/website, network/device, recruiting system usage/interaction, security and preference information. Rivian may use your Candidate Personal Data for the purposes of (i) tracking interactions with our recruiting system; (ii) carrying out, analyzing and improving our application and recruitment process, including assessing you and your application and conducting employment, background and reference checks; (iii) establishing an employment relationship or entering into an employment contract with you; (iv) complying with our legal, regulatory and corporate governance obligations; (v) recordkeeping; (vi) ensuring network and information security and preventing fraud; and (vii) as otherwise required or permitted by applicable law.</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may share your Candidate Personal Data with (i) internal personnel who have a need to know such information in order to perform their duties, including individuals on our People Team, Finance, Legal, and the team(s) with the position(s) for which you are applying; (ii) Rivian affiliates; and (iii) Rivian&rsquo;s service providers, including providers of background checks, staffing services, and cloud services.</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may transfer or store internationally your Candidate Personal Data, including to or in the United States, Canada, the United Kingdom, and the European Union and in the cloud, and this data may be subject to the laws and accessible to the courts, law enforcement and national security authorities of such jurisdictions.&nbsp;</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><strong>Please note that we are currently not accepting applications from third party application services.</strong></p>","qualifications":"<ul><li>Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering&nbsp;</li><li>6 or more years developing software for embedded products &ndash; not necessarily automotive&nbsp;</li><li>5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines&nbsp;</li><li>4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others&nbsp;</li><li>4 years developing embedded middleware (for example embedded filesystems or communication stacks)&nbsp;</li><li>Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers&nbsp;</li></ul><p style=\\"margin: 0px;\\"><br /><strong>Preferred Qualifications</strong></p><ul><li>Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment&nbsp;</li><li>Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf&nbsp;</li><li>Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet&nbsp;</li></ul>","responsibilities":"<ul><li>Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks.&nbsp;</li><li>Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software.&nbsp;</li><li>Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack.&nbsp;</li><li>Take an active role in leading debugging of various features from many different software organizations.&nbsp;</li><li>Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests&nbsp;</li></ul>","clientName":"Rivian Careers Home","locations":"Vancouver, Canada"},"jdSettings":{"options":{"metadata":{"options":{"enabled":false,"data":[]},"categories":{"enabled":true},"locations":{"enabled":true},"req_id":{"enabled":true},"placement":"top"},"video":{"enabled":false,"placement":"above_description"},"displayFields":{"fieldOrder":["locations","categories"],"fields":[{"item":"locations","token":"JOB_DESCRIPTION.LOCATION","ariaLabel":"JOB_DESCRIPTION.LOCATION_ARIA_LABEL","fieldType":"location"},{"item":"categories","token":"JOB_DESCRIPTION.CATEGORIES","ariaLabel":"JOB_DESCRIPTION.CATEGORIES_ARIA_LABEL","objectArrayKey":"name"}]}}},"sectionOrder":["description"],"getReferredEnabled":false,"addThisDisabled":true,"externalTrackifEnabled":false,"jibeTrackifEnabled":false,"brandName":"careers-home","globalSearchEnabled":false,"jobLangData":[],"referrals":{"enabled":false,"recruit":false},"seoMetaData":{"clientName":"Rivian Careers Home","data":{"slug":"13918","category":[" Software Engineering"],"full_location":"Vancouver, Canada","short_location":"Vancouver, Canada","language":"en-us","languages":["en-us"],"client_code":"rivian","req_id":"13918","title":"Staff Embedded Software Engineer","description":"<strong>About Rivian</strong><br><br><p style=\\"margin: 0px;\\">Rivian&nbsp;is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract.&nbsp;</p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\">As a company, we constantly challenge what&rsquo;s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations.&nbsp;</p> <br><strong>Role Summary</strong><br><br><p style=\\"margin: 0px;\\">Help us keep the world adventurous forever by taking a leading role in designing and implementing the firmware that runs on our vehicles! As part of the platform firmware team, you will be writing code that supports every single controller in our cars. Whether its bootstrapping a new micro or designing an embedded file system, you'll be working on the most impactful problems across the organization.</p> <br><strong>Responsibilities</strong><br><br><ul><li>Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks.&nbsp;</li><li>Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software.&nbsp;</li><li>Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack.&nbsp;</li><li>Take an active role in leading debugging of various features from many different software organizations.&nbsp;</li><li>Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests&nbsp;</li></ul> <br><strong>Qualifications</strong><br><br><ul><li>Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering&nbsp;</li><li>6 or more years developing software for embedded products &ndash; not necessarily automotive&nbsp;</li><li>5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines&nbsp;</li><li>4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others&nbsp;</li><li>4 years developing embedded middleware (for example embedded filesystems or communication stacks)&nbsp;</li><li>Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers&nbsp;</li></ul><p style=\\"margin: 0px;\\"><br /><strong>Preferred Qualifications</strong></p><ul><li>Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment&nbsp;</li><li>Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf&nbsp;</li><li>Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet&nbsp;</li></ul> <br><strong class=\\"jdheading\\"></strong><br><br><h4><strong>Equal Opportunity</strong></h4><p style=\\"margin: 0px;\\">Rivian is an equal opportunity employer and complies with all applicable federal, state, and local fair employment practices laws. All qualified applicants will receive consideration for employment without regard to race, color, religion, national origin, ancestry, sex, sexual orientation, gender, gender expression, gender identity, genetic information or characteristics, physical or mental disability, marital/domestic partner status, age, military/veteran status, medical condition, or any other characteristic protected by law.</p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\">Rivian is committed to ensuring that our hiring process is accessible for persons with disabilities. If you have a disability or limitation, such as those covered by the Americans with Disabilities Act, that requires accommodations to assist you in the search and application process, please email us at&nbsp;<a href=\\"mailto:candidateaccommodations@rivian.com?subject=Application%20to%20Rivian%20-%20Assistance%20Request\\" target=\\"_blank\\" rel=\\"noopener\\">candidateaccommodations@rivian.com</a>.</p><h4><strong>Candidate Data Privacy</strong></h4><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may collect, use and disclose your personal information or personal data (within the meaning of the applicable data protection laws) when you apply for employment and/or participate in our recruitment processes (&ldquo;Candidate Personal Data&rdquo;). This data includes contact, demographic, communications, educational, professional, employment, social media/website, network/device, recruiting system usage/interaction, security and preference information. Rivian may use your Candidate Personal Data for the purposes of (i) tracking interactions with our recruiting system; (ii) carrying out, analyzing and improving our application and recruitment process, including assessing you and your application and conducting employment, background and reference checks; (iii) establishing an employment relationship or entering into an employment contract with you; (iv) complying with our legal, regulatory and corporate governance obligations; (v) recordkeeping; (vi) ensuring network and information security and preventing fraud; and (vii) as otherwise required or permitted by applicable law.</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may share your Candidate Personal Data with (i) internal personnel who have a need to know such information in order to perform their duties, including individuals on our People Team, Finance, Legal, and the team(s) with the position(s) for which you are applying; (ii) Rivian affiliates; and (iii) Rivian&rsquo;s service providers, including providers of background checks, staffing services, and cloud services.</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may transfer or store internationally your Candidate Personal Data, including to or in the United States, Canada, the United Kingdom, and the European Union and in the cloud, and this data may be subject to the laws and accessible to the courts, law enforcement and national security authorities of such jurisdictions.&nbsp;</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><strong>Please note that we are currently not accepting applications from third party application services.</strong></p>","location_name":"1038 - 1050 Homer Street (Vancouver British Columbia)","street_address":"1038 Homer Street","city":"Vancouver","state":"British Columbia","country":"Canada","country_code":"CA","postal_code":"V6B 2W9","location_type":"LAT_LNG","latitude":49.24966,"longitude":-123.11934,"additional_locations":[],"categories":[{"name":"Software Engineering"}],"tags1":["Full Time"],"department":"","benefits":[],"employment_type":"FULL_TIME","qualifications":"<ul><li>Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering&nbsp;</li><li>6 or more years developing software for embedded products &ndash; not necessarily automotive&nbsp;</li><li>5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines&nbsp;</li><li>4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others&nbsp;</li><li>4 years developing embedded middleware (for example embedded filesystems or communication stacks)&nbsp;</li><li>Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers&nbsp;</li></ul><p style=\\"margin: 0px;\\"><br /><strong>Preferred Qualifications</strong></p><ul><li>Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment&nbsp;</li><li>Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf&nbsp;</li><li>Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet&nbsp;</li></ul>","hiring_organization":"Rivian","hiring_organization_logo":"https://Rivian.icims.com/icims2/servlet/icims2?module=AppInert&action=download&id=51&hashed=-1937123","responsibilities":"<ul><li>Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks.&nbsp;</li><li>Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software.&nbsp;</li><li>Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack.&nbsp;</li><li>Take an active role in leading debugging of various features from many different software organizations.&nbsp;</li><li>Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests&nbsp;</li></ul>","posted_date":"2023-10-11T19:06:00+0000","apply_url":"https://us-careers-rivian.icims.com/jobs/13918/login","internal":false,"searchable":true,"active":true,"applyable":true,"li_easy_applyable":true,"ats_code":"icims","hiring_flow_name":"iCIMS ATS Hiring Flow","meta_data":{"openingjobs":{"openingJobId":"00007f24204db0b37863213c7536196e6dc8"},"icims":{"revision_int":5,"uuid":"51d9316a-c50c-45f2-ab69-fc2bf3f46439","primary_posted_site_object":{"datePosted":"2023-10-11T19:06:00+0000","site":"us-careers-rivian","siteId":"efbf127b-fc4b-4b4e-a3dd-73c038922782"},"date_updated":"2023-10-20T11:48:38Z","config_keys":null,"jps_is_public":true},"elasticsearch":{"es_created":false},"ats_job_hash":"24878fb1d9dae1c09d388ccdc954adbb","googlejobs":{"jobName":"projects/helpful-passage-853/tenants/cb22eb5b-7e00-0000-0000-007edad744d3/jobs/111910520782496454"},"import_id":"66873863-c1aa-4c65-a64d-0e58d10f6b20","redirectOnApply":true,"questionservice":{"id":"29018308"},"import_source":"ImporterService","client_code":"rivian"},"update_date":"2023-10-20T11:54:56+0000","create_date":"2023-10-11T19:07:06+0000"},"formattedData":{"categories":"Software Engineering","location":"Vancouver, Canada","title":"Staff Embedded Software Engineer","seo_title":["Software+Engineering","Vancouver%2C+Canada","Staff+Embedded+Software+Engineer"],"description":"<strong>About Rivian</strong><br><br><p style=\\"margin: 0px;\\">Rivian&nbsp;is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract.&nbsp;</p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\">As a company, we constantly challenge what&rsquo;s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations.&nbsp;</p> <br><strong>Role Summary</strong><br><br><p style=\\"margin: 0px;\\">Help us keep the world adventurous forever by taking a leading role in designing and implementing the firmware that runs on our vehicles! As part of the platform firmware team, you will be writing code that supports every single controller in our cars. Whether its bootstrapping a new micro or designing an embedded file system, you'll be working on the most impactful problems across the organization.</p> <br><strong>Responsibilities</strong><br><br><ul><li>Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks.&nbsp;</li><li>Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software.&nbsp;</li><li>Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack.&nbsp;</li><li>Take an active role in leading debugging of various features from many different software organizations.&nbsp;</li><li>Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests&nbsp;</li></ul> <br><strong>Qualifications</strong><br><br><ul><li>Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering&nbsp;</li><li>6 or more years developing software for embedded products &ndash; not necessarily automotive&nbsp;</li><li>5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines&nbsp;</li><li>4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others&nbsp;</li><li>4 years developing embedded middleware (for example embedded filesystems or communication stacks)&nbsp;</li><li>Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers&nbsp;</li></ul><p style=\\"margin: 0px;\\"><br /><strong>Preferred Qualifications</strong></p><ul><li>Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment&nbsp;</li><li>Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf&nbsp;</li><li>Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet&nbsp;</li></ul> <br><strong class=\\"jdheading\\"></strong><br><br><h4><strong>Equal Opportunity</strong></h4><p style=\\"margin: 0px;\\">Rivian is an equal opportunity employer and complies with all applicable federal, state, and local fair employment practices laws. All qualified applicants will receive consideration for employment without regard to race, color, religion, national origin, ancestry, sex, sexual orientation, gender, gender expression, gender identity, genetic information or characteristics, physical or mental disability, marital/domestic partner status, age, military/veteran status, medical condition, or any other characteristic protected by law.</p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\">Rivian is committed to ensuring that our hiring process is accessible for persons with disabilities. If you have a disability or limitation, such as those covered by the Americans with Disabilities Act, that requires accommodations to assist you in the search and application process, please email us at&nbsp;<a href=\\"mailto:candidateaccommodations@rivian.com?subject=Application%20to%20Rivian%20-%20Assistance%20Request\\" target=\\"_blank\\" rel=\\"noopener\\">candidateaccommodations@rivian.com</a>.</p><h4><strong>Candidate Data Privacy</strong></h4><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may collect, use and disclose your personal information or personal data (within the meaning of the applicable data protection laws) when you apply for employment and/or participate in our recruitment processes (&ldquo;Candidate Personal Data&rdquo;). This data includes contact, demographic, communications, educational, professional, employment, social media/website, network/device, recruiting system usage/interaction, security and preference information. Rivian may use your Candidate Personal Data for the purposes of (i) tracking interactions with our recruiting system; (ii) carrying out, analyzing and improving our application and recruitment process, including assessing you and your application and conducting employment, background and reference checks; (iii) establishing an employment relationship or entering into an employment contract with you; (iv) complying with our legal, regulatory and corporate governance obligations; (v) recordkeeping; (vi) ensuring network and information security and preventing fraud; and (vii) as otherwise required or permitted by applicable law.</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may share your Candidate Personal Data with (i) internal personnel who have a need to know such information in order to perform their duties, including individuals on our People Team, Finance, Legal, and the team(s) with the position(s) for which you are applying; (ii) Rivian affiliates; and (iii) Rivian&rsquo;s service providers, including providers of background checks, staffing services, and cloud services.</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><span data-contrast=\\"auto\\">Rivian may transfer or store internationally your Candidate Personal Data, including to or in the United States, Canada, the United Kingdom, and the European Union and in the cloud, and this data may be subject to the laws and accessible to the courts, law enforcement and national security authorities of such jurisdictions.&nbsp;</span><span data-ccp-props=\\"{"335551550":6,"335551620":6,"335559739":240}\\">&nbsp;</span></p><p style=\\"margin: 0px;\\">&nbsp;</p><p style=\\"margin: 0px;\\"><strong>Please note that we are currently not accepting applications from third party application services.</strong></p>","qualifications":"<ul><li>Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering&nbsp;</li><li>6 or more years developing software for embedded products &ndash; not necessarily automotive&nbsp;</li><li>5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines&nbsp;</li><li>4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others&nbsp;</li><li>4 years developing embedded middleware (for example embedded filesystems or communication stacks)&nbsp;</li><li>Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers&nbsp;</li></ul><p style=\\"margin: 0px;\\"><br /><strong>Preferred Qualifications</strong></p><ul><li>Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment&nbsp;</li><li>Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf&nbsp;</li><li>Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet&nbsp;</li></ul>","responsibilities":"<ul><li>Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks.&nbsp;</li><li>Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software.&nbsp;</li><li>Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack.&nbsp;</li><li>Take an active role in leading debugging of various features from many different software organizations.&nbsp;</li><li>Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests&nbsp;</li></ul>","clientName":"Rivian Careers Home","locations":"Vancouver, Canada"}},"isNoIndex":false,"preloginConfiguration":null,"contextSettings":{"contextDefinitions":[{"name":"careers-home","displayName":"Rivian Careers Home","metadata":{"title":"Rivian Careers Home","description":"Rivian Careers Home"}},{"name":"life","displayName":"Rivian Life","metadata":{"title":"Rivian Life","description":"Rivian Life"}},{"name":"work","displayName":"Rivian Work","metadata":{"title":"Rivian Work","description":"Rivian Work"}},{"name":"students","displayName":"Rivian Students","metadata":{"title":"Rivian Students","description":"Rivian Students"}},{"redirectToForm":false,"successCTAButtonEnabled":true,"name":"talent-network","displayName":"Rivian Talent Community Landing Page","urlPath":"/talent-network","overrides":{"talentcommunity.integration.v2":{"enabled":true}},"createdAt":"2023-03-22T14:29:56+0000","creatorId":183525535,"creatorName":"icims-admin@rivian.com","updatedAt":"2023-03-31T18:26:57+0000"}],"defaultContext":"careers-home","currentContext":"careers-home","redirectWithSources":true,"currentClient":"rivian"},"similarJobsEnabled":false,"login":{},"inhouseAlertsEnabled":false}; </script>\n<script> window.jobDescriptionTemplates = {\n  sectionTop: "<!-- FOR BRANDING ELEMENTS TO BE PLACED ABOVE JOB DESCRIPTION BODY -->",\n  sectionBottom: "<!-- FOR BRANDING ELEMENTS TO BE PLACED BELOW JOB DESCRIPTION BODY -->",\n  additionalButton: "<!-- additional button on JD page -->",\n  getReferred: "<a href=\\"undefined\\" class=\\"get-referred cta-button\\">\\n  <span class=\\"fa fa-users\\" aria-hidden=\\"true\\"></span>\\n  Get Referred\\n</a>",\n  rightRailMedia: "",\n};\n</script>\n\n  <script src="https://app.jibecdn.com/prod/descriptions/1.1.45/polyfills-es5.js" nomodule=""></script>\n  <script src="https://app.jibecdn.com/prod/descriptions/1.1.45/polyfills.js"></script>\n  <script src="https://app.jibecdn.com/prod/descriptions/1.1.45/scripts.js"></script>\n  <script src="https://app.jibecdn.com/prod/descriptions/1.1.45/main.js"></script>\n\n\n\n  <script type="text/javascript" id="">(function(d){var f=d._cpga;if(!f){f={log:function(a,b,c,e){try{e||(e="debug"),google_tag_manager["rm"]["1390162"](17)&&"object"==typeof console&&(console.group(["_cpga",a,b].join(" - ")),console[e](c),console.groupEnd())}catch(g){}},ee:{recurse:function(a,b){if(1==b.length)return a[b];var c=b.shift();a=a[c];if(!a)return null;if(0!=b.length)return f.ee.recurse(a,b)},mapToProduct:function(a,b,c){try{if(!a)return{};b&&(a.customerId=b);c&&(a.hasVideo=c);b=[{k:"name",v:"title"},{k:"id",v:"id"},{k:"brand",v:"customerId"},\n
    \n

    {k:"category",v:"category"},{k:"33",v:"id"},{k:"34",v:"category"},{k:"35",v:"title"},{k:"36",v:"location.state"},{k:"37",v:"location.country"},{k:"38",v:"location.city"},{k:"39",v:"location.zip"},{k:"40",v:"positionType"},{k:"41",v:"company"},{k:"42",v:"hasVideo"},{k:google_tag_manager["rm"]"1390162",v:"externalId"},{k:google_tag_manager["rm"]"1390162",v:"postedDate"}];var e;c={price:"0.01"};for(var g=0;g<b.length;g++){var h=b[g].k;var k=/^\\d+$/.test(h)?"dimension"+h:h;var l=b[g].v;(e=this.recurse(a,l.split(".")))&&(c[k]=\ne)}return c}catch(m){f.log("Tag","GA Preloader","mapToProduct error: "+m,"error")}}}};d._cpga=f;try{d.ga=d.ga||function(){(d.ga.q=d.ga.q||[]).push(arguments);"create"==arguments[0]&&ga(function(){tracker=ga.getAll()[ga.getAll().length-1];var a=tracker.get("clientId");tracker.set("dimension61",a);dataLayer.push({gaClientID:a})})}}catch(a){}}})(window);\n \n \n \n

    \n
    <script data-cookieconsent="statistics">\n
    \n

    /**

    \n
      \n
    • @description: send an arbitrary payload to the server-side for later consumption.
    • \n
    • @param {Object} payload - a json payload that contains arbitrary data
    • \n
    • @param {String} payload.event_name - the unique name to associate with the event
    • \n
    • @param {String} payload.slug - the job id to associate with the event
    • \n
    • @param {String} payload.language - the locale to associate with the event\n */\n function sendEvent(payload) {\n// validation check\nif (!(payload || payload.event_name)) {\n console.error('insufficient data for meaningful response.');\n return;\n}
    • \n
    \n
    else {\n\n  // send ajax request to backend for consumption\n  $.ajax({\n    method: 'POST',\n    url: '/api/impression',\n    data: payload,\n    success: function (res) {\n      // console.log('successful ajax call with response: ', res);\n    }\n  });\n}\n
    \n

    }\n\n

    \n
    <!-- Accessibility BEGIN -->\n
    \n\n\n\n
    <script>\n  var referrer = location.protocol + "//" + location.host\n  if (document.referrer.length > 0 && document.referrer.indexOf(referrer) === -1 && !window.sessionStorage.getItem('externalReferrer')) {\n    window.sessionStorage.setItem('externalReferrer', document.referrer);\n  }\n</script>\n\n\n\n\n    \n
    \n

    \n
                <div class="third-party-button-container column-container">\n                <a aria-label="dismiss cookie message" role="button" tabindex="0" class="btn-primary accept-button" id="cookie-consent-accept-button">\n                  Okay\n                </a>\n            </div>\n        </div>\n        <span aria-label="dismiss cookie message" tabindex="0" class="close-button" id="cookie-consent-x">\n            x\n        </span>\n    </div>\n
    \n
    \n\n\n
        <script>\n        window.gdprConfiguration = {"enabled":true,"pixel_consent":{"enabled":true,"cookie_notice":true,"third_party":false,"versionId":"search-consent-1","show_consent":true},"apply_consent":{"enabled":false,"job_specific":true,"versionId":"apply-consent-1"},"ttl":2592000000};\n    </script>\n    <script type="text/javascript"> function defer(method) { if (window.jQuery) { method(); } else { setTimeout(function() { defer(method) }, 50); } } defer(function() { window.$ = jQuery; var head = window.document.querySelectorAll('head')[0], scrp = document.createElement('script'); scrp.setAttribute('type', 'text/javascript'); scrp.src = '/dist/js/gdpr.js?v=4.5.494'; jQuery(function() { window.document.body.appendChild(scrp); }); }); </script>\n
    \n","datePosted":"2023-10-12T09:28:13.130Z","validThrough":"2024-03-07","employmentType":[],"hiringOrganization":{"@type":"Organization","name":"Rivian","description":"Rivian is an automotive technology company that develops products and services to advance the shift to sustainable mobility. The company creates solutions that redefine traditional automotive economics and remove the pain points of conventional ownership. It also manufactures autonomous electric vehicles intended to offer a comfortable and eco-friendly driving experience.","numberOfEmployees":11216,"address":[{"address":{"@type":"PostalAddress","addressLocality":"Plymouth, MI, USA"}}],"sameAs":"https://rivian.com","url":"https://rivian.com","logo":"https://cdn.getro.com/companies/3490f08b-fa29-5c17-9841-55a0fe457a14","memberOf":{"@type":"Organization","name":"Amazon Climate Pledge","description":"","logo":"https://cdn.filepicker.io/api/file/VovG1DnqQ1OAUJgLCMuW","url":"portfoliojobs.theclimatepledge.com"},"keywords":"Manufacturing, Transportation"},"jobLocation":{"@type":"Place","address":{"@type":"PostalAddress","addressLocality":"Palo Alto, CA, USA"}}}

    Staff Embedded Software Engineer

    Rivian

    Rivian

    Software Engineering
    Palo Alto, CA, USA
    Posted 6+ months ago

    Staff Embedded Software Engineer

    CAROUSEL_PARAGRAPH

    JOB_DESCRIPTION.SHARE.HTML

    Job Description

    About Rivian

    Rivian is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract. 

     

    As a company, we constantly challenge what’s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations. 


    Role Summary

    Help us keep the world adventurous forever by taking a leading role in designing and implementing the firmware that runs on our vehicles! As part of the platform firmware team, you will be writing code that supports every single controller in our cars. Whether its bootstrapping a new micro or designing an embedded file system, you'll be working on the most impactful problems across the organization.


    Responsibilities

    • Design, develop, and test automotive grade software destined for an ECU application running in an RTOS (Real Time Operating System) environment. This role requires the individual to successfully move up and down the stack, implementing MCU drivers, off chip peripherals, and hardware agnostic software stacks. 
    • Be aware of the various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software. 
    • Engage with multiple stakeholders across the organization to solicit requirements and drive changes in our software stack. 
    • Take an active role in leading debugging of various features from many different software organizations. 
    • Drive future test strategy for our software to ensure every piece of code comes with strong regression suites and feature tests 

    Qualifications

    • Bachelor or higher in a relevant field such as Computer Science, Computer Engineering, or Electrical Engineering 
    • 6 or more years developing software for embedded products – not necessarily automotive 
    • 5 years of experience with an RTOS that includes an in-depth understanding of queues, semaphores, priority inversion, and task deadlines 
    • 4 years developing MCU drivers for peripherals such as SPI, I2C, ADC and others 
    • 4 years developing embedded middleware (for example embedded filesystems or communication stacks) 
    • Proficiency in debugging things at a hardware level using oscilloscopes, logic analyzers, and hardware debuggers 


    Preferred Qualifications

    • Awareness of ISO 26262 Functional Safety and how it influences software design choices in an automotive environment 
    • Knowledge of automotive diagnostic protocols such as UDS, as well as familiarity with serialization formats like protobuf 
    • Familiarity with automotive bus protocols such as CAN (Controller Area Network), LIN, and automotive Ethernet 



    Equal Opportunity

    Rivian is an equal opportunity employer and complies with all applicable federal, state, and local fair employment practices laws. All qualified applicants will receive consideration for employment without regard to race, color, religion, national origin, ancestry, sex, sexual orientation, gender, gender expression, gender identity, genetic information or characteristics, physical or mental disability, marital/domestic partner status, age, military/veteran status, medical condition, or any other characteristic protected by law.

     

    Rivian is committed to ensuring that our hiring process is accessible for persons with disabilities. If you have a disability or limitation, such as those covered by the Americans with Disabilities Act, that requires accommodations to assist you in the search and application process, please email us at candidateaccommodations@rivian.com.

    Candidate Data Privacy

    Rivian may collect, use and disclose your personal information or personal data (within the meaning of the applicable data protection laws) when you apply for employment and/or participate in our recruitment processes (“Candidate Personal Data”). This data includes contact, demographic, communications, educational, professional, employment, social media/website, network/device, recruiting system usage/interaction, security and preference information. Rivian may use your Candidate Personal Data for the purposes of (i) tracking interactions with our recruiting system; (ii) carrying out, analyzing and improving our application and recruitment process, including assessing you and your application and conducting employment, background and reference checks; (iii) establishing an employment relationship or entering into an employment contract with you; (iv) complying with our legal, regulatory and corporate governance obligations; (v) recordkeeping; (vi) ensuring network and information security and preventing fraud; and (vii) as otherwise required or permitted by applicable law. 

     

    Rivian may share your Candidate Personal Data with (i) internal personnel who have a need to know such information in order to perform their duties, including individuals on our People Team, Finance, Legal, and the team(s) with the position(s) for which you are applying; (ii) Rivian affiliates; and (iii) Rivian’s service providers, including providers of background checks, staffing services, and cloud services. 

     

    Rivian may transfer or store internationally your Candidate Personal Data, including to or in the United States, Canada, the United Kingdom, and the European Union and in the cloud, and this data may be subject to the laws and accessible to the courts, law enforcement and national security authorities of such jurisdictions.  

     

    Please note that we are currently not accepting applications from third party application services.

    Subscribe to learn about our latest news, updates and adventures.