Android BSP Engineer

Stripe
Taipei, Taiwan
On-site

Who this role is best for

Geared toward candidates comfortable with kernel and driver development on Android systems, working in a collaborative environment with global teams and vendors in Taipei, Taiwan.

Best fit for

  • Candidates with embedded systems expertise and experience in Android OS development
    — “Experience with Android OS, and familiarity with associated software development tools”
  • Individuals who can work cross-functionally with hardware and firmware teams
    — “This team works closely with partner teams throughout the hardware and software product lifecycle”
  • Professionals fluent in both English and Mandarin Chinese for vendor and customer communication
    — “Fluency in both written and spoken English and Mandarin Chinese to be able to communicate with our vendors and users/customers”

Things to consider

  • The role requires working with constrained environments and strict reliability standards
    — “Design, implement, and maintain drivers and Android services that operate efficiently in a constrained environment”
  • Candidates must be able to manage defect resolution and telemetry data independently
    — “Experience adding, monitoring and parsing telemetry data to proactively resolve issues”

How to stand out

  • Demonstrate leadership in debugging and performance tuning across multiple teams
    — “Bring up new devices and lead debugging and performance tuning exercises that span multiple hardware/firmware/software teams”
  • Showcase your ability to define and own work streams in hardware bring-up and peripheral drivers
    — “Own the definition of one or more work streams focused on hardware bring-up, peripheral drivers and communication”
  • Emphasize your track record in writing automated tests for embedded systems
    — “Experience using automated testing, build systems, and inter-component communication protocols such as UART, GPIO, SPI, I2C, etc.”
Pace · Fast PacedCollaboration · HighAutonomy · MediumDecision Impact · Team

Derived from job-description analysis by Serendipath's career intelligence engine.

What success looks like

  • bring up new devices
  • design and maintain drivers
  • analyze bug reports
Typical background
2+ years software engineering experience in device driver development or embedded systems

Skills & requirements

Required

Device Driver DevelopmentEmbedded SystemsOperating SystemsAndroid OS

Preferred

ARM PlatformMicrocontrollersEMVCryptography

About the role

Original posting from Stripe

About Stripe

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. Our mission is to increase the GDP of the internet, and we have a staggering amount of work ahead. That means you have an unprecedented opportunity to put the global economy within everyone’s reach while doing the most important work of your career. 

About the 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. 

What we are looking for:

As an Android BSP Engineer, you will be responsible for the kernel and driver level system development, which includes building, troubleshooting, and writing automated tests for the Android system 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 also work with external vendors on part selection and initial hardware bring-up.

What you’ll do:

Bring up new devices and lead debugging and performance tuning exercises that span multiple hardware/firmware/software teams.

Design, implement, and maintain drivers and Android services that operate efficiently in a constrained environment and meet the reliability and security requirements of the industry.

Own the definition of one or more work streams focused on hardware bring-up, peripheral drivers and communication, and power and performance management and optimization.

Analyze bug reports and manage the defect resolution process (disposition issues, resolve issues, and report issue status).

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. Work closely with QA staff to ensure appropriate test cases are created, maintained, and executed.

Proactively solve problems and work independently and within a team environment, with limited guidance.

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

2+ years software engineering experience in device driver development, embedded systems, or operating systems

2+ years working with mobile or other connected devices

Experience using automated testing, build systems, and inter-component communication protocols such as UART, GPIO, SPI, I2C, etc.

Proficiency in C/C++ or Kotlin/Java

Experience with Android OS, and familiarity with associated software development tools

Degree in CS, CE, EE, or equivalent practical experience

Experience adding, monitoring and parsing telemetry data to proactively resolve issues

Fluency in both written and spoken English and Mandarin Chinese to be able to communicate with our vendors and users/customers

Preferred qualifications

Experience with ARM platform

Experience working with microcontrollers

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.

Source: Stripe careers

Similar roles

More roles at Stripe