System Software Engineer

    • Credo Semiconductor, Inc.
  • San Jose, CA
  • Posted 2 days ago | Updated 18 hours ago

Overview

On Site
Compensation information provided in the description
Full Time

Skills

IP
Intellectual property
Integrated circuit
SERDES
Ethernet
Interfaces
Debugging
Firmware
Computer engineering
Computer science
C
Python
C++
Teamwork
Collaboration
SDK
Communication
POSIX
Operating systems
Veritas Cluster Server
Git
Testing
Software development
Computer networking
OSI
Physical layer
Data link layer
Continuous integration
Continuous delivery
Data Science
NumPy
Pandas
Documentation
Doxygen
Sphinx

Job Details

Job Description

Job Description
Salary: $90,000 $130,000

Credo is seeking a System Software Engineer to join the Applications team to help develop our SDK. The position will require developing software to control our diverse chip and IP products and the firmware running on them. You will work with internal engineers to use the SDK for internal chip testing/validation purposes. You will also interface with our customers to integrate and use the SDK in their own software stack. Additional responsibilities will be flexibly determined based off your secondary skills.

Responsibilities

  • Familiarize with SerDes and IEEE ethernet Layer 1 functionality
  • Develop C/python code for the SDK based on designer / engineer recipe code
  • Coordinate with firmware team to define high-level interfaces for features
  • Document functionality for both internal and customer users to use
  • Interface with customers to integrate and debug issues with SDK in their software stack
  • Write test code to validate SDK and firmware features

Qualification

  • BS/Masters degree in Computer Engineering / Computer Science

Experience

  • A variety of experience from None to 5+ years

Required Skills

  • Strong proficiency in C and Python (C++ optional)
  • Teamwork and collaboration with other developers on the SDK team
  • Cross-team communication for defining of requirements
  • Basic understanding of the Posix standards for Operating Systems
  • Familariaty in VCS such as git
  • Testing framework such as pytest

Preferred Skills (optional)

  • Bare-metal programming without an OS (micro-controllers)
  • Networking and OSI Layer 1 / Layer 2 knowledge
  • Mathematical background in Signal proccessing (Frequency Domain analysis, linear systems)
  • CI/CD
  • Data science libraries (numpy, pandas, scipy)
  • Documentation tools such as doxygen, sphinx, or mkdocs
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.