F0151 - System Application Development Engineer (Linux/Desktop)

Taipei, Taiwan
Full Time
Engineering & IT
Experienced

About Ubiquiti 

At Ubiquiti, our mission is to rethink IT by building high-performance, beautifully designed systems that redefine how people connect, work, and interact with their data.

 

UniFi Drive is our next-generation network-attached storage (NAS) solution — seamlessly integrated into the UniFi ecosystem. It enables users to store, access, and manage data across local and cloud environments with speed, reliability, and simplicity. More than just storage, it's evolving into a unified data platform that powers everything from seamless backup and secure remote access to smart collaboration and intelligent data orchestration.

 

We envision a world where storage is not a separate product, but a deeply integrated foundation throughout the UniFi ecosystem — powering real-world user workflows and enabling next-level performance, resilience, and simplicity at scale.

 

As part of the UniFi Drive team, you'll help shape this vision into reality. You'll contribute to platform architecture, cross-device integration, developer-facing tools, and next-generation experiences that will define how data moves and lives within the UniFi ecosystem and beyond.

 

We’re looking for engineers who enjoy solving deep problems, challenge conventional thinking, and care about building things that are both elegant and impactful. If that sounds like you, let’s talk.



 

Responsibilities

  • Help design and build the core sync, storage, and system-facing user experiences for UniFi Drive on Linux — from CLI tools to potential desktop integrations — enabling seamless, reliable, and intelligent data access across local and cloud environments.
  • Deliver high-performance file synchronization workflows by leveraging Linux system behaviors and APIs, including file I/O, inotify, and FUSE.
  • Solve complex problems around consistency, versioning, conflict resolution, and offline capability tailored for Linux environments and distributed systems.
  • Collaborate with backend, platform, and tooling teams to align on architecture, data flows, and system integration behavior.
  • Continuously improve performance, observability, and maintainability of the Linux toolchain and services, with flexibility to expand into desktop-facing experiences.

 

Requirement

  • 3+ years of experience in Linux system development using C++.
  • Familiarity with Linux system architecture, file I/O, and event monitoring.
  • Proficient with Git and modern development workflows.
  • Comfortable integrating communication protocols such as REST APIs, WebSocket, WebRTC, or MQTT into system components.
  • Proactive, collaborative, and comfortable navigating ambiguity in a fast-evolving platform environment.


 

Nice to have

  • Experience building synchronization logic or distributed file update mechanisms (e.g., change detection, version tracking, conflict resolution).
  • Experience designing storage-related features in NAS or hybrid environments (e.g., backup orchestration, remote access, local-cloud interaction).
  • Familiarity with FUSE or virtual file system development.
  • Background in CLI productization or file synchronization tools.
  • Experience developing system-facing or lightweight GUI tools for Linux (e.g., status indicators, settings dialogs, tray integrations) using frameworks such as Qt or GTK.
  • Knowledge of transfer optimization and consistency mechanisms.


 

Benefits

  • International work environment and work with global development teams.
  • Excellent work conditions.
  • Competitive package we can and do offer great pay, perks, and benefits.
  • Group insurance; Health insurance.
  • Flexible working patterns.
  • Free drinks and snacks in the office.
Share

Apply for this position

Required*
Apply with
We've received your resume. Click here to update it.
Attach resume as .pdf, .doc, .docx, .odt, .txt, or .rtf (limit 5MB) or Paste resume

Paste your resume here or Attach resume file

Human Check*