Software Engineer, Tools & Services
- Toronto, Canada
- Employees can work remotely
Our inclusive 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. You will develop the software tools used to develop and test Square's hardware products.
Our team looks across the software development lifecycle to find opportunities to help speed up delivery and improve quality. We build: custom circuit boards running C, C++-based virtual test environments for firmware, Python command line tools that support firmware testing and CI/CD pipelines, and even web-based applications used by developers to manage test-related data. While team members focus on a specific area and tool chain, there are opportunities to try something else if you are interested. You will report to our Senior Software Engineering Manager for the Off-Device Test Environments team.
We want employees to be able to reside where they feel most creative and productive. You will be part of an org and team that works across Pacific, Central and Eastern Time Zones.
In this role, you and your direct team will be based in the Eastern time zone. This role is open to all people who can be effective partners with this team, including sharing and adjusting to typical working hours.
- BS in CS, CE, EE, or equivalent practical experience
- 2+ years of software development experience
- Expertise in C and C++ software development, tools and debugging
- Experience in Python
- System software/platform development experience
- Experience leading development of core features within large systems
- A History of mentoring engineering team members to raise technical standards
- Experience collaborating across multiple teams, disciplines and locations keeping the best interests of customers in mind
- Have a broad range of knowledge and be willing to work across our technology stack
Even better if you have experience in any of the following:
- Firmware/embedded software development experience
- Understanding of common communications protocols (e.g. SPI, UART, I2C, USB), debugging practices (e.g. JTAG and associated GDB integrations)
- Experience working with CMake or similar build systems
- Experience with Android Framework & application level development
- Understanding of the Android framework internals and AOSP code
At Square, we want you to be well and thrive. Our global benefits package includes:
- Healthcare coverage
- Retirement Plans
- Employee Stock Purchase Program
- Wellness perks
- Paid parental leave
- Paid time off
- Learning and Development resources