DFINITY is reimagining the public blockchain world with its advanced Internet Computer blockchain. DFINITY is developing a mobile Web app that allows people to prove their personhood, i.e., prove that they are humans and not robots. This app will help strengthen democracy for the Internet Computer by preventing bots acting as humans. The app will be used on iOS and Android mobile devices and will connect groups of up to 4 people with audio and video using peer-to-peer WebRTC via STUN and TURN servers.
We are looking for an expert who is highly proficient in the area of WebRTC in Web-based peer-to-peer applications on mobile platforms to help us bring the Web app to the market quickly. The main responsibility of this consulting engagement is to ensure the reliability of the solution across many different browsers, WebRTC implementations, mobile platforms and network conditions. Substantial experience in the peer-to-peer WebRTC domain is a prerequisite. Particularly, applicants should know how to navigate the pitfalls in the mobile operating systems and platforms that lead to reliability issues with audio and video streams. Prior experience working on similar systems with multiple devices connected in a peer-to-peer manner via WebRTC using STUN / TURN servers is required. In this role you will be working with a great team of cryptography and formal methods researchers and Web app and backend developers in the exciting field of blockchain technology.
- Deep knowledge of mobile Web application programming and architecture.
- Substantial knowledge of peer-to-peer WebRTC Web app technology on mobile platforms (Android, iOS).
- Substantial knowledge of how to navigate the various problems and platform limitations with WebRTC Web app implementations on the iOS and Android platforms, including the well-known and less well-known bugs in the platform implementations. Knowledge of the platform-specifics related to WebRTC Web apps is crucial for this role.
- Hands-on experience in the domain of mobile WebRTC peer-to-peer Web apps by having built or made major contributions to an app with similar challenges we have.
- Experience with the communication patterns used in this app (e.g., peer-to-peer, server-relay).
- Knowledge of the various protocols involved: WebRTC, SDP, STUN, TURN.
- Knowledge of how to exchange WebRTC signaling messages.
- Problem solving skills, particularly for tracking down and fixing reliability issues in mobile peer-to-peer WebRTC Web applications.
- Knowledge of distributed systems and related theory.
- Knowledge of the simple-peer or PeerJS libraries.
- Knowledge on automated testing of such applications, particularly the reliability of the audio and video connections on different combinations of mobile platform versions.
All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.