Required Qualifications:
At least 5 years of hands-on experience in core Java and/or C++ (Java as priority but ideally both)Hands-on experience with developing on at least one backend blockchain codebase, whether proprietary (e.g., Chain) or open source (e.g., Hyperledger) -- not just building apps on topStrong understanding of the cryptographic principles and data dependencies underpinning blockchain technologiesExperience and understanding of major consensus protocols, asymmetric encryption, Merkle trees, hash functions, key-value database, P2P communication protocolsExperience and understanding of transaction scripting and smart contracts, especially Bitcoin style conditionalized transactionsUnderstanding of key areas of Blockchain research including data privacy, confidential transactions, side chains and pegging, sharding and other scaling methodologiesStrong sense of ownership, passion to build quality products for massive scale in collaborative, agile environment and excitement to learnPreferred Additional Qualifications:
A degree in Computer Science / Mathematics or equivalent work experience in a field utilizing the same subject matter5+ years of development experience developing production grade, multi-threaded, enterprise client/server software using Java stack.Experience contributing to the architecture, design, and implementation of Blockchain technologies like Chain, Corda and HyperledgerUnderstanding of microservices architectureRecognized expertise in blockchain applications as evidenced by industry participation, publications and/or awardsExperience writing high performance software in JavaDetailed and verifiable understanding of blockchain architectures including detailed knowledge of how various blockchain platforms differ.Experience with consensus protocols in commonly used languages such as C, C++, JavaExperience in building distributed databases, networking protocols, or large-scale transaction systemsExperience developing large scale, highly available distributed systems and protocol designStrong knowledge of data structures, algorithms, operating systems, and distributed systems fundamentals.Strong understanding of databases, NoSQL systems, storage and distributed persistence technologies.Experience with some of the following: Concurrency and synchronization, Common IPC/RPC methods and patterns, Queuing patterns and pipeline design, Messaging systems and patterns, Virtual memory managementWhat you’ll be doing:
Work closely with company leadership to define roadmap and extend an existing custom blockchain implementation in JavaWrite high caliber code on a daily basis to satisfy time sensitive production product development as well as R&D projectsCollaborate with CEO, blockchain engineers and math wizards and undertake R&D projects to create novel hybrid solutions to solve problems while maintaining extreme performance requirements without trading off guarantees blockchain providesHelp develop blockchain product specsCollaboratively define blockchain systems architecture and best practicesDocument best practices and act as a knowledgeable resource for blockchain engineering and problem-solving.Bonus Points For:
Sense of humorPublished Blockchain-related researchPublished cryptography researchHelp develop blockchain product specsExperience or genuine interest in trading and exchangesExperience in P2P networkingA Master’s in Computer Science / Mathematics or equivalent work experience in a field utilizing the sameWhat You Get:
The excitement and fulfillment of solving the biggest problems in the largest markets for top global clients using real blockchain technologyVery competitive salary and equity in a well-funded and high growth startup backed by prominent investorsSubstantial career opportunities and upside to match your passion for what we do401KExcellent medical, dental and vision insurance coverageUnlimited vacation timeSF, NY/NJ or London initially 100% Remote