Implements Debian-based OS components for our network operating system, under a Senior Engineer's guidance.
Key Responsibilities
- Implement Debian packages — .deb creation scripts, maintainer scripts, control files, dependency specifications
- Develop systemd service units and kernel configuration scripts (module selection, sysctl tuning)
- Write comprehensive unit tests for package installation/removal/upgrade and systemd service lifecycle, targeting 80%+ coverage
- Debug system-level issues using strace, ltrace, and GDB, and analyze syslog/journalctl output
- Participate in code reviews and collaborate with protocol teams on daemon packaging
Requirements
- 0-3 years of software development experience (fresh graduates with strong Linux skills welcome)
- Strong understanding of Linux fundamentals — command-line usage, file systems, process management
- Hands-on experience with C programming and Linux system programming (coursework or personal projects)
- Basic knowledge of Debian/Ubuntu system administration
Nice to Have
- Personal projects involving Linux system programming or embedded Linux
- Experience with Python scripting for automation
- Familiarity with Docker/containers and virtualization
- Basic understanding of networking concepts
Key Skills
What You’ll Gain
- Hands-on experience with production-grade Linux OS platform development
- Mentorship from experienced Senior Engineers and Principal Engineers
- Deep technical skills in Linux system programming and Debian packaging
- Career growth path to Senior Engineer and beyond