Thinking of joining a cryptocurrency startup? Here are projects they will have you (a full-stack engineer) work on.

tl;dr: You will work on more projects touching more areas than traditional SaaS companies.

Disclaimer: I worked with a Cryptocurrency company for around a year and a half. I started out in IT/DevOps, then transitioned to backend/frontend react, and finally landed in Mobile Dev and Mobile CICD.

Cryptocurrency companies are plentiful in the Bay, and they are short-staffed.

This is not 200 jobs, this is 200 pages of 12 results per page = 2400 listings.

Read on if you are applying for one of these startups (<50 engineers):

You have 3–5 years of experience as a startup full stack engineer (which means you have experience with production support)

You can learn most APIs, languages and syntaxes in a weekend or two. This job will require this.

You can juggle multiple ongoing projects at the same time.

Here are the projects you will check out and work on at the company.

Project #1 — The core blockchain full node

Blockchain networks are made up of nodes. They hold on to a copy of the data structure which store transactions between addresses in blocks. Common full node programs include:

Geth — Ethereum’s Go client which can join the network/mine coins/send and receive transactions/deploy contracts.

Bitcoin Core — The first full node client that bitcoin.org recommends

Hyperledger — Private blockchain that can be used between multiple parties

Unless you are assigned to the core team, you usually do not need to understand the actual implementations at a deep level. But, you will be expected to learn how to interact with full nodes. This is usually done via RPC calls. You can read about them here:

It is important to know that most frameworks and toolchains will make use of these protocols under the hood.

Project#2 — The company’s public facing site and developer portals

If the company claims to be Ethereum or bitcoin based (using the same JSON RPC api protocols), chances are that they have introduced new APIs in their full node implementation. If you join them early enough, they will definitely go through multiple iteration on the main marketing websites.

This main site will show at a minimum these elements:

White paper of the block chain implementation

News: whether the projects are mature enough to launch yet, or if the particular cryptocurrency is listed on a market for trading somewhere.

Events: giving talks/meeting developers

Team: Who the founders/research scientists are

Links to developer documentation portal, which contains tutorials on setting up the toolchain.

Links to the block explorer (we will look at this one in the next section).

The platform they will use to make these sites:

Wix

Wordpress

Docusaurus

Any static site builder/hosting places you can think of.

Project#3 — The block explorer

Once the forked blockchain is mature enough to release to TestNet, your company will look into building (or hiring someone external to build) a block explorer, which is responsible for showing blocks and transaction information in website form.

This program is made of at least 3 components:

ETL — A scraper program that reads blocks/transactions/smart contracts information from the full node using either binary api or JSON RPC api. It will save these into the database.

Backend/API — A program that will serve up single/aggregated blocks/transaction information.

Frontend — This is a static site built with popular web frameworks that will hit the backend for the latest information.

The most popular blockchain is perhaps etherscan

Similar Web is a good tool for finding ranking and traffic number.

Monthly traffic for etherscan.io

The block explorer is the second website that general public will visit if they are interested in a blockchain project. Most won’t jump into the deep end of reading API docs. This site will have to be performant and up to date. It directly impacts how the blockchain itself is perceived in terms of availability and speed.

Project#4 — In browser wallets/managed wallets/A new browser

Remember that a running block chain is made of blocks, which contains transactions. Each transaction contains the following information:

From address

To address

Amount to send (Ethereum/Bitcoin/ERC-20)

Extra data

Nonce

Signatures to verify that sender is who they say they are (without this, everyone would be able to pretend they are the owner)

A software wallet is any program that allows the user to send transactions described as above.

For average consumers, the most common wallet they will come across is MetaMask (for ethereum and derived blockchains). Once installed, they can do several things:

Generate wallet addresses.

Send cryptocurrency to any address (to their own wallet, other people’s wallet, and smart contracts).

Look up balance.

Check if transaction has been processed by the blockchain yet (Each send are not immediately processed)

New companies will use multiple approaches to get user adoption on wallets:

Use Ethereum compatible RPC api, and try to get listed under MetaMask.

Fork MetaMask, or make their own browser extensions.

Make their own wallet portal (with frontend/api backend).

Fork chrome and put their wallet implementation into the browser itself, like Brave

Project#5 — Smart contracts and tool chains

It was Ethereum which popularized the notion of storing byte-code in the blockchain, so that when you send transactions to those addresses, the blockchain will run instructions, which can result in conditional balance transfers and/or interact with other programs.

For companies that are Ethereum-based, to make the claim that their blockchain is programmable, they will support deploying smart contracts and provide tutorials.

For Ethereum, the most popular language is:

Tools that company will have to provide:

An editor for the language, with syntax highlighting — https://remix.ethereum.org/

A compiler which will translate the language into the bytecode to store inside the blockchain

Ways to deploy/manage migration for contract bytecode, the popular tool in this area is Truffle

Not to mention separate documentations for each, and keeping them up to date with the reference Ethereum implementation (the bytecode can change over time, adding/deprecating more features)

More type of crypto company projects in Part 2

Working in the Crypto space is no cake walk. The compensation is not bad compared to regular software/service/app companies, but at the same time you will be required to understand many more conventions, ecosystem, and tooling.

My recommendation for considering to join crypto startups is:

Read up about it to gauge the workload. You will be busy if you consider yourself a fast learner.

If you are interested in learning about the whole ecosystems, Crypto has their fair share of tooling and projects.

If you don’t plan on working in the space for long term, there may be better spaces you can pursue, to re-use the knowledge in future companies. Skills like Artificial intelligence/Big Data/Cloud infrastructures.

If you are interested in cloud infrastructure experiences, Crypto can provide those experiences, because all of the projects above besides developer tooling will involve in code being deployed and running in the cloud. However, you can probably get similar experiences at most web companies when they are early and do not yet have a dedicated Ops team.

I hope you enjoyed reading about these type of projects, because I have more to share in the next article!

If you got a question about cryptocurrency (ethereum based), feel free to ask here or at info@teamzerolabs.com