Role
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
Basic Qualifications
โข BS degree in Computer Engineering / Computer Science
โข None to 5 years of experience
โข 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
โข Familiarity in VCS such as git
โข Testing framework such as pytest
โข CI/CD
โข Data science libraries (numpy, pandas, scipy)
Preferred Skills
โข Masters degree in computer science or equivalent
โข Networking and OSI Layer 1 / Layer 2 knowledge
โข Mathematical background in Signal processing (Frequency Domain analysis, linear systems)
โข Documentation tools such as doxygen, sphinx, or mkdocs