What are the responsibilities and job description for the Sr. Staff. Software Engineer position at NMK Global Inc.?
Job Details
Job Title: Sr. Staff. Software Engineer
Location: Sunnyvale, CA
Duration: 6-months (CTH)
Mandatory skills - Sr Staff software engineer with Experience on C , Python , SONiC SPyTest and SPyTest
Core Requirement: SONiC Platform-Level Developer
Objective:
Develop and enhance SONiC Network Operating System (NOS) at the platform layer not just configuration or L2/L3 feature debugging.
Required Skills and Experience
- SONiC Platform Development (from scratch)
- Hands-on experience building SONiC images from source.
- Deep understanding of SONiC architecture:
- SWSS (Switch State Service)
- SAI (Switch Abstraction Interface)
- Platform drivers, chassis management, and device discovery.
- Implementing new hardware platforms in SONiC using platform APIs (e.g., sonic-platform, sonic-platform-common).
- Working on device driver integrations and thermal/fan/power management modules.
- Programming Expertise
- C Used in SONiC for:
- Core NOS services (like orchagent, syncd, fpmsyncd).
- Performance-critical components in SWSS and SAI layers.
- Python Used for:
- Platform management daemons (e.g., psud, xcvrd).
- Test automation frameworks (SPyTest, PyTest).
- Writing CLI tools or extensions (sonic-utilities).
- SPyTest and Validation
- Experience with SPyTest (SONiC PyTest-based framework) to:
- Write and execute platform-level automated tests.
- Validate SAI and platform integration.
- Contribute new test cases for new platform features.
- Broader System-Level Understanding
- Linux system internals (systemd, containers, networking stack).
- Familiarity with ONIE, Docker-based architecture of SONiC.
- CI/CD integration for SONiC builds (Jenkins, GitHub Actions, etc.).
Summary Role Description
We need someone who can develop and integrate new hardware platforms into SONiC not just troubleshoot or configure it. They must be able to work with the SONiC platform layer (C , Python), contribute to SAI/driver integration, and build/validate using SPyTest.