Xilinx, Inc. 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
We are looking for software engineers to join a growing and innovative team at our San Jose headquarters. You will be working with a team of bright engineers developing software solutions using AI frameworks and Linux kernel for heterogeneous Multi-processor systems designed for Xilinx next-generation SoCs.
You will be:
Contributing to the architecture and design of the overall AI solutions platform.
Optimizing the AI solutions developed for performance and designing them for scalability.
Developing Bare Metal and/or Linux drivers for AI acceleration engines using Xilinx SOCs.
Developing Heterogeneous memory Management solutions for Asynchronous Multi-processing platforms.
Evaluating AI solutions developed by Xilinx and performing comparative analysis against other industry solutions.
Developing debug and performance analysis tools and infrastructure for AI solution development.
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.
Play a role in 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 0 plus years of professional experience or Bachelor's Degree in Computer Science, Computer Engineering, or Electrical Engineering with 2 +years of experience.
- Experience with C/C++, Embedded systems and Linux kernel/driver development for multi-processor heterogeneous systems.
- Understanding/Experience with Linux heterogeneous memory management, multi-processor synchronization and communication.
- Knowledge of AI frameworks like Caffe, Tensor flow, Theano, MXNet, etc.
- Understanding of AI application stacks including OpenCV, OpenCL, OpenVX, etc.
- Expertise with Deep Neural network architectures like CNN, RNN.
- Knowledge of Acceleration platforms like GPU, TPU, APU, FPGAs.
- You must be capable of working in a dynamic, high pressure environment.