Protocol Labs

Software Engineer, Lily

Protocol Labs

Remote job description

About Protocol Labs

Protocol Labs drives breakthroughs in computing to push humanity forward. Protocol Labs is a product-development lab, but behind the protocols and tools we build, behind the research and implementations, are passionate people, teammates, and community members. Most teams in the Protocol Labs Network are fully distributed and work remotely around the world. Engineers, researchers, and operators work in the open to improve the internet ?" humanity's most important technology ?" as we explore new advances at the intersection of many exciting fields (crypto, networks, distributed systems) and cultures (startups, research, open-source, distributed work).

Lily

Filecoin, a decentralized storage network to store humanity's most valuable information, is one of the most promising projects of Web 3.0. In the year since its launch, over 17 exabytes of storage have been pledged to the Filecoin network, which is proven and verified by each node operator every single day. As we look forward, many challenges remain to be solved such as continuing to scale the network, allowing user programmability through the addition of a Virtual Machine, and implementing cutting-edge ideas coming from the latest in cryptographic research.

One such challenge is inspecting, monitoring, and visualizing the state of the Filecoin network at different points in time. Lily is an ETL pipline for monitoring the Filecoin Network in real-time, and makes the data it collects publicly available. We seek to empower users to run their own lily or consume the data it produces. Some users of Lily include https://www.starboard.ventures, https://www.glif.io, https://6block.com/en, and https://block.science

As part of the NetOps team this will help grow adoption and growth of the decentralized Internet by building software infrastructure for implementation of the Filecoin, IPFS, and protocols, and operating them as services that can be consumed in a secure, reliable, and scalable manner. We succeed through team work, favoring simplicity over sophistication, and fostering a sense of community.

Opportunities

  • Work with Senior Engineers and the Open Source Community to develop Lily: A service for monitoring the health and function of the Filecoin Network.
  • Design and implement novel ETL processes for extracting real-time data from the Filecoin Network. Your work will aim to answer questions like:
    • What are the Block and Message propagation times from different geological regions of the world and solar system?
    • Who are healthiest Storage Providers (SP) on the Filecoin network?
    • What is the ROI for Storage Providers?
    • Where and with whom are Filecoin Deals stored?
    • What is the capacity of the Filecoin Network and what rate is it growing at?
  • Implement reusable solutions for monitoring smart contracts running on the FVM.
  • Interface with the Open Source community to implement and own features that increase visibility into the Filecoin Network.
  • Work with cutting edge Byzantine Fault Tolerant (BFT) Protocols including Expected Consensus and Hierarchical Consensus to implement features for visualizing and inspecting their execution.
  • Work alongside a cross-functional team including software design & development, product management, and ecosystem engineers. Provide technical guidance, support, and best-practices to stakeholders across the PL Network (inside/outside the org).

Qualifications

  • Mastery of fundamental software engineering practices: testing, debugging, automating, refactoring.
  • Excellent communication skills on both technical and non-technical issues
  • A keen awareness of teamwork, process, and patterns of successful collaboration
  • Excellent written and verbal communication skills
  • +3 years experience with the Go programming language
  • +2 years experience with Relational Databases such as PostgreSQL, MySQL, SQLite (Bonus points if they have experience with TimescaleDB)
  • +1 years experience working in distributed systems:
    • Peer to peer networking and computing.
    • Strong understanding of the Actor Model Design Pattern.
    • Familiarity with smart contracts is a plus, but not required.
  • Bonus Points (not required but things to look for):
    • Building/Designing ETL systems
    • Grafana
    • Observable/Jupyter Notebooks
    • OpenTelemerty/Distributed Tracing
      • Opencensus, OpenTracing
    • Advanced Message Queuing Protocol (AMQP)
      • Redis, RabitMQ, Kafka
    • Experience working remotely in a distributed team.
    • Experience with Open Source Software.
    • Being accountable for operational support based on an on-call rotational model.

#LI-CU1

What's it like to work at Protocol Labs?

Protocol Labs' mission is to improve humanity's most important technology, the Internet. We build protocols, systems, and tools to improve how it works. Today, we are focused on how we store, locate, and move information. Our projects include IPFS, Filecoin, libp2p, and more.

As a distributed team, we hire anywhere in the world, and at various levels of experience (entry, senior, staff). We look for people with unique perspectives and diverse backgrounds.

We have a great benefits package, including parental leave, contributions to your retirement, competitive pay, and unlimited time off. For U.S.-based employees, we also provide platinum-level health, dental, and vision coverage for you and your family.

If you're passionate about the future of computing and a more democratized internet, we want to talk to you.

GDPR for Job Applicants and Candidates

When you apply to a job on this site, the personal data contained in your application will be collected by Protocol Labs, Inc. ("Protocol Labs"), which is located at 427 N Tatnall St #51207, Wilmington, Delaware 19801 and can be contacted by emailing legalrequests[at]protocol.ai. Protocol Labs' data protection team can be contacted via legalrequests[at]protocol.ai. Your personal data will be processed for the purposes of managing Protocol Labs' recruitment related activities, which include setting up and conducting interviews and tests for applicants, evaluating and assessing the results thereto, and as is otherwise needed in the recruitment and hiring processes. Such processing is legally permissible under Art. 6(1)(f) of Regulation (EU) 2016/679 (General Data Protection Regulation) as necessary for the purposes of the legitimate interests pursued by Protocol Labs, which are the solicitation, evaluation, and selection of applicants for employment.

Your personal data will be shared with Greenhouse Software, Inc., a cloud services provider located in the United States of America and engaged by Protocol Labs to help manage its recruitment and hiring process on Protocol Labs' behalf. Accordingly, if you are located outside of the United States, your personal data will be transferred to the United States once you submit it through this site. Because the European Union Commission has determined that United States data privacy laws do not ensure an adequate level of protection for personal data collected from EU data subjects, the transfer will be subject to appropriate additional safeguards.

Your personal data will be retained by Protocol Labs as long as Protocol Labs determines it is necessary to evaluate your application for employment or to assist in the hiring process. Under the GDPR, you have the right to request access to your personal data, to request that your personal data be rectified or erased, and to request that processing of your personal data be restricted. You also have the right to data portability. In addition, you may lodge a complaint with an EU supervisory authority.




Summary
Company name: Protocol Labs
Remote job title: Software Engineer, Lily
Job tags: Golang, quality assurance

Share or copy

Job alerts