R&D Software Engineer (C++, Rust, Python)
Indexed description
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.
At Keysight Design Engineering Software (DES), we build electronic design automation (EDA) software that helps engineers design the world’s most advanced high-frequency circuits, modules, and systems. Our tools accelerate innovation across industries such as telecommunications, aerospace, and semiconductor design.
We are seeking a talented R&D Software Engineer to join the circuit simulation team inside DES. You will become part of the team responsible for developing Keysight's industry-leading circuit simulation software, enabling engineers worldwide to design next-generation RF, microwave, analog, mixed-signal, and high-speed electronic systems.
As a member of the product development team, you will contribute to both our core products and the software infrastructure that supports them. Depending on your experience and interests, your work may include product feature development, developer tools, build and release engineering, automation, desktop UI development, and other software engineering initiatives. You will work closely with software engineers, architects, and technical leaders to improve product quality, developer productivity, and engineering efficiency.
About The Team
The circuit simulation team is geographically distributed and collaborates across multiple engineering organizations to develop and maintain one of the industry's leading circuit simulation platforms. The team values technical excellence, collaboration, continuous learning, and software craftsmanship.
Working closely with experienced software engineers and architects, you will have opportunities to contribute to modernizing our software platform while learning new technologies and expanding your technical expertise.
Responsibilities
As an R&D Software Engineer, you will:
- Design, develop, and maintain high-quality software using C++, Rust, and Python.
- Develop new product features, developer tools, and engineering infrastructure for our circuit simulation products.
- Design and maintain build systems, dependency management, and CI/CD pipelines across Linux and Windows platforms.
- Develop automation tools that improve software quality, engineering productivity, and release efficiency.
- Design and implement desktop user interface components and internal engineering applications.
- Improve developer workflows through build optimization, IDE integration, automation, and tooling enhancements.
- Collaborate with software engineers, architects, QA engineers, and product management throughout the software development lifecycle.
- Participate in software architecture, design discussions, code reviews, debugging, testing, and continuous improvement initiatives.
- Product Software Development – Design and implement software components and product features.
- DevOps & Build Engineering – Build systems, CI/CD, dependency management, release automation, and developer productivity.
- UI & Application Development – Desktop applications, user interface development, and engineering tools.
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- 3+ years of professional software development experience.
- Strong programming skills in C++, Rust, and Python.
- Solid understanding of software engineering principles, object-oriented design, data structures, and algorithms.
- Experience developing software on Linux and/or Windows platforms.
- Experience with Git and collaborative software development workflows.
- Strong analytical, debugging, and problem-solving skills.
- Excellent communication and collaboration skills.
- Strong, practical Python skills, including writing, reading, and debugging non-trivial scripts and build automation code
- Strong understanding of Python packaging: package distribution, the wheel format including platform and ABI compatibility
- Solid working knowledge of C++ compiler & linker configuration on Linux and Windows
- Build systems such as Buck2, Bazel, CMake, Ninja, or similar technologies.
- CI/CD platforms such as Jenkins, GitHub Actions, GitLab CI, Azure DevOps, or equivalent.
- Desktop application development using Qt or similar UI frameworks.
- Dependency management using Conan, Cargo, or similar package management systems.
- Software security practices, including dependency management and security scanning.
- Scientific, engineering, CAD, or EDA software development.
***Keysight is an Equal Opportunity Employer.***
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search