Essential Duties and Responsibilities:
- Architecture: Contributing to the architecture and design of the overall platform and power management solution
- Safety & Security: Responsible for all the phases of functional-safety (FuSa) & secure software development, from requirement gathering, analysis, design, development, testing, documentation and final release to customers
- Software: 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.
- Open-source: Upstream the Linux solutions developed for platform/power management
- Collaboration: Involved in cross function team interaction (across timezones) and engagement with various key players and stakeholders in the organization, to identify problems and create solutions
- Customer obsession: Responsible for working with customers and internal support teams for resolving critical customer escalations on need basis.
- Continuous learning: Willingness to learn skills, tools and methods to advance the quality, consistency, and timeliness of Xilinx software products.
- Ownership: Work with management team on project planning activities – creating project plans/schedule, risk analysis and mitigation, etc. for the projects you are working on. Provide clear and timely communication related to status and other key aspects of the project to leadership team.
Qualifications:
- BS with 8+ years of related experience or MS with 6+ years of related experience or PhD with 3+ years of related experience in Computer Engineering or Electrical Engineering or Computer Science or related equivalent.
- Expertise on C programming language
- Experience working with ARM SoCs and Embedded systems
- Experience working in Linux kernel/driver development – device tree, clocking, pin control, resets, suspend-resume, interrupt handling, threading, memory management, synchronization and communication
- Experience working on baremetal/RTOS development – with eye towards memory footprint, determinism, functional safety and security.
- Expertise working with different development tools, debug and validation tools, version control tools, open source test benches. Examples: linux command line, linux distributions and package management, shell programming, vim/emacs, yocto, make, cmake, git, gdb, jtag, pytest.
- Strongly prefer hands-on experience working on power & thermal management solutions & heterogeneous system platform management.
- Familiarity with FPGA programming and hardware-software co-design is nice-to-have