Software Engineer - Protocol Development, Embedded and VM
This is one of those rare opportunities to continuously challenge your own creativity and design skills by designing solutions for the fast moving, emerging standards for 5G cell phones technology based on 3GPP standards. You will join a highly talented and motivated team of software and hardware engineers creating the next generation of wireless cellular test product for large scale deployments anticipated in 2019 and 2020. Based on very high count multi-core CPUs and the latest generation of FPGAs plus powerful server class machines running VMs, the test equipment must stay ahead of the mainstream offerings for LTE and 5G because it is used by vendors and carriers to validate their designs before operation in the field. You will have the opportunity to learn and contribute to new and emerging technologies in this important role.
- Implement key component protocols at various layers of the system including both hard real-time, low-latency protocols as well as more complex high performance soft-real-time protocols
- Conceptualize, architect and design highly scalable and modular software appropriate to dedicated embedded hardware platforms or virtual machine environments
- Conceive and design software tools to give users deep insights about the device under test when confronted with simulations of extreme field conditions
- Collaborate closely with peers, including software, hardware and FPGAdevelopers and test engineers using Agile development methodologies
- Contribute new ideas and methods to continuously improve product quality and development efficiency
- Grab ownership of the delivery of features from the implementation phase through the QA and field delivery
- Contribution to the strong pool if intellectual property at Ixia through constant innovation and patent application efforts
- BS (MS Preferred) in computer science, electrical engineering or related discipline
- 3+ kyears experience developing software in C++ and C as well as languages such as Python, shell-scripts, and similar productivity tools.
- Linux fluency - experience developing multicore software solutions; both user space and kernel experience desirable
- Experience writing software for protocol processing and highly-scalable packet processing on embedded systems
- Familiarity with VM concepts and experience with designing modular software for multiple target environments
- Fluency in various standard tools, e.g. scriptinglanguages, IDEs, source control, and bug tracking systems
- Extremely good English verbal communications skills and a desire for strong team collaboration is a must in this Agile development environment
- Over and above, a deep commitment to your own quality work and a strong desire to help the entire team to succeed
Additional Preferred Qualifications:
- Academic knowledge or equivalent experience with wireless communications, especially 3GPP standards such as LTE and 3G.
- Hands-on development with embedded systems with real-time requirements
- Strong IP protocol knowledge, including IPv4/v6, DHCP, BOOTP, TCP, UDP, XML, ASN.1 etc.
- Software protocol development including encoder/decoders, header processing, statistics
- Knowledge of encryption and compression technologies