Product Developer (系統軟體開發)
Description
Synology's product developers create cutting-edge products used by millions of users around the world. Our portfolio of data storage, networking, and surveillance products are powered by our own software solutions, giving us a unique edge in today's crowded market. We are looking for engineers that can make an impact, bringing in fresh ideas from different areas to help expand our team of high-energy developers.
Data is what empowers today's business, its aggregation drives economies and our society forward. We generate unquantifiable amounts of data each and every second, even if only a fraction of it is ever recorded. Synology designs data management solutions engineered to enable businesses to continue turning the wheels of innovation. As a Product Developer in one of Synology’s most fundamental development teams, you'll be working on developing a robust and reliable operating system core that forms the backbone of Synology's data management solutions.
You may have the chance to work on or gain exposure to the following areas:
You will design, build, and maintain critical subsystems in DSM, ensuring scalability, security, and performance across the platform.
- Large-scale distributed system challenges
- OS-level integration and system architecture
- Security-critical infrastructure
Authentication & Authorization Framework
- Design and implement secure authentication and authorization systems (e.g., OAuth 2.0, OIDC)
- Build access management and access control mechanisms across DSM services
System Upgrade & OS Integration
- Develop and maintain DSM system upgrade mechanisms with reliability and rollback support
- Integrate with Linux system components (e.g., systemd) and handle system-level issues
Web Framework Development
- Build and maintain DSM web framework using Vue and modern frontend technologies
- Design and implement backend services and APIs supporting web applications
Build / Release Engineering
- Design and optimize CI/CD pipelines and build/release workflows
- Ensure software supply chain security and improve release reliability
You are expected to have:
- Experience in system or cloud administration
- Proficiency in C/C++ and Python or Go
- Familiarity with system programming in Linux environments
- Good communication skills
- Strong understanding of algorithms and data structures
- Strong analytical and problem-solving skills