We are looking for a C++ developer responsible for building a well-known desktop torrenting application. Your primary responsibility will be to design, develop and improve the μTorrent Desktop application, and to coordinate with the rest of the team working on different layers of the infrastructure.
* Design, build, and maintain efficient, reusable, and reliable C++ code for μTorrent desktop client.
* Implement performance and quality modules.
* Identify bottlenecks and bugs, and devise solutions to these problems.
* Help maintain code quality, organization, and automation.
* Strong proficiency in C++, with fair knowledge of the language specification.
* Thorough knowledge of the standard library, STL containers, and algorithms.
* Good understanding of network protocols, knowledge of Bittorrent protocol is a plus.
* Good understanding of memory management in non-garbage collected environments.
* Understanding of dynamic polymorphism and C++ specific notions, such as friend classes.
* Familiarity with templating in C++
* Knowledge of low-level threading primitives and concurrency topics
* Be familiar with the Win32 programming API. Know differences between Windows and POSIX support for processes, threads, synchronization primitives, files, sockets.
* 3+ years of programming experience in C++
Good to have
* Knowledge of the latest C++ standards (C++11 and beyond)
* Familiarity with system call wrapper library functions
* Implementation of automated testing platforms and unit tests.
* Proficient understanding of code versioning tool such as Git.
* Familiarity with FFmpeg, transcoding is a plus.
* Knowledge of Jenkins and VMs to manage automated testing and continuous integration as part of our release process. Understand the value of automated testing and continuous integration.
You might learn
* Integration of blockchain technologies into applications.
* BitTorrent protocol, at least the basics.
* Scaling an application for use by 100 million users.
BitTorrent is an Internet technology company.