Detalii loc de munca
Senior Linux C/C++ Userspace & Kernel Developer
Job remote (permite desfășurarea activității la domiciliu/telemuncă, permanent sau temporar)
Keysight is on the forefront of technology innovation, delivering breakthroughs and trusted insights to the world’s visionaries and innovators in electronic design, test, manufacturing, and optimization. Our ~14,000 employees create world-class solutions in wireless communications, 5G, automotive, quantum, aerospace, defense, and semiconductor markets for customers in over 100 countries.
We’re recognized as a Great Place to Work across the globe due to our robust culture and dynamic working environment. Our global team acts as “One Keysight,” using collaboration, inclusivity, and integrity to advance technology. We’re driven and curious, and we value all ideas, especially bold ones. And our strong culture extends far beyond our own walls. We leverage our corporate social responsibility framework to support our communities, nurture the next generation of engineers, and promote environmental sustainability.
Our technical solutions – and our methods for creating them – help connect and secure the world. Learn more about what we do and how we do it.
If you are a Senior software engineer with excellent knowledge and experience in developing for Linux commercial software, specifically for the Linux user space / kernel area, we have a proposal for you:
About the role
- Your professional development will be encouraged and never limited. You will interact will multiple technologies, languages, and tools.
- As virtualization industry is migrating fast, we need to keep the pace with the latest technologies, so your experience will significantly impact our growth while adopting new features.
- Our friendly environment encourages collaboration between talented engineers so you will have all the support needed to develop software in one of our most interesting and technologically advanced R&D projects.
- This will involve the development of new features as well as solving legacy bugs and get in contact with customers.
Working schedule is flexible, no timekeeping system is in place. As long as you deliver everybody is happy. The schedule does not have a strict start/end time, except several meetings which you need to participate to.
About the project
- You will be part of the IxVM project which started by migrating the Ixia hardware traffic generation engine into a compact, volatile and performant virtual machine.
- Our traffic engine is written in C (kernel space) and C++ (user space), it closely interacts with the operating system (bash scripts, configuration files, system services) Linux kernel and other kernel and user space modules.
- Our product can decouple from the Ixia kernel, opening the path for multiple opportunities.
- We are continuously grasping newest technologies, target performance optimizations and adapt to industry needs (public cloud, microservices, pre-silicon testing, 5G testing).
- We ensure the functionality of this Linux Virtual platform on top of which we run our traffic engine and its corresponding components as well as other adjacent processes.
About the team
- You will join a talented and dynamic team which is able to deal with various types of issues.
- We are very friendly and always provide a nice and smooth experience for a newcomer by providing all the tools needed for a fast ramp up.
- We follow the continuous integration continuous delivery philosophy and plan our activities using Agile.
- Participate in the analysis, design, development, and maintenance of network testing software.
- Maintain and enhance current products and participate in the design and development of applications for both internal and external use.
- Interacting with project management, leads, testers and other developers in order to understand the features, planning the schedule, designing and implementing the solutions, optimizing, performing development testing and bug-fixing in order to deliver high quality releases on time.
Soft Skills Requirements:
- Friendly person, should like to work in a team, help and support others when needed.
- Ability to quickly learn and grasp new technologies.
- Desire to work in a highly collaborative, team-oriented environment.
- Excellent verbal and written communication skills.
- Performance driven and proactive attitude.
- Min 3 years’ experience with Linux user space and networking programming expertise.
- Strong understanding of the Linux operating system internals.
- Strong knowledge of TCP / IP network protocols.
- Strong knowledge of C and C++ programming language.
- Good knowledge of virtualization technologies (Qemu / KVM / ESXi).
- Good knowledge of containers technologies (Docker, Kubernetes).
- Good algorithms / data structures knowledge.
- Good knowledge of build systems (make, cmake, scons).
- Basic scripting knowledge (Bash, Python).
- Experience with Data Plane Development Kit (DPDK)
- Continuous integration / continuous delivery tools (Jenkins, Gitlab, etc)
- Cloud based technologies (AWS, Google Cloud, Azure, Openstack)
- Knowledge about the Linux Kernel (experience writing Linux device drivers)
- Familiar with code review tools (Gerrit, Codecollab)