Skip to content

shovelers/interview_challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Shovel Company Open Interview Challenge

Our goal with this challenge is to make our hiring process accessible to people who have the knowledge and passion to build in this space, but who either:

  • would rather just cut to the chase and show us they can build this stuff, or
  • don't have on-paper resume experience

Goal

We want to see that you're capable of doing the stuff you'll be doing when you join our team.

Our team is building a peer-to-peer network.

It's important that you be able to:

  • read and write code in a peer-to-peer codebase,
  • understand the peer-to-peer landscape,
  • read and internalize research papers.

We want to see that you're passionate about this area of research and are capable of turning that passion into product.

Challenge

Design and implement a p2p protocol.

It can be anything, from a social network to a file sharing app.

It can be as elaborate or as simple as you want.

You can build a solid core and talk about how you'd evolve it, or you can build a full stack.

You can create a full experience or design a collection of building blocks that would enable a peer-to-peer experience.

You can pull in some libraries that do the heavy lifting for you and focus on demonstrating you understand what those libraries are doing and how to vet projects in the existing peer-to-peer landscape.

You can write a paper proposing a novel protocol, along with a proof-of-concept.

Make sure you clearly define the goals of your submission, articulate your decisions, and tell us why you have faith in your implementation or proposal.

Languages

You can use whatever language you want, but it's important that you write clear and readable code in whatever language you choose.

The less familiar our team is with your language choice, the less you can expect us to understand idiomatic patterns, so place comments explaining the decisions you make.

Our team is most familiar with Ruby, Typescript, JavaScript, Go, and Clojure.

Inspiration

We'd recommend taking a look at one or more of these papers before diving into an implementation:

You might also find libp2p useful.

If you know of better papers or projects, feel free to ignore this list and use your own.

Limits

A submission is not a guarantee of being hired, do not invest any more time in this than you'd be willing to invest if you receive a "no."

If you're already a master of your craft, putting together something quick with a writeup of how you'd evolve it is sufficient to get on our radar.

If you self-identify as a growth hire, but are passionate about ramping up in this space, spend some time growing on this project. Prove you can learn quickly and build. A decent submission with a description of what you've learned and internalized while building is sufficient to get on our radar.

Questions

Any queries or doubts, drop by #shovelling-challenge on our discord The point of contact for this process is Prashant Mittal, he can be reached at: [email protected] & on the discord

Submitting

To submit your solution package it up, along with any documentation and commentary, into a tar.xz and upload it to IPFS.

Email us the CID at [email protected]

Reference

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published