Senior Embedded Engineer, NFC Technology
Company Description
Since we opened our doors in 2009, the world of commerce has evolved immensely, and so has Square. After enabling anyone to take payments and never miss a sale, we saw sellers stymied by disparate, outmoded products and tools that wouldn't work together.
So we expanded into software and started building integrated, omnichannel solutions - to help sellers sell online, manage inventory, offer buy now, pay later functionality through Afterpay, book appointments, engage loyal buyers, and hire and pay staff. Across it all, we've embedded financial services tools at the point of sale, so merchants can access a business loan and manage their cash flow in one place. Afterpay furthers our goal to provide omnichannel tools that unlock meaningful value and growth, enabling sellers to capture the next generation shopper, increase order sizes, and compete at a larger scale.
Today, we are a partner to sellers of all sizes - large, enterprise-scale businesses with complex operations, sellers just starting, as well as merchants who began selling with Square and have grown larger over time. As our sellers grow, so do our solutions. There is a massive opportunity in front of us. We're building a significant, meaningful, and lasting business, and we are helping sellers worldwide do the same.
Job Description
Our hardware team builds the tangible connection to all that is Square. As we introduce more and more of our products to the world, our hardware footprint expands. In this role, you will be responsible for developing the embedded software in Square's hardware products. This role will report to the firmware engineering manager for our Connected Hardware products.
You will:
- Build a common firmware platform for all of Square's hardware products
- Write code within the constraints of tiny embedded systems
- Own firmware driving NFC and contactless payment subsystems
- Move up the stack to write and collaborate on system-side code; including protocol design
- Develop tests to validate product features, drivers, and system functionality
- Build reliable tools to support firmware development and product debugging
- Collaborate with manufacturing, electrical engineering, and release teams
Qualifications
You have:
- Experience developing and debugging wireless connectivity solutions in embedded systems, using technology such as NFC, RFID, Bluetooth Classic, BLE, or Wi-Fi
- A software development discipline, including modularization, documentation, and test methods
- Firmware / Embedded software development experience
- Experience leading large multi-person projects, from design, implementation, deployment and monitoring phases
- Expertise in C software development, tools, and debugging
- Understanding of common communications protocols (e.g. SPI, UART, I2C, USB), debugging practices (e.g. JTAG and associated GDB integrations), and electrical design principles
- BS in CS, CE, EE, or equivalent practical experience
- Experience with real-time operating systems
- Experience shipping consumer electronics products
- Experience debugging issues cross functionally, using a combination of software and lab equipment such as oscilloscopes and protocol analyzers
Even better if you have experience in any of the following:
- Experience developing wireless communication solutions using NFC or RFID
- Experience developing contactless payment solutions
- Experience using Python (or similar scripting languages) in automated testing, build systems, or device firmware communication
Qualifications
You have:
- Experience developing and debugging wireless connectivity solutions in embedded systems, using technology such as NFC, RFID, Bluetooth Classic, BLE, or Wi-Fi
- A software development discipline, including modularization, documentation, and test methods
- Firmware / Embedded software development experience
- Experience leading large multi-person projects, from design, implementation, deployment and monitoring phases
- Expertise in C software development, tools, and debugging
- Understanding of common communications protocols (e.g. SPI, UART, I2C, USB), debugging practices (e.g. JTAG and associated GDB integrations), and electrical design principles
- BS in CS, CE, EE, or equivalent practical experience
- Experience with real-time operating systems
- Experience shipping consumer electronics products
- Experience debugging issues cross functionally, using a combination of software and lab equipment such as oscilloscopes and protocol analyzers
Even better if you have experience in any of the following:
- Experience developing wireless communication solutions using NFC or RFID
- Experience developing contactless payment solutions
- Experience using Python (or similar scripting languages) in automated testing, build systems, or device firmware communication