Software Engineer - Hardware Development
This position blends low-level systems work with cross-functional collaboration. You'll work closely with hardware developers, infrastructure engineers, and end users to ensure our platforms run reliably and efficiently in production.
Responsibilities
- Develop and maintain the operating system and software stack for proprietary hardware
- Build Python-based tools and interfaces to monitor and control hardware systems
- Write embedded software for microcontrollers used in prototype boards
- Support and manage hardware systems deployed in live environments
- Collaborate with teams across hardware, infrastructure, and operations to optimize performance
- Contribute to automation efforts and gradually expand into embedded and hardware-level development
Technologies You'll Use
- Python, Linux
- C, C++, Assembly, TCL
- VHDL and other domain-specific languages
- Platforms ranging from x64 servers to embedded cores
What We Offer
- Work with a diverse team of engineers and technologists from around the world
- Competitive compensation and performance-based incentives
- Retirement plan with matching contributions
- Comprehensive health, dental, vision, and life insurance
- Generous paid time off and market holidays
- On-site perks including meals, snacks, social events, and recreational activities
What We're Looking For
- Strong background in computer science and hardware systems
- Proficiency in Python and experience with its ecosystem
- Solid experience with C/C++ development
- Ability to solve complex problems at the system level
- Strong communication and collaboration skills
Additional Experience That's a Plus
- Familiarity with hardware/software interfaces (e.g., device drivers, registers, buses)
- Ability to interpret datasheets and electrical schematics
- Experience with Linux kernel modules or driver development
- Exposure to FPGA design and toolchains (e.g., VHDL/Verilog, Vivado)
- Understanding of networking protocols, especially Ethernet
- Experience with network operating systems or high-performance switching hardware
FAQs
Congratulations, we understand that taking the time to apply is a big step. When you apply, your details go directly to the consultant who is sourcing talent. Due to demand, we may not get back to all applicants that have applied. However, we always keep your resume and details on file so when we see similar roles or see skillsets that drive growth in organizations, we will always reach out to discuss opportunities.
Yes. Even if this role isn’t a perfect match, applying allows us to understand your expertise and ambitions, ensuring you're on our radar for the right opportunity when it arises.
We also work in several ways, firstly we advertise our roles available on our site, however, often due to confidentiality we may not post all. We also work with clients who are more focused on skills and understanding what is required to future-proof their business.
That's why we recommend registering your resume so you can be considered for roles that have yet to be created.
Yes, we help with resume and interview preparation. From customized support on how to optimize your resume to interview preparation and compensation negotiations, we advocate for you throughout your next career move.