Principal Engineer-Embedded/Cryptograpghy

  • Ledgent,
  • San Francisco, CA
company banner
Ledgent
Principal Embedded Software Engineer / Cryptography Description: We are hiring a Principal Software Engineer with deep expertise in embedded systems to join our world class technology team in San Francisco Bay Area. 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. 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. Cryptography/security experience is required. 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) Mentoring of junior developers and reviewing their work 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 other engineers, partners, and customers to integrate our 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 other engineering and IT to ensure smooth and reliable operation of software and systems for fulfilling business objectives and processes. Required Skills/Experience 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 Experience writing device drivers for several of the following interface types: 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 development and debugging in embedded environment Experience taking projects from initial architecture through shipping. 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 developing on and testing with FPGA`s Java, Android, including JNI Security/Crypto experience Agile/SCRUM. 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.
Full Time, Permanent
US170000 - US200000 per annum
Work from home not available Travel not required

Job Description

Job Title: Principal Embedded Software Engineer / Cryptography

Description:

We are hiring a Principal Software Engineer with deep expertise in embedded systems to join our world class technology team in San Francisco Bay Area.

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.

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. Cryptography/security experience is required.

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 our hardware and related systems.
  • Development of applications targeting smart cards, security cores and hardware security modules (HSMs)
  • Mentoring of junior developers and reviewing their work
  • 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 other engineers, partners, and customers to integrate our 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 other engineering and IT to ensure smooth and reliable operation of software and systems for fulfilling business objectives and processes.


Required Skills/Experience
  • 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
  • Strong Experience with Embedded Security and Cryptography
  • 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
  • Experience writing device drivers for several of the following interface types: 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 development and debugging in embedded environment
  • Experience taking projects from initial architecture through shipping.

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 developing on and testing with FPGA's
  • Java, Android, including JNI
  • Security/Crypto experience
  • Agile/SCRUM.

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.



We are an equal opportunity employer and make hiring decisions based on merit. Recruitment, hiring, training, and job assignments are made without regard to race, color, national origin, age, ancestry, religion, sex, sexual orientation, gender identity, gender expression, marital status, disability, or any other protected classification. We consider all qualified applicants, including those with criminal histories, in a manner consistent with state and local laws, including the City of Los Angeles' Fair Chance Initiative for Hiring Ordinance.

Posted By

Hamid Habibvand

Contact


Company Information

Ledgent Technology recruits and hires technology professionals for some of the most prestigious tech companies and IT departments in the nation. We specialize in the placement of both full-time and contract professionals. We are recognized as the very best recruiting firm in the industry. We’re the only one to receive all four of the most prestigious honors awarded! This includes "Best Staffing Firms to Work For" and "Best of Staffing® - Talent Satisfaction" plus we were also recognized on Fortune’s 50 Best Small/Medium Workplaces in the US. The companies we work with pay us to find you, you do not pay for our service and support. Partnering with us means we can help locate a position at a company that has the work environment you seek; you can continue your own job search while we send you to interviews for open positions with our clients. If you'd like to have a flexible schedule and variety in your work, we can place you on contract/project assignments to get more experience or to provide more freedom in your schedule. You've come to the right place for placement. You've come to Ledgent Technology!
Dice Id : RTL152550
Position Id : 1005312539297