At Xilinx, we are leading the industry transformation to build an adaptable, intelligent world. ARE YOU bold, collaborative, and creative? We develop leaders and innovators who want to revolutionize the world of technology. We believe that by embracing diverse ideas, pushing boundaries, and working together as ONEXILINX, anything is possible.
Our culture of innovation began with the invention of the Field Programmable Gate Array (FPGA), and with the 2018 introduction of our Adaptive Compute Acceleration Platform (ACAP), has made a quantum leap in capability, solidifying our role as the adaptable platform supplier of choice. From the beginning, we have always believed in providing inventors with products and platforms that are infinitely adaptable. From self-driving cars, to world-record genome processing, to AI and big data, to the world's first 5G networks, we empower the world's builders and visionaries whose ideas solve every day problems and improve people's lives.
If you are PASSIONATE, ADAPTABLE, and INNOVATIVE, Xilinx is the right place for you! At Xilinx, we care deeply about creating significant development experiences while building a strong sense of belonging and connection. We champion an environment of empowered learning, wellness, community engagement, and recognition, so you can focus on work that matters - world class technology that improves the way we live and work. We are ONEXILINX.
Xilinx Datacenter and IP Solutions team has an opening for a software Engineer to develop high performance I/O software to provide SmartNIC capabilities for compute, storage and network acceleration in hyperscale, virtualized datacenters.
Responsibilities include specification and development of Embedded Software for use in Linux and standalone products. This will involve designing and implementing software subsystems to control FPGA Hardware solutions. We are seeking a fast learning, dynamic engineer eager to develop their skills working with the latest FPGA technology.
Iterative Software Development and Testing
- Demonstrates software development skills and proficiency on coding projects within assigned area of responsibility
- Iteratively codes, debugs, and creates regressions to ensure that code performs as specified with good coverage
- Documents code to within acceptable standards for the organization
- Demonstrates a collaborative approach to learning and problem-solving, seeking out and leveraging the talent of others when necessary (e.g. mentoring, code reviews, etc.)
Software Enablement (Tools & Methods)
- Demonstrates effective usage of technical communication and posting tools (e.g. Confluence, SharePoint)
- Demonstrates and applies competency of software development concepts and methods (e.g. data structures, algorithms, Agile methodology)
- Demonstrates and applies competency of software coding in C/C++ languages
- Demonstrates and applies competency of software build, analysis and debug tools (e.g. gdb, Trace32, Valgrind, Coverity, etc.)
- Proficient in Linux development environment
- Proficient with the use of software defect tracking process
Software Process Adaptation
- Builds solid understanding of Xilinx's software development process
- Actively monitors Xilinx and industry communications for evolving software methodology, practices, and changes in approach
- Experience with C/C++
- Experience with software development in a Linux environment
- Experience in low level driver development, register interface programming, general algorithms and data structures.
- Experience with embedded processors such as ARM
- Experience with industrial standard devices e.g. Ethernet, PCIe, SPI, I2C, USB, GPIO and Memory architectures DDR/SDRAM/DMA
- Experience with Linux kernel Networking subsystem including kernel mode and user mode Ethernet NIC drivers
- Experience in high performance and low latency, multi-threaded, high throughput SRIOV-capable PCIe-subsystem drivers for compute and network acceleration
- Experience with virtualization (ESX, KVM, Xen, etc.), Open Virtual Switch (OVS), NFV and networking frameworks (DPDK, ODP)
- Knowledge of datacenter networking development such as Overlay Protocols (NVGRE, VxLAN, etc.), Stateless Offload (LSO, RSS, etc.), Stateful Offload (SSL, ToE, etc.), Packet Processing (Tunneling, ECMP, Load Balancing, etc.)
- Experience in Linux crypto subsystem and Network security protocols (SSL, TLS, IPsec, MACsec, etc.)
- Scripting language experience like Perl, Python or TCL is an advantage
- Proven track record of delivering software projects that exceed customer quality expectations
- Wired or wireless telecommunications experience is an advantage
- Experience in HDL design on FPGA platforms is an advantage
- A self-starter and team player
B.E/B.Tech/M.E/M.Tech in Electronics Engineering or Computer Science Engineering