Strong proficiency in C++, with fair knowledge of the language specification
Thorough knowledge of the standard library, STL containers, software architecture design patterns, and algorithms / API-SDK / cross-platform software development with QT / GTK / ElectronJS
Good understanding of memory management in non-garbage collected environments; hands-on experience with Valgrind and other memory profiling tools; experience with secure coding models and practices
Knowledge of low-level threading primitives and real-time environments
Familiarity with embedded systems design / IoT, low-level hardware interactions, and systems architecture; preferred experience with file systems, I/O peripherals, Embedded Linux / RTOS / device drivers / cross-compilation / firmware / middleware
Thorough knowledge of network architecture models (ISO-OSI, TCP-IP); programming experience in protocols like HTTP / REST / TCP / XMPP for client-server or peer-to-peer systems in C++
Knowledge of writing native modules for high-level languages such as Node.js, Python, Go, Java, etc.
Proficient understanding of continuous integration and code versioning tools such as Git, SVN; experience with unit test automation using frameworks like GTest
Knowledge of virtualization and experience with creating virtualized environments such as VMs and Docker containers
Preferred experience with crypto infrastructure such as Ethereum, Hyperledger, other blockchains; cryptographic programming, authentication, identity management, cybersecurity software, cryptanalysis, ethical hacking, and vulnerability analysis
Exposure to R&D culture with a focus on disruptive ideas, brainstorming, MVP specification, quick proof-of-concept development leading to high-quality product delivery; open to continuous learning and adoption of new skills/technologies