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
Senior

Job 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.

Apply for this position