Xilinx, Inc. Senior Software Engineer in San Jose, California

Xilinx is the leading provider of All Programmable FPGAs, SoCs, MPSoCs and 3DICs. Xilinx's all-programmable devices are designed into tens of thousands of products that improve the quality of the everyday lives of billions of people worldwide. For over 30 years, Xilinx has been behind some of the greatest advancements in technology and science - from the industry's first fabless semiconductor model to the NASA Curiosity Mars Rover, to today's autonomous vehicles and hyperscale data centers. Xilinx uniquely enables applications that are both software-defined, yet hardware optimized - enabling smart, connected and differentiated applications across technology's biggest megatrends, including Machine Learning, 5G Wireless, Embedded Vision, Industrial IoT and Cloud Computing and more.

If you are a passionate, innovative and an out-of-the-box thinker that enjoys challenging projects, Xilinx is the right place for you. Our global team is growing and we are looking for bold, collaborative, and creative people to help deliver groundbreaking technologies that enable our customers to differentiate. Come do your best work and live your best life through collaboration, wellness and giving back to your community as a member of the ONEXILINX team.

Xilinx is looking for energetic, motivated and smart software engineers to join a growing and innovative team at our San Jose headquarters. In this role, you will be working with a team of bright engineers developing platform (Board, CPU) and power management software solutions, frameworks and algorithms using bare metal and Linux kernel for heterogeneous Multi-processor systems designed for Xilinx next-generation SoCs.


  • Contributing to the architecture and design of the overall platform and power management solution.

  • Optimizing the solutions developed for performance and designing them for scalability.

  • Developing Bare Metal and/or Linux based drivers/libraries for power management, clock management, reset management, other subsystem and board management functionalities for Xilinx SOCs.

  • Evaluating and designing algorithms/frameworks for platform management solutions developed by Xilinx.

  • Developing debug and diagnostics tools and infrastructure for platform/power management.

  • Upstream the Linux solutions developed for platform/power management

  • Work with different teams to identify problems and create solutions

  • Delivering software solutions in line with product roadmap on time with high quality.

  • Involved in cross function team interaction and engagement with various key player and stakeholders in the organization.

  • Responsible for all the phases of software development, from requirement gathering, analysis, design, development, testing and final release to customers.

  • Provide clear and timely communication related to status and other key aspects of the project to leadership team.

  • Responsible for working with customers and internal support teams for resolving critical customer escalations on need basis.

  • Work with management team on project planning activities – creating project plans/schedule, risk analysis and mitigation, etc. for the projects you are working on.

  • Good understanding of software development life cycle stages - design, implementation, documentation and testing of software code implementing product features and requirements

  • Willingness to learn skills, tools and methods to advance the quality, consistency, and timeliness of Xilinx software products.

  • Master's Degree in Computer Science, Computer Engineering, or Electrical Engineering with 2+ years of professional experience (or Bachelor's Degree in Computer Science, Computer Engineering, or Electrical Engineering with 4+ years of experience.

  • Experience working on Linux power management framework, common clock framework, board management controllers etc. to develop the platform management solution for Xilinx SoC products.
  • Expertise on C/C++, Embedded systems and Linux kernel/driver development for multi-processor heterogeneous systems
  • Experience of Linux heterogeneous memory management, multi-processor synchronization and communication
  • Experience with Linux and baremetal driver development for embedded products.
  • Expertise working with different development tools, debug and validation tools, config management tools (git), open source test benches for various platform management aspects.

  • You must be capable of working in a dynamic, high pressure environment