Stripe

Firmware Engineer

Listed by employer · Checked

Older posting · still listed ·

  • Workplace not specified
  • 8512 Terminal - Eng
  • Taipei City
  • Taiwan Locations
Work arrangement
Not stated
Employment
Not stated
Stated compensation
Not specified
Apply on company website ↗
01 / A QUICK CHECK BEFORE YOU APPLY

Does the location policy fit?

Choose where you would work from. We’ll compare it with the posting’s stated requirements.

Choose the country you will work from. You can change this anytime.

Country and sponsorship changes take effect when you click Check eligibility.

Choose a country to check geographic compatibility. The source requirements are available below.

Source: greenhouseChecked Original posting ↗
This is an older posting.

The employer’s posting date is more than 60 days ago. It remained listed at our last successful check; it may be a long-running or evergreen opening. Confirm availability on the original posting before applying.

Browse jobs posted in the past 60 days →

Requirements

1 with evidence8 unclear or unstated
Minimum experience (years)
2
“2+ years software development experience.”
See matched passage in original description ↓
10 fields not stated in this posting
Remote policy
Unclear
Employer sponsorship
Not specified
Geographic scope
Not specified
Degree requirement
Not specified
Security clearance
Not mentioned
Timezone / hours
Not specified
Citizenship requirement
Not mentioned
Work authorization
Not specified
Employment type
Not specified
Compensation
Not specified

These details were not stated in the tracked posting. Confirm with the employer.

READ IT IN THE EMPLOYER’S OWN WORDS

Original job description

Reading view uses normalized posting text so exact evidence excerpts can be highlighted.

About Stripe Stripe is a financial infrastructure platform for businesses. Millions of companies—from the world’s largest enterprises to the most ambitious startups—use Stripe to accept payments, grow their revenue, and accelerate new business opportunities. Our mission is to increase the GDP of the internet, and we have a staggering amount of work ahead. That means you have an unprecedented opportunity to put the global economy within everyone’s reach while doing the most important work of your career.  About the team
Read full descriptionShow less description
Stripe Terminal helps Stripe users extend their online presence into the physical world. The Terminal team’s mission is to make it as easy for businesses to accept in-person payments as the Stripe API has done for online payments. With Terminal, businesses can unlock in-person payments use cases that are right for their business model—whether it’s creating a flagship retail experience, extending their website to a pop-up store, or enabling a mobile point-of-sale at their next event.  We are looking for: You will be responsible for all aspects of software development, which includes building, writing automated tests, and deploying software on our embedded payments platforms. This team works closely with partner teams throughout the hardware and software product lifecycle, from hardware manufacturing to Android application teams.  What you’ll do Design, develop and maintain user interfaces and underlying functionality for embedded point-of-sale software that handle secure payment processing across several products simultaneously. Implement industry standard protocols to match product capabilities. Create, maintain, and execute application unit tests as part of Continuous Integration. Analyze bug reports and manage the defect resolution process (disposition issues, resolve issues, and report issue status). Work closely with QA staff to ensure appropriate test cases are created, maintained, and executed. Collaborate on system-side code, communication protocol design, and kernel development. Interact with global teams with excellent communication skills to provide support information. Routinely perform code reviews to ensure high quality designs and implementation. Assist in ensuring quality and timeliness of product and feature development. Proactively solve problems and work independently and within a team environment, with limited guidance. Work closely with your hardware counterparts on product design and have the ability to read schematics, provide feedback on I/O mapping, developing manufacturing test software to ensure the devices are built to specification. Who you are We’re looking for someone who meets the minimum requirements to be considered for the role. If you meet these requirements, you are encouraged to apply. The preferred qualifications are a bonus, not a requirement. Minimum requirements 2+ years software development experience. 2+ years working with embedded, mobile, or other connected devices. Proficiency in embedded programming language C. Experience using automated testing, build systems, or device firmware communication. Experience with embedded systems, knowledge of operating systems, familiarity with software development tools, understanding of hardware-software interfaces. Experience architecting and developing multithreaded applications, preferably in embedded systems. Experience with common communications protocols (e.g., SPI, UART, I2C, USB, and others), debugging practices (e.g., JTAG and associated GDB integrations), and basic electrical design principles. Experience adding, monitoring and parsing telemetry data to proactively resolve issues. Degree in CS, EE, or equivalent practical experience. Fluent in spoken and written English. Preferred qualifications Proficiency in C++ or Golang is highly advantageous. Experience developing on ARM platforms. Experience with point-of-sale hardware and peripherals. Knowledge of EMV standards and payment protocols. Knowledge of PCI standards, transaction processing, and related retail payment technologies. Knowledge of low-level security architectures, including TrustZone, anti-tamper mechanisms, Secure Boot, and Hardware Root of Trust. Knowledge of foundational cryptography, including symmetric/asymmetric algorithms and secure key exchange protocols.
Original formatting and links

About Stripe

Stripe is a financial infrastructure platform for businesses. Millions of companies—from the world’s largest enterprises to the most ambitious startups—use Stripe to accept payments, grow their revenue, and accelerate new business opportunities. Our mission is to increase the GDP of the internet, and we have a staggering amount of work ahead. That means you have an unprecedented opportunity to put the global economy within everyone’s reach while doing the most important work of your career. 

About the team

Stripe Terminal helps Stripe users extend their online presence into the physical world. The Terminal team’s mission is to make it as easy for businesses to accept in-person payments as the Stripe API has done for online payments. With Terminal, businesses can unlock in-person payments use cases that are right for their business model—whether it’s creating a flagship retail experience, extending their website to a pop-up store, or enabling a mobile point-of-sale at their next event. 

We are looking for:

You will be responsible for all aspects of software development, which includes building, writing automated tests, and deploying software on our embedded payments platforms. This team works closely with partner teams throughout the hardware and software product lifecycle, from hardware manufacturing to Android application teams. 

What you’ll do

  • Design, develop and maintain user interfaces and underlying functionality for embedded point-of-sale software that handle secure payment processing across several products simultaneously.
  • Implement industry standard protocols to match product capabilities.
  • Create, maintain, and execute application unit tests as part of Continuous Integration.
  • Analyze bug reports and manage the defect resolution process (disposition issues, resolve issues, and report issue status).
  • Work closely with QA staff to ensure appropriate test cases are created, maintained, and executed.
  • Collaborate on system-side code, communication protocol design, and kernel development.
  • Interact with global teams with excellent communication skills to provide support information.
  • Routinely perform code reviews to ensure high quality designs and implementation.
  • Assist in ensuring quality and timeliness of product and feature development.
  • Proactively solve problems and work independently and within a team environment, with limited guidance.
  • Work closely with your hardware counterparts on product design and have the ability to read schematics, provide feedback on I/O mapping, developing manufacturing test software to ensure the devices are built to specification.

Who you are

We’re looking for someone who meets the minimum requirements to be considered for the role. If you meet these requirements, you are encouraged to apply. The preferred qualifications are a bonus, not a requirement.

Minimum requirements

  • 2+ years software development experience.
  • 2+ years working with embedded, mobile, or other connected devices.
  • Proficiency in embedded programming language C.
  • Experience using automated testing, build systems, or device firmware communication.
  • Experience with embedded systems, knowledge of operating systems, familiarity with software development tools, understanding of hardware-software interfaces.
  • Experience architecting and developing multithreaded applications, preferably in embedded systems.
  • Experience with common communications protocols (e.g., SPI, UART, I2C, USB, and others), debugging practices (e.g., JTAG and associated GDB integrations), and basic electrical design principles.
  • Experience adding, monitoring and parsing telemetry data to proactively resolve issues.
  • Degree in CS, EE, or equivalent practical experience.
  • Fluent in spoken and written English.

Preferred qualifications

  • Proficiency in C++ or Golang is highly advantageous.
  • Experience developing on ARM platforms.
  • Experience with point-of-sale hardware and peripherals.
  • Knowledge of EMV standards and payment protocols.
  • Knowledge of PCI standards, transaction processing, and related retail payment technologies.
  • Knowledge of low-level security architectures, including TrustZone, anti-tamper mechanisms, Secure Boot, and Hardware Root of Trust.
  • Knowledge of foundational cryptography, including symmetric/asymmetric algorithms and secure key exchange protocols.

Similar roles

All Stripe jobs →

Matched by role category. Review each posting’s requirements before applying.

THE JOB ELIGIBILITY CHECKER

Check a job