C++ Software Engineer Instrument & Hardware Systems
Keysight Laboratories
Barcelona, Spain
yesterday
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Barcelona, Spain
Tech stack
Microsoft Windows
Abstraction Layers
API
Software Applications
Automation of Tests
C++
Computer Engineering
Datasheets
Software Debugging
Linux
Firmware
Field-Programmable Gate Array (FPGA)
Hardware Interface Design
High-Level Architecture
Integrated Development Environments
Python
PCI Express
Software Architecture
Software Engineering
Systems Architecture
Systems Integration
UML
USB
GIT
Information Technology
C++14
Software Version Control
Job description
- Design and develop high-performance Modern C++ software for hardware control, data acquisition, and instrument platform capabilities - from low-level drivers to application-level APIs.
- Build reusable infrastructure components shared across multiple Keysight product lines, maximizing the reach and impact of your work.
- Integrate hardware and software components, working directly with hardware teams to bring up new instrument platforms and ensure reliable, high-performance operation.
- Debug and troubleshoot issues across the full software stack - from device register interfaces and kernel-level drivers to higher-level application software - owning problems end-to-end.
- Produce detailed technical documentation - including API descriptions, UML diagrams, and sequence diagrams - translating high-level architecture into concrete implementation specs.
- Collaborate with product architects to define and refine infrastructure software requirements and system architecture supporting next-generation instrument platforms.
- Participate in the full software development lifecycle: design, implementation, testing, system-level integration, validation, and production readiness.
Requirements
- University degree in Computer Engineering, Electrical Engineering, Computer Science, or a closely related field.
- 5-6+ years of professional software engineering experience.
- Strong proficiency in Modern C++ (C++11/14/17 or later) and modern software architecture principles.
- Solid understanding of hardware and electronics - able to read schematics, datasheets, and register maps and translate them into software.
- Demonstrated experience developing software that interfaces directly with hardware (drivers, hardware abstraction layers, firmware interfaces, or similar).
- Hands-on experience debugging across multiple software layers - from hardware registers and drivers to application-level code.
- Professional experience in Windows and/or Linux software development environments.
- Experience with version control (Git)., * Experience producing detailed technical documentation: API specs, UML diagrams, sequence diagrams.
- Familiarity with hardware interfaces such as PCIe, USB, FPGA I/O, CAN, or similar bus protocols.
- Exposure to Python for test scripting or automation.
- Experience with CI/CD pipelines and automated testing.
- Experience working in Agile/Scrum environments.
About the company
Keysight is at the forefront of technology innovation, delivering breakthroughs and trusted insights in electronic design, simulation, prototyping, test, manufacturing, and optimization. Our ~15,000 employees create world-class solutions in communications, 5G, automotive, energy, quantum, aerospace, defense, and semiconductor markets for customers in over 100 countries. Learn more about what we do.
Our award-winning culture embraces a bold vision of where technology can take us and a passion for tackling challenging problems with industry-first solutions. We believe that when people feel a sense of belonging, they can be more creative, innovative, and thrive at all points in their careers.
Join Keysight Laboratories in Barcelona as a Senior C++ Software Engineer working on the infrastructure that powers next-generation test and measurement instruments. You'll write Modern C++ that controls real hardware - from device-level drivers to application APIs - and collaborate with engineering teams across Barcelona and the US.
If you love working at the intersection of hardware and software and want your code to matter at a global scale, this is your role.