Submit your job posting if your job should be listed here too!
published at 26.05.2021 14:59
Location: Toronto, Canada
Relocation Level: none
Remote support for this position: yes
Softdrive is a VC-backed, very early stage startup in Toronto putting the PC into the cloud.
We stream a high power PC to any device, turning any screen into a powerful workstation.
Softdrive is looking for a driven C++ networking software engineer to refine the core of the world’s best remote desktop software.
Softdrive’s custom UDP-based remote desktop software aims to make the experience of controlling a remote computer essentially indistinguishable from having it right in front of you. We’re achieving this through ultra-low latency in the range of 10-40 ms, support for over 144 FPS, crisp visual quality with high bitrate encoding and HDR support, all while supporting up to 4 monitors.
As an early employee at a startup, you'll be able to grow with us and shape the future of our company and industry. This position is an opportunity to work on critical, high-performance code at the center of the PC of the future. Softdrive uses C++ best practices, bleeding edge C++ revisions/standards, with linting and static analysis. We’re aiming to build a code base we love and to push ourselves to learn and grow as engineers.
Our key networking insight is that congestion control and reliability should be handled as a collaborative effort between the video encoding and networking layer. Instead of varying send-rate as TCP would, Softdrive handles congestion by tweaking encoding parameters. And instead of purely retransmitting data, Softdrive can choose to bake in redundancy into the data by selecting between I/P frames or macroblocks or respond to packet loss by dropping frames and restarting with a new IDR frame.
Working on this code challenges you to understand the networking possibilities available for video streaming and design powerful algorithms. You will use C++ to write high-performance code with advanced concepts such as multi-threading and pipelining.