Job Description :
Job Title: Software Engineer - Blockchain

Location: San Francisco, CA 94105 OR Wayne, PA 19087
Duration: Contract

5+ years working experience
Expert in Java
Hands-on experience with developing on at least one backend Blockchain codebase
Strong understanding of the cryptographic principles and data dependencies
Experience and understanding of major consensus protocols, asymmetric encryption, Merkle trees, hash functions, key-value database
Solid understanding of data structures, algorithms, and various design patterns
Solid understanding of core principles of OO design and its application (bonus: within highly scaled distributed environments)
General Linux knowledge and experience

Nice to Have:
Experience and/or interest in foreign exchange (FX), financial markets, or Blockchain technology
Experience with extending core Blockchain functionality, such as changes to Bitcoin or Ethereum VM
Experience with various P2P communication protocols
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 management
Experience with various columnar, key/value based, or big data databases (design/implementation even better)