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
Specialist Solutions Architect, Radar (APAC)
Stripe · Singapore, Singapore
SGD 298,300-447,500 per year
Software Engineer, Money as a Service
Stripe · Singapore, Singapore
SGD 122,400-183,600 per year
Security Analyst
Stripe · South San Francisco, United States, United States, Seattle, United States, Chicago, United States
USD 121,000-181,600 per year
Solutions Architect, AI
Stripe · South San Francisco, United States, United States, New York City, United States, Chicago, United States
USD 239,900-359,900 per year
Internal Product Engineer, Developer Productivity AI
Stripe · Canada, Toronto, Canada
CAD 172,000-258,000 per year
Similar jobs
Staff Security Engineer, Abuse Control
Stripe · London, United Kingdom, Dublin, Ireland
EUR 132,000-198,000 per year
Staff Security Engineer, Abuse Control
Stripe · London, United Kingdom, Dublin, Ireland
EUR 132,000-198,000 per year
Security Engineer
Stripe · United States
USD 173,000-259,600 per year
Software Engineer, Secrets Infrastructure
Stripe · United States
USD 173,000-259,600 per year
Technical Solutions Engineer
Stripe · Dublin, Ireland
EUR 74,200-111,400 per year
Integration Engineer, Professional Services
Stripe · Chicago, United States
USD 173,000-259,600 per year
Security Engineer, ACE
Stripe · Dublin, Ireland
EUR 85,000-127,600 per year
Senior System Software Engineer - Scientific Computing PaaS
Nvidia · Santa Clara, United States
USD 184,000-356,500 per year