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
Stripe · Chicago, United States
USD 156,700-235,100 per year
Technical Solutions Consultant, Crypto
Stripe · South San Francisco, United States, New York City, United States
USD 148,300-222,500 per year
Program Manager, Go-to-Market Experience and Productivity
Stripe · Dublin, Ireland
EUR 75,400-113,000 per year
Product Manager, Terminal Developer Experiences
Stripe · South San Francisco, United States, Seattle, United States
USD 178,600-268,000 per year
Partner Solutions Architect, Consulting Partners
Stripe · United States, New York City, United States
USD 239,900-359,900 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
Senior Software Engineer, Infrastructure Engineering
Reddit · United States
USD 190,000-267,000 per year
Business Operations Analyst
AppLovin · Toronto, Canada
CAD 110,000-160,000 per year
Business Operations Analyst
AppLovin · Palo Alto, United States
USD 105,300-156,500 per year
Senior Software Engineer, Security Assurance
Grafana Labs · Spain, Ireland, Sweden, Germany, United Kingdom
EUR 83,000-99,600 per year