Overview:
Rambus, a premier chip and silicon IP provider, is seeking to hire an exceptional new graduate of an Engineering or Computer Science program to join our firmware engineering team within the Memory Interface Chips Business Unit. The successful candidate will join some of the brightest inventors and engineers in the world to develop memory interface products and system software solutions that make data faster and safer.
As an Associate Member of Technical Staff (AMTS), the candidate in this Full-Time position will report to the Director of Firmware Engineering. The candidate will be joining a team to work on cutting edge memory and silicon IP technology shaping the future of data centers and high-performance systems. The candidate needs to be deeply hands-on and capable of working independently in a highly collaborative team of experienced firmware engineers. The candidate will execute the software development lifecycle for memory diagnostic software running on Linux platforms, and firmware running on embedded ARM and RISC-V CPUs in System-On-Chips (SoCs) required by next generation DDR technologies. The candidate will gain experience with processor-memory interfaces, DDR5, DIMM logic components, and diagnostics (telemetry, margin test signal integrity, and power integrity) required by Cloud Service Providers. The candidate will also gain software development experience with BIOS, UEFI, Redfish, OpenBMC, and other third-party SW stacks.
Rambus offers a flexible work environment, embracing a hybrid approach for the majority of our office-based roles. We encourage employees to spend an average of at least three days per week working onsite, allowing for two days of remote work.
Responsibilities:
Design and implement software for embedded devices and systems, from the requirements stage to deployment.
Design, develop, code, test, and debug system software.
Create documents for software architecture, designs, and algorithms.
Integrate and validate new software designs.
Participate in software design and code reviews, to ensure adherence to coding convention and best practices.
Qualifications:
BS or higher degrees preferred (Computer Science, Computer Engineering or Electrical Engineering with software experience).
Strong C/C++ design and programming skills.
Prior experience in developing and debugging software.
Experience with unit testing and scripting languages such as Python.
Ability to follow technical guidance from senior team members.
Excellent written and verbal communication skills.
Desired Skills:Experience developing device drivers and low-level software for HW peripherals.
Linux kernel device driver and user space development.
Real-Time OS techniques such as preemptive multi-tasking schedulers, multi-threaded execution, semaphores, mutexes, and interrupts.
Hardware debug and lab experience using JTAG debug tools, oscilloscopes, etc.
Embedded software development for System-On-Chip (SoC) or x86 platforms.
Software development using data visualization tools and databases
MNCJobz.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.