Embedded Software Engineer

  • Full-time

Company Description

We believe everyone should be able to participate and thrive in the economy. So we’re building tools that make commerce easier and more accessible to all. We started with a little white credit card reader but haven’t stopped there. Our new reader helps our sellers accept chip cards and NFC payments, and our Cash app lets people pay each other back instantly. We’re empowering the independent electrician to send invoices, setting up the favorite food truck with a delivery option, helping the ice cream shop pay its employees, and giving the burgeoning coffee chain capital for a second, third, and fourth location. Let’s shorten the distance between having an idea and making a living from it. And make it easier for customers to shop and pay at their favorite businesses. We’re here to help sellers of all sizes start, run, and grow their business—and helping them grow their business is good business for everyone.

Job Description

You will:

  • Develop the embedded software in Square’s hardware products
  • Write great code within the constraints of tiny embedded systems
  • Move up the stack to write and collaborate on system-side code; including protocol design and signal processing on iOS and Android platforms
  • Design, implement, and maintain software update functionality of complex embedded systems
  • Envision and implement an automated testing strategy to efficiently validate our hardware products

Qualifications

You have:

  • Firmware / Embedded software development experience
  • Knowledge & experience with C programming language
  • Experience with 32-bit RISC processors like ARM
  • A strong software development discipline, including modularization and test methods
  • BS in CS, CE, EE, or equivalent practical experience

Even better:

  • Knowledge & experience with at least one other programming language (Java, Python, etc)
  • Experience in iOS or Android development
  • 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 basic electrical design principles
  • Experience with ultra-low-power systems
  • Ability to debug issues using a combination of software and lab equipment such as oscilloscopes and protocol analyzers
  • Strong understanding of basic cryptography concepts
  • Experience shipping consumer electronics products

Additional Information

At Square, we value diversity and always treat all employees and job applicants based on merit, qualifications, competence, and talent. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

Privacy Policy