Minimum requirements
• 5+ years software development experience
• 2+ years working with embedded, mobile, or other connected devices
• Experience using automated testing, build systems, or device firmware communication
• Proficiency in embedded programming languages like C, C++ or Rust
• Experience with embedded systems, knowledge of operating systems, familiarity with software development tools, understanding of hardware-software interfaces
• Must have experience architecting and developing multithreaded applications, preferably in embedded systems.
• Degree in CS, CE, EE, or equivalent practical experience
• Speak and write fluent English
For more info on requirements, please see below 備註 section for full details.
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
• Interact with global teams with excellent communication skills to provide support information
Due to technical limitation in this section, please see below 備註 section for full details.
We are looking for:
You will be responsible for all aspects of software development, which includes building, writing automated tests, and deploying software on our embedded payments platforms. This team works closely with partner teams throughout the hardware and software product lifecycle, from hardware manufacturing to Android app teams. We work with external vendors on part selection and initial hardware bringup.
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
• Interact with global teams with excellent communication skills to provide support information
• Routinely perform code reviews to ensure high quality designs and implementation
• Assist in ensuring quality and timeliness of product/feature development.
• Proactively solve problems and work independently and within a team environment, with limited guidance.
• Work closely with your EE counterparts on product design and have the ability to read schematics, provide feedback on GPIO mapping, developing manufacturing test software to ensure the devices are built to specification.
Who you are
We’re looking for someone who meets the minimum requirements to be considered for the role. If you meet these requirements, you are encouraged to apply. The preferred qualifications are a bonus, not a requirement.
Minimum requirements
• 5+ years software development experience
• 2+ years working with embedded, mobile, or other connected devices
• Experience using automated testing, build systems, or device firmware communication
• Proficiency in embedded programming languages like C, C++ or Rust
• Experience with embedded systems, knowledge of operating systems, familiarity with software development tools, understanding of hardware-software interfaces
• Must have experience architecting and developing multithreaded applications, preferably in embedded systems.
• Degree in CS, CE, EE, or equivalent practical experience
• Experience working with microcontrollers
• Understanding of common communications protocols (e.g. Ethernet, SPI, UART, I2C, USB), 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
• Speak and write fluent English
Preferred qualifications
• Experience writing device drivers
• Experience with ARM platform
• Knowledge of EMV
• Knowledge of cryptography, symmetric, asymmetric, key management and exchange is an asset
• Experience with POS Hardware and peripherals
• Knowledge and expertise of PCI technology, transaction processing, and related retail standards