# Firmware Engineer

**Company**: Stripe
**Location**: Taipei City
**Experience**: senior
**Job type**: full-time
**Category**: Engineering
**Industry**: Finance

**Apply**: https://job-boards.greenhouse.io/stripe/jobs/8040825?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_d634a7db-b63

## Description

## Job Overview

As a Firmware Engineer at Stripe, you will play a crucial role in developing and maintaining software for embedded payments platforms. You will work closely with various teams to ensure the smooth operation of Stripe Terminal, a solution that enables businesses to accept in-person payments.

## Responsibilities

- Design, develop, and maintain user interfaces and underlying functionality for embedded point-of-sale software handling secure payment processing across multiple products.

- 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.

- Collaborate with QA staff to ensure appropriate test cases are created, maintained, and executed.

- Work on system-side code, communication protocol design, and kernel development.

- Provide support information to global teams with excellent communication skills.

- Perform code reviews to ensure high-quality designs and implementations.

- Assist in ensuring the quality and timeliness of product and feature development.

- Solve problems proactively, working independently and within a team environment.

## Requirements

- 5+ years of software development experience.

- 2+ years of experience working with embedded, mobile, or other connected devices.

- Proficiency in embedded programming language C.

- Experience with automated testing, build systems, or device firmware communication.

- Knowledge of embedded systems, operating systems, software development tools, and hardware-software interfaces.

- Experience with multithreaded applications, preferably in embedded systems.

- Familiarity with common communications protocols (e.g., SPI, UART, I2C, USB).

- Degree in CS, EE, or equivalent practical experience.

- Fluency in spoken and written English.

## Preferred Qualifications

- Proficiency in C++ or Golang.

- Experience developing on ARM platforms.

- Knowledge of point-of-sale hardware and peripherals.

- Familiarity with EMV standards and payment protocols.

- Understanding of PCI standards, transaction processing, and related retail payment technologies.

- Knowledge of low-level security architectures and foundational cryptography.

## Skills

### Required
- embedded programming
- C programming
- automated testing
- device firmware communication
- embedded systems
- multithreaded applications
- communications protocols
- software development tools
- hardware-software interfaces

### Nice to have
- C++
- Golang
- ARM platforms
- point-of-sale hardware
- EMV standards
- payment protocols
- PCI standards
- transaction processing
- low-level security architectures
- foundational cryptography

---

Source: [Apply at job-boards.greenhouse.io](https://job-boards.greenhouse.io/stripe/jobs/8040825?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
