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 (French Speaking)
Stripe · Toronto, Canada
CAD 208,100-312,100 per year
Strategy & Operations Program Manager
Stripe · United States
USD 157,800-236,800 per year
IT Support Engineer
Stripe · Dublin, Ireland
EUR 62,400-93,600 per year
Software Engineer - Infrastructure
Stripe · Seattle, United States
USD 156,800-235,200 per year
Specialist Solutions Architect - Money Management (APAC and Greater China)
Stripe · Sydney, Australia, Melbourne, Australia, Singapore, Singapore
SGD 298,300-447,500 per year
Similar jobs
Software Engineer, Secrets Infrastructure
Stripe · United States
USD 173,000-259,600 per year
Android Engineer, Dev Productivity
Stripe · Taipei, Taiwan
TWD 2,301,000-3,451,600 per year
Integration Engineer (Client-Facing), Professional Services
Stripe · Dublin, Ireland
EUR 104,000-156,000 per year
Integration Engineer (Client-Facing), Professional Services
Stripe · Dublin, Ireland
EUR 104,000-156,000 per year
Integration Engineer (Client-Facing), Professional Services
Stripe · Dublin, Ireland
EUR 104,000-156,000 per year
Software Engineer, Product Security Data Platforms
Stripe · Seattle, United States
USD 156,800-235,200 per year
Forward Deployed Integration Engineer, Professional Services
Stripe · Dublin, Ireland
EUR 104,000-156,000 per year
Resident Solutions Architect
Glean · United States
USD 170,000-240,000 per year