Remote Position
R&D Software Engineer
🌍 Remote · United States
💼 Full-time
We are seeking a highly motivated Software Engineer to join the SiConic R&D team. The candidate will be responsible for developing and maintaining PCIe platform software, hardware control services, device management APIs, and validation frameworks used for next-generation silicon validation, DFT, and test engineering solutions.
The role involves working closely with global R&D teams, hardware architects, firmware developers, and customer engineering groups to deliver scalable and robust software solutions for the SiConic ecosystem.
Key Responsibilities
• Design, develop, and maintain PCIe platform software, drivers, and hardware control services.
• Develop APIs for PCIe switch, retimer, board management controller (BMC), and platform management functions.
• Work on Linux-based software stacks, hardware abstraction layers, and device communication frameworks.
• Implement and optimize PCIe enumeration, configuration, topology discovery, and platform management features.
• Develop and enhance JTAG/SWD/GPIO/UART/SPI based debug and control capabilities.
• Investigate, debug, and resolve complex software, firmware, and hardware interaction issues.
• Create automated validation and qualification tests for PCIe, platform management, and system software features.
• Perform root cause analysis of customer-reported defects and field issues.
• Collaborate with cross-functional teams on architecture reviews, feature design, and software integration.
• Contribute to software quality through unit testing, code reviews, CI/CD, and automation.
• Develop technical documentation, API specifications, and design documents.
• Support customer enablement activities, proof-of-concepts, and new platform bring-up.
Required Qualifications
• Bachelor's or Master's degree in Computer Science, Electronics, Electrical Engineering, or related field.
• 8+ years of experience in Linux software development.
• Strong programming skills in C/C++.
• Good knowledge of Python scripting and automation.
• Strong understanding of PCIe architecture and protocols.
• Experience with Linux device drivers and kernel-level development.
• Experience with embedded Linux environments.
• Familiarity with hardware/software interaction and debugging.
• Experience using Git and modern software development processes.
• Strong problem-solving and debugging skills.
Requirements
Preferred Qualifications • Experience with PCIe switches, retimers, DMA, Root Complex, and Endpoint architectures. • Knowledge of JTAG, SWD, UART, SPI, I2C, and low-level hardware interfaces. • Experience with FPGA-based platforms and silicon validation environments. • Experience working with semiconductor validation or ATE environments. • Knowledge of CI/CD, Bazel, Docker/Podman, and automated test infrastructure. • Experience working in global cross-functional R&D teams. Technical Skills Programming • C, C++, Python • Linux Shell Scripting Protocols & Interfaces • PCIe Gen4/Gen5/Gen6 • JTAG, SWD • SPI, I2C, UART • Ethernet Platforms • Linux • Embedded Systems • FPGA-based Validation Platforms Tools • Git • Jenkins/CI-CD • Debuggers and Trace Tools • Protocol AnalyzersAll Locations
IND
Field of Activity
Research & Development (Software Development)
Bachelor's or Master's in Computer Science, Electronics, or Electrical Engineering; 8+ years Linux software development; strong C/C++ and Python; PCIe architecture knowledge; Linux device drivers; embedded Linux; Git; problem-solving skills.
Key Responsibilities
- developing platform software
- creating validation frameworks
- debugging software issues
Skills & Tools
C, C++, Python, Linux, Git, Jenkins, Bazel, Docker, Podman, PCIe, JTAG, SWD, UART, SPI, I2C, Ethernet, FPGA
Job Details
- Category: Software Development
- Seniority: Senior Level
- Commitment: Full Time
- Workplace: Remote — India
- Languages: English
About Advantest
A semiconductor test equipment company developing software for silicon validation and test engineering. — Industry: Information Technology