Senior Software Engineer, Client Applications (Riyadh, KSA)
FileCloud View all jobs
- Riyadh
- Permanent
- Full-time
- Design, implement, and maintain system-level components for FileCloud Desktop on Windows in modern C++ (C++17 and higher).
- Work with Win32/WinRT, the Windows Cloud Files API (CFAPI), and our custom driver to handle filesystem events, placeholders, hydration/dehydration, and user actions.
- Implement and maintain gRPC services and clients (and JSON/REST-style APIs where applicable) that connect system components to higher-level layers (Electron/TypeScript UI, server-side services).
- If you have macOS experience, contribute to macOS system components in Swift using Apple File Provider and Endpoint Security/ESClient.
- Develop and maintain unit tests (gtest) and integration tests (Python + pytest) to build and extend automated coverage.
- Integrate with File Explorer for overlays, context menus, and other shell extensions, including COM where needed.
- Use tools like Visual Studio, WinDbg, and Procmon to debug complex issues in production-like environments.
- Contribute to build and CI/CD pipelines (e.g., Jenkins, WiX for installers, vcpkg for dependencies, PowerShell scripts where helpful).
- Strong commercial experience with modern C++ (C++17 and higher).
- Solid knowledge of Windows internals: processes, C++ threading primitives (e.g. std::thread, std::mutex), synchronization, I/O, memory, security.
- Hands-on experience with Win32 APIs and willingness to work with WinRT as needed.
- Experience with multithreaded and asynchronous code.
- Strong commercial experience with modern C++ (C++17 and higher).
- Solid knowledge of Windows internals: processes, C++ threading primitives (e.g. std::thread, std::mutex), synchronization, I/O, memory, security.
- Hands-on experience with Win32 APIs and willingness to work with WinRT as needed.
- Experience with multithreaded and asynchronous code.
- Good understanding of filesystem behavior: notifications, caching, metadata, locking, renames, symlinks/junctions.
- Experience in or strong interest in sync/backup clients, cloud storage, or related areas.
- Familiarity with networked applications (HTTP/HTTPS, TLS, proxies) from a developer perspective.
- Experience with RPC / typed APIs (e.g. gRPC, JSON/REST, or similar) and willingness to work with gRPC daily.
- Hands-on experience writing automated tests: unit tests in gtest and integration tests in Python + pytest.
- Strong debugging skills on Windows using Visual Studio and system tools (WinDbg, Procmon, logs).
- Ability to work independently and take ownership of complex subsystems.
- Comfortable using AI coding assistants (e.g. Claude Code, GitHub Copilot, Cursor, or similar) as part of a daily development workflow - for code generation, review, debugging, and documentation.
- Comfortable collaborating with UI (Electron/TypeScript/Vue), QA, and backend engineers.
- Good communication skills in English and prior experience in a remote or distributed team.
- Experience with the Windows Cloud Files API (CFAPI) or other virtual filesystem/sync APIs.
- Experience building installers with the WiX Toolset.
- Familiarity with vcpkg for C++ dependency management.
- Experience with COM APIs for shell integration.
- Familiarity with large language model APIs (e.g. OpenAI, Anthropic) or machine learning concepts as background knowledge; awareness of how AI-assisted tooling is reshaping systems development workflows.
- macOS system development in Swift using Apple File Provider and Endpoint Security/ESClient.
- Experience with Jenkins or similar CI systems.
- Scripting skills in PowerShell (and/or basic shell scripting on macOS/Linux).
- Background in cloud storage, sync clients, security/endpoint products, or distributed systems.
- Awareness of security best practices when working at the OS and filesystem layer.
- Be part of a team of passionate, committed individuals dedicated to building a world-class product
- Dedicated time for training and education opportunities
- A mentorship model wherein your mentor and team support your development
- A competitive salary with an annual bonus
- Onsite work with flexible hours that fall outside of the companywide core hours of 9am -12pm (US Eastern Standard Time
- 20 days of paid time off which increases by a further 2 days after 3 years of service and 3 days after 5 years of service (in addition to 10 public holidays in your country)
- Paid day off on your birthday or on an alternative day if your birthday falls outside a normal working day
- Paid day off to volunteer with the charity of your choice
- Paid monthly internet cost, as well as lunch and wellbeing stipend provided
- Reimbursement of all hardware costs associated with the role