Senior Firmware Engineer
Who we are
About BBPOS
BBPOS is one of the world leaders in payment devices and the inventors of mPOS technology. BBPOS products are used by large retailers and leading online platforms across multiple industries. BBPOS is engaged in the business of manufacturing and supplying mobile and smart point-of-sale hardware, and the underlying software and infrastructure to deploy, manage, and monitor those devices. BBPOS is now part of Stripe’s Terminal business since the acquisition in March 2022.
About the team
Post acquisition, the BBPOS team is now an extension of the Stripe Terminal team. Stripe Terminal helps Stripe users extend their online presence into the physical world. The Terminal team’s mission is to make it as easy for businesses to accept in-person payments as the Stripe API has done for online payments. With Terminal, businesses can unlock in-person payments use cases that are right for their business model—whether it’s creating a flagship retail experience, extending their website to a pop-up store, or enabling a mobile point-of-sale at their next event.
Stripe is a financial infrastructure platform for businesses. Millions of companies—from the world’s largest enterprises to the most ambitious startups—use Stripe to accept payments, grow their revenue, and accelerate new business opportunities.
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.
For more information of the BBPOS and our career opportunities, please visit our website www.bbpos.com
We offer long-term career prospect and competitive remuneration package to the appointed candidate.
Personal data collected will be used for recruitment purposes only. Applicants not contacted within 8 weeks of applying should consider their applications unsuccessful.
Apply for this job
*
indicates a required field