Safex Blockchain C++ Developer
If selected, you will work directly on the Safex Blockchain network software. You will be a lead developer to extend and implement new features that a large and vibrant community will benefit from. This is an entirely open source endeavor that will engages many others on a global scale.
Our current stack and workflows are as follows:
- Our software is open source, blockchain development, and cryptocurrency usage.
- Safex Protocol is written in C++ for the network node software, that is a peer to peer network and cryptographic integrity storage system.
- We have a Wallet (Safex CLI Wallet) software written in C++ that serves as a key store and management system that interacts with the peer to peer network which is the Safex Protocol (Blockchain).
- We provide binaries by building for Window, Linux and MacOS from all 3 platforms. We are using Cmake for building and GitHub Actions for build checks and for running all the tests including: unit tests, core tests, and other test sets in the repository.
- The Safex GUI wallet is written in NodeJS/Electron that uses N-API as a wrapper for the C++ wallet to be leveraged in the GUI environment.
Job Description:
- You have 4+ years experience working with interactive applications coded in C++.
- You will develop and maintain the Safex Protocol C++ codebase and Wallet CLI software.
- Also develop for third party consumers of the services of the software.
- You will write and improve build modules for all 3 platforms Safex is supporting(Windows, MacOS, Linux).
- You will write and maintain N-API for the Safex wallet.
- You have a strong knowledge of the modern C++ syntax and the potential pitfalls in application development using the language.
- At least basic knowledge of Blockchain principles (proof of work mining, consensus, monero-like systems).
- A strong understanding in data structure design and consideration for volatility of future features and implementation.
- Strong attention to the details related to the performance and speed of your code when interacting with data sets.
- Code readability and commentary is a strong suit in your day to day activity.
- Keen propensity to use the debugger for narrowing down issues and being able to find suitable solutions and efficiently implementing them.
Required Skills:
- Strong knowledge of C++ (4+ years in active development).
- Some knowledge in blockchain architecture (monero-like stack).
- Knowledge of Protobuf, Boost libraries.
Additional Desired Skills:
- Knowledge in NodeJS, N-API (Async C++/JS interactivity).
- Knowledge in some CI workflows (github actions, jenkins) for build automation and tests.