Bitfinex
Remote Lead Mobile Developer (P2P applications)
- Contract type: Full-time
- Location: Remote
- Salary: Based on experience, be prepared to communicate your requirements
Project Description
We are creating a new team for researching, designing, and developing a platform that leverages peer-to-peer networking to create an independent alternative digital economy where users can operate in a self-sovereign, user-centric paradigm.
This new remote team is creating a platform that is designed to simplify the design, development, and deployment of novel peer-to-peer applications. These applications must operate with high performance in diverse environments, such as native desktop apps, web browsers, and mobile (iOS/Android) devices.
You will be part of a dynamic, multi-faceted team, and will have the opportunity to shape the direction of the mobile component of the platform.
Job Description
Over the next year, we plan to gradually add support for a peer-to-peer networking protocol on both iOS and Android devices. You will be the lead developer for this project. As the lead, you should have considerable experience with iOS/Android's capabilities and limitations, a low-level understanding of platform internals, and ideally you'd have spent some time managing a technical team.
You won't be building a "standard" mobile app; our development process will involve porting over our networking protocol, which is currently a mix of Node.js and C, so if you have experience writing native code for mobile (such as with the Android NDK) and with the internals of mobile JS runtimes (like React Native), all the better.
The ideal candidate will have the ability to demonstrate "out of the box" thinking with regard to iOS/Android development. You will take ultimate responsibility for supporting low-level networking protocols on both platforms, and as such must have a deep awareness of the unique constraints (battery, data usage, background process limitations, etc.) presented by both platforms.
Responsibilities
- Work alongside Product, Design and Marketing to build a world-class mobile peer-to-peer platform
- Clearly and openly communicate detailed, well-motivated technical decisions to Product and Design. This will involve creating thorough design documents.
- Adhere to and participate in creating a multi-year roadmap for the mobile platform in accordance with company strategy and vision
- Discover, prioritize, and write requirements for new product features as new capabilities are added to mobile devices, or as constraints are removed
- Assist in discovering, hiring, and managing additional mobile developers as the project progresses during our multi-year roadmap
- Assist in showcasing functionality to stakeholders (e.g. marketing and support) as deliverables are finished and features are prepared for launch
Requirements
- Previous working experience with React Native or as an mobile (iOS/Android) software developer for 5+ years
- Prior experience developing, extending, and maintaining a software project that makes extensive use of low-level networking technologies (TCP/IP/UDP)
- Prior experience developing, extending, and maintaining a mobile application that demonstrates "out of the box" thinking with respect to the constraints of mobile devices and their SDKs
- Experience working with peer-to-peer protocols is desired, but is not a fundamental requirement for the role
- Excellent time-management and organizational habits, and the ability to develop these habits in the teams you join.
- Self-starter attitude, strong problem solving skills and sense of responsibility.
- Strong communication skills, and the ability to produce thorough technical documentation progress reports, with an aim to improve decision-making on business strategy and product development.
- Comprehensive understanding of project management methodologies and best practices, and experience implementing fast-moving, large teams.
- Ability to quickly comprehend new technologies
- Interest in guiding a product from its current state as an MVP through to maturity
- Agile mindset to improve iteratively, rather than placing big long term bets