PeerStream, Inc. Senior Software Engineer - P2P Systems in New York City, New York

PeerStream, Inc., formerly Snap Interactive, Inc., is a dynamic, fast-paced technology company building innovative decentralized technologies that power multimedia social apps and business communication solutions worldwide. The Company is currently developing PeerStream Protocol (?PSP?), a decentralized multimedia content delivery solution building on blockchain technology. PSP will form the core of a technology platform that supports the Company?s portfolio of social video applications and the newly formed business solutions group created to serve the blockchain adoption needs of corporate clients. The Company?s app portfolio features Paltalk, which hosts one of the world's largest collections of video-based social communities, and Backchannel, a blockchain-based secure video messaging app expected to launch in 2018. The Company has a long history of technology innovation and holds 26 patents. Our environment is fun and relaxed, our products are ambitious, and our distributed teams are some of the brightest in the business.

PeerStream, Inc. is looking for a passionate and experienced developer with experience to help develop, build and deploy a distributed fault-tolerant P2P platform. This role is ideal for developers with deep experience in peer-to-peer protocol development, privacy routing protocols (Onion/Garlic routing), familiar with blockchain technology, and keen to develop systems from the ground up.

PEER's environment is highly collaborative, and the ideal candidate will have an eye for detail and be a team player who enjoys working with others to find cutting-edge solutions to tricky problems.

Primary Responsibilities:

  • Develop, build and deploy distributed p2p systems

  • Work with core internal team and external open source community

  • Collaborate with teammates to produce protocol specifications

  • Collaborate and support other teams in developing crypto economic consensus protocol

  • Develop and maintain interfaces for platform API

  • Identify and recommend technologies to solve technical challenges

Ideal Experience:

  • BS/MS/PhD in a scientific field or equivalent experience

  • Experience developing in Golang and/or C/C++

  • Expert knowledge of peer-to-peer distributed system design and implementation

  • Familiarity with state-of-the-art academic literature on the subject

  • (DHT) distributed hash table such as Kademlia or Pastry

  • Familiarity with blockchain technologies

  • Practical knowledge on engineering successful peer-to-peer systems

  • Understanding of cryptography, public/private key, hash functions, encryption/signatures

  • Must be able to identify and defend against protocol-level and network-level attacks

  • Understanding of consensus protocols

  • Familiar with Byzantine Fault Tolerance in distributed and decentralized systems

  • Experience with implementing protocols over tcp and udp transport layers

  • Experience with the following:

  • Software solution architect with open source tools

  • Developing distributed applications

  • Troubleshooting

  • Concurrency and synchronization

  • Experience in cybersecurity

  • Streaming protocols

  • Experience with remote-work environments a plus

  • Ability to effectively communicate problems and solutions to the different team members

Skills:

  • Strong problem-solving skills, ability to think fast and thoroughly

  • Comfortable working in problem domain with a high degree of unknowns

  • Excellent communication skills

  • Secure Coding

  • Ability to analyze security on large scale systems

  • Designing, working with, and scaling distributed systems