This job posting has expired
System Software Engineer
Location : Hyderabad, Telangana
Headquarters : Santa Clara, California, United States
Hiring Mode : Full Time
Hiring Role : Developer
Experience : Mid Level
Are you dedicated, upbeat and dynamic with excellent analytical ability? Are you a software engineer passionate and highly motivated about solving complex problems? If so, you may be a perfect fit for our group. Join the System Software team to develop our Bootloader (boot flow from system/chip power-on to handover control to kernel) for Tegra chipset to enable various platforms (Automotive, Embedded and Mobile).
What you'll be doing:
The responsibility of the bootloader team is to enable the system by developing, supporting and optimizing CPU and System core functionalities, drivers (IO Peripheral, Storage, Charging, HW engines, etc) and prepare the device by providing system formatting and flashing support. We also need to maintain the backward and forward compatibility by having strong design architecture.
The major roles and responsibilities also includes collaborating with various engineering groups (software, hardware and architecture) to define system requirements, configurations and boot security. We need your helping hand to achieve the best performance, secured and productive bootloader on current and next generation NVIDIA TEGRA platforms.
What we need to see:
B.Tech/M.Tech or equivalent experience in Electronics/Computer Engineering, Computer Science with 6+ years of industry experience
Dynamic self-starter ready to work solo as well as with an excellent team to deliver winning solutions ahead of time. We would like to see your programming and debugging skills and in-depth understanding of processor ISA. Your knowledge of Assemblers and binary formats such as ELF, DWARF and understanding of ABI is would be very useful.
We expect you have prior experience in developing device drivers (such as Ethernet, PCIe, UFS, SATA, SD/MMC, QSPI, NVME, USB, I2C, SPI, UART, Crypto, etc) and deep understanding of Secure Software Development Life Cycle (SSDLC).
Your prior knowledge in compiler development in area of instruction scheduling and/or tool development experience in Profiler, Debugger or Linker will be an added advantage.
You should have a solid programming background in C/C++ programming, data structures and coding conventions.
You are an excellent standout colleague that can collaborate well across time zones.
Strong in OS fundamentals and kernel internals.
Experience working with ARM processors and board bring-up.
Excellent debugging and analytical skills.
Strong in process development, such as JAMA/JIRA
Zeal to innovate, excellent communication skills, and ability to understand technical documents.
Demonstrate the ability to own and work in a team to negotiate the scope and design interface and ability to drive the task through its lifecycle.
Ways to stand out from the crowd:
Your ability to divide complex problems into simple sub problems and reuse available solutions to implement most of those and work authoritatively without needing much support.
Your previous knowledge of scripting (Perl or Python) and experience with product/platform commercialization for automotive and embedded will help us extensively.
NVIDIA is committed to cultivating a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.