Posted 8mo ago

Principal Software Engineer - Linux 平台

@ Calix
Nanjing, Jiangsu, China
OnsiteFull Time
Responsibilities:lead design, evaluate boards, debug issues
Requirements Summary:12+ years in platform software; strong C/C++; Linux kernel/driver development; ARM/x86/PowerPC; hardware interfaces; embedded Linux; read schematics; collaboration across teams.
Technical Tools Mentioned:C, C++, U-Boot, UEFI/BIOS, Linux kernel, device drivers, Linux system programming, Buildroot, Yocto, OpenWRT, RDK, Ubuntu, JIRA, GIT
Save
Mark Applied
Hide Job
Report & Hide
Job Description
Calix is a cloud and appliance-based platform and managed services company. Broadband service providers leverage the Calix broadband platform, cloud, and managed services to simplify operations, engagement, and service, innovate for their consumer, business. and municipal subscribers and grow their business and the communities they serve.

Position Overview

The Calix CDC EXOS team is looking for a seasoned Embedded Software Engineer to join us in developing software for Home Gateway products.

Key Responsibilities

  • Participate in cross-functional team discussions to influence system/hardware architecture, software design, and integration/test planning
  • Evaluate and bring up ARM, MIPS, or x86-based boards, including bootloaders (U-Boot, UEFI/BIOS), Linux kernel, and device drivers
  • Collaborate with hardware, FPGA engineers, and silicon vendors to resolve bring-up issues
  • Support global teams with customer issues, root cause analysis, bug fixes, and feature enhancements
  • Lead software design efforts to meet requirements for stability, reliability, scalability, and security
  • Engage in all development phases: requirements review, design documentation, peer reviews, feature testing and automation, solution testing support, internal training, and customer service support
  • Provide technical mentorship to junior engineers

Required Qualifications

  • Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, Optical Engineering, or related field
  • 12+ years of experience in platform software development
  • Strong programming skills in C/C++
  • Deep knowledge of bootloader, Linux kernel, and driver development
  • Experience with Linux system programming
  • Expertise in x86/ARM/PowerPC CPU architectures
  • Solid understanding of hardware interfaces: PCIe, I2C, SPI, USB, DDR, UART, Ethernet, Nor/NAND, eMMC, SSD
  • Familiarity with Linux kernel internals (scheduler, memory management, concurrency/synchronization, file systems)
  • Experience debugging embedded software using JTAG or similar tools
  • Hands-on experience with Linux distributions, toolchains, and open-source projects (e.g., Buildroot, Yocto, OpenWRT, RDK, Ubuntu)
  • Ability to read hardware schematics and collaborate with hardware teams to isolate HW/SW issues
  • Proficient in development tools like JIRA and GIT
  • Excellent communication and collaboration skills across teams
  • Strong ownership mindset and commitment to continuous improvement

Preferred Qualifications

  • Experience with QCOM/BRCM SoC/SDK
  • Experience with Linux networking components
  • Knowledge of virtualization (QEMU, KVM, Virtio, SR-IOV, IOMMU, OVS, DPDK) and container technologies (Docker, Kubernetes, namespaces, cgroups)