Position: Curious C/C++ developer for cross-platform opensource project
Company: RNP
Experience required: 5y
Category: C++
English level: pre
Published: 2022-10-01T00:00:00+03:00

We are looking for developers to join our team working on RNP OpenPGP implementation (and a bunch of other open-source projects), which is used in the Mozilla Thunderbird mail client with 35+ million installations.
We don't have formal requirements for years of experience or knowing all in advance, so a willingness to learn new and improve already existing skills is a must.

In contrast to the 99% position descriptions you read, working with us:
- you do not need to be 100%-dedicated to the job. Work is per hour, so you may be flexible during the workday and spend your time on other projects or activities. Walking with kids and visiting swimming pools or gyms during the workday has major advantages over the evening rush hours.
- you do not waste time on pointless meetings. Those happen quite rarely. Our main communication channels are email + GitHub tickets (having a chatroom for quick discussions as well). As our work language is English you still need at least written skills, falling back to your native language(s) if teammate(s) speak that as well.
- you have the freedom on picking tasks that better fit your experience or which you just like more. See below for keywords related to the project.
- you may work on the system you'd like: Windows, macOS, Linux, whatever else. We do not do GUI development and aren't stick to any IDE (but Visual Studio Code + some GUI GIT clients have proven to work well).
- you do not need to have a 3-level interview, starting with HRs who check your basic English skills although you are working for 5+ years in an English-speaking environment. You will be interviewed directly by the developers on the project.

We use GIT and GitHub for the collaboration (as you should be able to find out already, being curious and eager to learn). GitHub actions (together with some other tooling) are used for continuous integration. Code is written in C99 and C++11 (initially we used C but in the process of migration to pure C++). Tests - in C/C++ via GoogleTest together with Python via the PyTest for the CLI tests. Also, we have Ruby, PHP, and Python bindings for the core library. We use CMake build system. Currently CI and build supports and checks the following systems: macOS, Windows natively, Windows via MinGW/MSYS, Centos 7-9, Fedora 35-36, FreeBSD 12, RHEL 8-9, Gentoo, etc. For the cryptography backend we use Botan and OpenSSL v1.1.1 and 3.0.
 
You do not need to be familiar with all of the aforementioned, having the opportunity to learn on the go.

Keywords in the random order: C, C++, FFI, CLI, CI, Bash, Python, PHP, Ruby, CMake, GIT, POSIX, Linux, MinGW, MSYS2, Docker, GTest, Cirrus, OpenPGP, OpenSSL, Botan, Cryptography, clang-format, shellscheck, MarkDown.