Sr. Firmware Engineer (Hybrid)
Posted on: 9/3/2024
Taipei
Permanent
IT
US company
Product: Payment Device, POS
Responsibility:
Product: Payment Device, POS
Responsibility:
- Design, develop, and maintain user interfaces and underlying functionality for embedded point-of-sale software handling secure payment processing across multiple 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 the quality and timeliness of product/feature development.
- Proactively solve problems and work independently and within a team environment, with limited guidance.
- Work closely with EE counterparts on product design, including the ability to read schematics, provide feedback on GPIO mapping, and develop manufacturing test software to ensure devices are built to specification.
Minimum Requirements
- 5+ years of 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 or C++
- 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 Computer Science (CS), Computer Engineering (CE), Electrical Engineering (EE), or equivalent practical experience
- Experience working with microcontrollers
- Understanding of common communication 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
- Fluent in speaking and writing English
Nice to have:
- Experience writing device drivers
- Experience with the ARM platform
- Knowledge of EMV
- Understanding of cryptography, including symmetric, asymmetric, key management, and exchange (asset)
- Experience with POS hardware and peripherals
- Knowledge and expertise in PCI technology, transaction processing, and related retail standards