Firmware EngineerActive

The opportunity

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.

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.

What they're looking for

  • + years software development experience.
  • + 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.