Firmware Engineer

at Stripe
📍 Taipei, Taiwan
TWD 1,564,300-2,346,500 per year
MIDDLE
✅ On-site

Tech Stack

Algorithms @ 3 Android Automated Testing @ 3 Communication @ 3 Debugging @ 3 Go Payments Security @ 3 Software Development @ 3

Details

Stripe is a financial infrastructure platform for businesses. The Terminal team helps businesses accept in-person payments through embedded payment platforms and point-of-sale products.

The role is responsible for all aspects of software development, including building, testing, and deploying software on embedded payments platforms. The team collaborates with hardware, software, manufacturing, and Android application teams throughout the product lifecycle.

Responsibilities

  • Design, develop, and maintain user interfaces and underlying functionality for embedded point-of-sale software supporting 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, including issue disposition, resolution, and status reporting.
  • Work closely with QA staff to create, maintain, and execute appropriate test cases.
  • Collaborate on system-side code, communication protocol design, and kernel development.
  • Provide support information to global teams through effective communication.
  • Perform code reviews to ensure high-quality designs and implementations.
  • Help ensure the quality and timeliness of product and feature development.
  • Solve problems proactively and work independently and collaboratively with limited guidance.
  • Collaborate with hardware counterparts on product design, read schematics, provide feedback on I/O mapping, and develop manufacturing test software to ensure devices are built to specification.

Requirements

  • At least 2 years of software development experience.
  • At least 2 years of experience working with embedded, mobile, or other connected devices.
  • Proficiency in C.
  • Experience with automated testing, build systems, or device firmware communication.
  • Experience with embedded systems, operating systems, software development tools, and hardware-software interfaces.
  • Experience architecting and developing multithreaded applications, preferably in embedded systems.
  • Experience with communications protocols such as SPI, UART, I2C, and USB.
  • Experience with debugging practices such as JTAG and associated GDB integrations.
  • Basic knowledge of electrical design principles.
  • Experience adding, monitoring, and parsing telemetry data to proactively resolve issues.
  • Degree in computer science, electrical engineering, or equivalent practical experience.
  • Fluency in spoken and written English.

Preferred Qualifications

  • Proficiency in C++ or Golang.
  • 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 and asymmetric algorithms and secure key exchange protocols.

More jobs at Stripe

Similar jobs