Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Algorithms @ 3
Android
Automated Testing @ 3
Communication @ 3
Debugging @ 3
Go
Payments
Security @ 3
Software Development @ 3
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
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
Solutions Architect, Enterprise (German Fluency)
Stripe · Germany, Berlin, Germany
EUR 125,600-188,400 per year
Backend Engineer, Financial Connections
Stripe · Toronto, Canada, New York City, United States, South San Francisco, United States, Seattle, United States
USD 190,400-285,600 per year
Solutions Architect, Enterprise (Presales)
Stripe · United States, Chicago, United States, South San Francisco, United States
USD 156,700-277,300 per year
Backend Engineer, Link
Stripe · Toronto, Canada, New York City, United States, South San Francisco, United States, Seattle, United States
USD 190,400-285,600 per year
Product Designer, Link
Stripe · New York City, United States
USD 146,600-219,800 per year
Similar jobs
Software Engineer, Secrets Infrastructure
Stripe · United States
USD 173,000-259,600 per year
Senior Cloud Software Engineer - Efficiency Engineering
ClickHouse · United States
USD 133,400-232,000 per year
Software Engineering Intern, Dynamo – Fall 2026
Nvidia · Santa Clara, United States
USD 20-71 per hour
Software Engineer, Product Security Data Platforms
Stripe · Seattle, United States
USD 156,800-235,200 per year
Senior Storage Production Engineer - DGX Cloud
Nvidia · Santa Clara, United States
USD 176,000-333,500 per year
Senior Systems Software Engineer - CI/CD Infrastructure for Open-Source Accelerated Computing Software
Nvidia · Santa Clara, United States
USD 184,000-356,500 per year
Senior Systems Software Engineer - CI/CD Infrastructure for Open-Source Accelerated Computing Software
Nvidia · Santa Clara, United States
USD 152,000-287,500 per year
Software Engineer - Network (C++)
SpaceXAI · Palo Alto, United States, Seattle, United States
USD 180,000-440,000 per year