Principal Software Engineer

US-CA-San Francisco
Job ID
2016-5441
Category
Engineering

Overview

At Rambus, we are turning incredible possibilities into everyday reality by helping to deliver the innovations that greatly impact the world we live in. We create leading-edge semiconductor and IP products, spanning memory and interfaces to security to smart sensors and lighting. Our products are integrated into tens of billions of devices and systems around the globe, running critical applications for Big Data, Internet of Things (IoT), mobile, consumer and media platforms.

 

And our history runs deep – we have been a staple in Silicon Valley for the past 25 years and are continually anticipating key technology trends and are developing innovations that drive market changes. From a pure IP provider to becoming a fabless chipmaker, Rambus is evolving to address critical challenges in the semiconductor industry.

 

As a dynamic organization, we are always seeking to hire exceptional talent to join some of the brightest inventors and engineers in the world to explore their passions to develop products that have real life impact. As well, Rambus benefits are among the most comprehensive and competitive in Silicon Valley.

 

The Rambus Security Division is dedicated to providing a secure foundation for a connected world. Integrating technologies from Cryptography Research, Bell ID and Ecebs, our innovative solutions span areas including tamper resistance, content and media protection, network security, mobile payment, smart ticketing, and trusted transaction services. Our technologies protect nearly nine billion licensed products annually, providing secure access to data and creating an economy of digital trust between our customers and their customer base. As a premier provider of security solutions, the Rambus Security Division focuses on market sectors that present opportunities for rapid deployment of innovative technologies to meet consumer needs.

 

Description:

Cryptography Research is hiring a Principal Software Engineer with deep expertise in embedded systems and security/cryptography to join our world class technology team in our San Francisco office.

 

You will work closely with hardware, software and security architects and engineers to architect, design, implement and ship crypto related embedded software for resource constrained environments.

 

Candidate must be experienced with standard software development processes, methodologies, and tools and must have a track record of very high technical competence that includes strong coding skills and individual technical accomplishments. Cryptography/security domain experience is required.

 

This position involves work on a wide range of projects related to all areas of embedded system development, including driver development, application development, and development of internal software tools used for testing and verification of hardware and software. 

Responsibilities

  • Architect, design, implement and ship embedded security solutions
  • Analysis of architecture requirements and authoring of specifications for large embedded software solutions
  • Design of APIs and interface documents for both internal and external customers
  • Development of device drivers for CRI hardware and related systems.
  • Development of applications targeting smart cards, security cores and hardware security modules (HSMs)
  • Development of unit test frameworks
  • Mentoring of junior developers and reviewing their work
  • Initiating and conducting code reviews
  • Working with technical writers to document software architecture and design
  • Specification and development of SQA tests, test harnesses and test sequences needed to ensure high quality code development
  • Collaborating with CRI engineers, partners, and customers to integrate CRI hardware and software into larger systems, including system-on-chip and server environments.
  • Provide engineering support of products at customers or in the field
  • Collaboration with CRI engineering and IT to ensure smooth and reliable operation of software and systems for fulfilling business objectives and processes.

 

 

 

Qualifications

 

 

  • BS in computer science, computer engineering, electrical engineering, or related degree preferred; but substantial, outstanding work experience may substitute in some cases
  • Ten or more years of significant, relevant experience as a software engineer working on embedded systems
  • Expert-level skills in C, including C development in resource-constrained embedded environments
  • Experience with C++ and UNIX/Linux system programming
  • Experience with at least one scripting language such as Python
  • Significant experience with programming and debugging of embedded systems, including low-level programming tasks such as direct programming/interfacing of HW features, HW driver implementation and other tasks that go beyond working only at the  application layer within an embedded system
  • Bare metal experience
  • Experience with one or more RTOS
  • Significant device driver development for several of the following interface types: USB, I2C, SPI, UART, JTAG, GPIO, PCIE
  • Software development experience with ARM or similar embedded processor cores
  • Knowledge of cross-development environments and source code control for embedded software development
  • Experience in system level software (RTOS, test application) development and debugging in embedded environment
  • Security/Crypto experience
  • Experience taking projects from initial architecture through shipping
  • Agile/SCRUM

 

Desirable Skills/Experience

 

  • Experience with hardware bring-up and troubleshooting
  • Experience in Board Support Package (BSP) development for HW platforms based on Embedded Cores like ARM, MIPS
  • Experience with Xilinx and Altera FPGA and CPLD programming and debugging
  • Java, Android, including JNI

 

 

Personal Attributes

 

    • Entrepreneurial drive and a demonstrated ability to achieve goals in an innovative and fast-paced environment
    • Outstanding written, verbal, and interpersonal communication skills. 
    • Strong mentoring skills
    • Ability to communicate ideas in both technical and user-friendly language.
    • Highly self-motivated and directed, with keen attention to detail.
    • Able to prioritize and execute tasks in a high-pressure environment.
    • Proven analytical and creative problem-solving abilities.
  • Ability to work in a team-oriented, collaborative environment.

-------

 

Rambus offers an extremely competitive compensation package, which includes a strong base salary, bonus, equity, matching 401(k), employee stock purchase plan, comprehensive medical and dental benefits, time-off program and gym membership.

 

Rambus creates cutting-edge semiconductor and IP products, spanning memory and interfaces to security, smart sensors and lighting. Our chips, customizable IP cores, architecture licenses, tools, services, training and innovations improve the competitive advantage of our customers. We collaborate with the industry, partnering with leading ASIC and SoC designers, foundries, IP developers, EDA companies and validation labs. Our products are integrated into tens of billions of devices and systems, powering and securing diverse applications, including Big Data, Internet of Things (IoT), mobile, consumer and media platforms. At Rambus, we are makers of better. For more information about Rambus, visit rambus.com. For additional information on life at Rambus and our current openings, check out rambus.com/careers/.

Options

Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
Share on your newsfeed