Intro

By now, you’ve probably heard of the growing blockchain and cryptocurrency sector and you’re probably wondering how to get blockchain jobs. It seems to have turned the world upside down. As Bitcoin peaked at a price past $20,000 in late 2017, a mad fever seemed to descend on the whole technology industry.

With both Bitcoin and Ethereum pushing the sector forward with large partnerships, institutional money flowing in, and a wave of technical advancements, the sector is maturing. That brings entrepreneurial talent and demand for new hires.

New projects are now creating their own tokens to be able to raise money and hire teams to execute on their product roadmap. Now is a good time to examine blockchain jobs.

The difference between blockchains and cryptocurrencies

Before we get started, we have to define a few terms.

Blockchains are distributed blocks of data linked together by a specific set of consensus protocols, while cryptocurrencies are the tokens used to access services and applications built on the blockchains in questions. For example, you use the Ether token to access services on the Ethereum blockchain.

You can trade in tokens so they may increase or decrease in price as a function of the overall health of the blockchain they access.

In practice, a cryptocurrency startup will be focused on the value of the token and any underlying application and blockchain they build on top, while a blockchain startup will be focused on building or maintaining blockchains while not necessarily taking advantage of tokens for internal compensation or for fundraising.

This will matter when it comes to compensation, with blockchain startups geared towards conventional salaries and cryptocurrency startups offering slightly higher pay, and token grants to incentivize employees. There is a difference between blockchains and cryptocurrencies after all.

A look at the sector

Are there new blockchain and cryptocurrency jobs? What are the types of companies building products in the space?

Most blockchain and cryptocurrency startups have the same demands for different roles as your standard startup. Web development, product and design needs in blockchain and cryptocurrency are as strong as they are in any regular startup. There are now thousands of open job roles with different blockchain/cryptocurrency startups hosted on popular startups job site AngelList.

Consultancy firms working in the space have flagged a talent gap. Deloitte alone is looking to hire about 25,000 people who are familiar with the blockchain space. Developers can command salaries of over $220,000 USD.

There are currently 401 blockchain and cryptocurrency startups (as of July, 30th, 2018) hiring for full-time roles above $100k USD in compensation on popular startups site AngelList. Using the same search approach, about 800 cryptocurrency and blockchain startups are currently hiring for different roles.

A quick look at CoinMarketCap shows there’s about $200bn in market value in cryptocurrency as of August 2018. There are about 2,000 cryptocurrencies listed, many of them supported by a core company.

About 196 or almost 25% of all cryptocurrency startups on AngelList are hiring for a role that requires JavaScript skills. 55 or about 6.25% are hiring for digital marketing skills.

About half of all blockchain and cryptocurrency startups on AngelList have tagged themselves as being open to remote job roles.

This compares with the 30% average on AngelList of all companies that are open to remote roles.

Cryptocurrency and blockchain startups are on average almost twice as likely as your standard tech startup to accept distributed team members and remote job roles.

There are also some freelance roles in cryptocurrency and blockchains, with many workers in the space listed on platforms like Upwork. There are, as of August 2018, about 1000 freelancers listed with blockchain as a term.

In comparison to more established careers such as web development and data science, there are less absolute jobs. However, the sector and the jobs attached to it are growing rapidly.

Increasing numbers of cryptocurrency and blockchain startups use their own cryptocurrency tokens to compensate employees. Think of these as more liquid versions of startup shares, with more liquid markets where you can sell your tokens at different prices.

Why blockchain/crypto?

You might want to choose the sector and get interested in blockchain jobs because it’s growing and there’s higher compensation. You might also choose it because you want to upend traditional hierarchies.

You want higher-than-average compensation that is more liquid (albeit with quite some risk).

You want to learn about blockchains and cryptocurrencies

You want a flexible/distributed relationship with your work.

Sample job types

Designer

There is a need for designers throughout a crypto startup. They help with making any project look good with a consistent brand identity. They can ensure a great user experience and help the adoption curve of new crypto products come off flawlessly.

This job description from Crypto Jobs List and Messari help shows what a designer role at a crypto startup looks like.

Developer

There different types of software developers in crypto-land. You have the same web development needs as any tech startup would have. You also have a demand for people who are familiar with how to build blockchains or create smart contracts. These demands are often separated. You have developers focused on on-chain work that is more related to the blockchain and its specifics. You also have off-chain developers focused on standard web development tasks.

The above is from a job posting for a blockchain engineer. The focus is on Solidity development and on-chain work and writing smart contracts. Tools such as Truffle and Web3.js that are specific to the Solidity environment come into play.

Meanwhile, this role above is for more of a standard front-end developer role for a cryptocurrency startup. It’s much more focused on providing interface work for smart contracts rather than dealing with the on-chain contract work itself.

Software engineers will find plenty of blockchain jobs available to them, should they have the right mentality and the thirst to learn more about the sector.

Community Management/Investor Relations

Cryptocurrencies are marketed with the strength of their communities. Think of ICOs as a sort of Kickstarter for companies: the strength of your backing community and the network it forms largely determines how much you raise. Most crypto startups will have robust communities focused on Reddit, Telegram, Discord, Slack and traditional social media.

Community management roles in blockchain/crypto fall closer to a combination of customer support and marketing. Community managers play a critical role in the marketing of a cryptocurrency startup, both in terms of curating real use cases and in driving early investors or supporters to broadcast updates.

A subset of community management involves dealing with high-net-worth individuals who form the bulk of ICO investment, coming closer to investment management.

Marketing/Sales

ICO projects will often look at digital marketers to get growth going, both in terms of the whitepaper and product goals but also to get investor interest from the crowd.

As you can see with the sample job role, a lot of the marketing and growth work for cryptocurrency startups is related to community management.

In general, blockchain and cryptocurrency companies that are looking to get user adoption for their products will need growth marketers and salespeople to help. Blockchain technology is just one part of the fight — user adoption is another.

Compliance

ICOs and crypto startups have to deal with a whole slew of legal issues. One wrong move, and massive fees and legal issues will arise. There is often the need to hire legal help, whether internal or external.

This role above is an example of an in-house counsel role. A lot of focus is placed on legal issues specific to cryptocurrency, especially anti-money laundering regulations.

Sample companies

There are different types of blockchain and cryptocurrency startups you can work for.

There are startups that have created their own cryptocurrency and are building an ecosystem and products related to it. You might think of such startups as Request Network, Quantstamp and more. However, there are many projects outside of just name-brand companies. Every company that is raising money through an ICO is probably hiring.

There are startups that use a layer of cryptocurrency to help them carry out key parts of their business. The web browser Brave is an ads-free browser that uses its own cryptocurrency, Basic Attention Token, in order to compensate content creators and aggregators.

There are startups, companies, and organizations building their own blockchains or using different blockchains. An example of somebody building their own blockchain is the DFINITY project. There are also popular blockchains such as Stellar and Ripple.

There are startups building tools that make it easier for people to exchange, trade and secure cryptocurrencies such as cryptocurrency exchanges like Coinbase, over-the-counter trading tools such as Circle, and cryptocurrency portfolio trackers like Blockfolio. There are also people providing financial services in cryptocurrencies — funds such as Polychain Capital.

Conventional companies like IBM are looking to hire blockchain engineers to help them understand the space.

Finally, there are accelerators or holding companies that co-own multiple cryptocurrency or blockchain ventures and act as a supervising entity. The largest of these is probably Ethereum-based ConsenSys.

Locations

Most cryptocurrency roles are in certain hotspots: Singapore, San Francisco and Zug Valley in Switzerland, for example.

Distributed teams are a force for cryptocurrency startups, with half of all cryptocurrency startups willing to hire for remote roles.

You can work for cryptocurrency startups remotely or on contract without having to move through different borders. This is a fitting extension of a technology that aimed to lower borders for transactions of value.

You are as likely to work in your own home as in an office located in a cryptocurrency hotspot.

Skills/knowledge needed

The standard startup skillset is essential for blockchain jobs. The archetypes of design, development, and business (hipster, hacker, and hustler) shine through.

There is a lot of demand for people who have experience building production-level blockchain projects because it’s a very rare skill set. The ability to work on blockchain projects outside of the Bitcoin Core team has been relatively new. It came with the explosion of Distributed Apps and Ethereum-based applications.

The more experience developers have with different blockchains, the better — as the blockchain space is highly volatile, with different blockchains iterating and developing and some vanishing off the map entirely. It makes it much easier to get blockchain jobs if you have exposure to different blockchains.

You’ll often have a combination of C++/Golang experience for blockchain development, and if you’re working with Ethereum-based DApps (distributed apps), you’ll likely need your standard JavaScript toolkit (the MEAN stack, with Node.js as a back-end) as well as knowledge in Solidity. Other languages are present (for example, the Python-based Serpent for Ethereum development) but C++/Golang and JavaScript/Solidity are the two main skillsets in demand. The standard software development stack often prevails, with blockchains such as Bitcoin residing on Github.

On the business and marketing side, those who have had effective experience running paid ads, and creating organic communities will fit right in. However, cryptocurrency marketing comes with an additional landmine of paying attention to legal and compliance issues. There is a sweet spot for customer service/community management types who can corral the vast organic communities most cryptocurrencies sport on Telegram, Reddit and Discord.

Designers are needed for constructing interfaces and what are called “off-chain” applications. In many ways, most blockchain and cryptocurrency startups have the same need for interface designers as your standard tech startup — so there are plenty of blockchain jobs for designers.

Resources/learning paths for skillsets/knowledge

I’m going to split out here curated learning paths on two dimensions, one focused on the business side of cryptocurrency, the other on the technical part. We’ll have a curated set of learning resources for both.

This will make it easier for you to have specific knowledge and examples of the biggest problems encountered in both blockchain and cryptocurrency and help you get a handle on what blockchain jobs require.

Business/non-technical

Introduction to blockchain and cryptocurrency

The Crypto Canon is venture capital firm Andreessen Horowitz (a16z)’s effort to curate some of the best articles on blockchain and cryptocurrency. It goes from building blocks and basics to developer tutorials.

This article by Vitalik Buterin, Ethereum’s creator, helps explore what is really meant by decentralization — and helps tease out the differences between centralization on an architectural or technological basis, and centralization in a political structure.

This slide deck talks about why governance itself is important, before also breaking down what makes blockchain governance so different from traditional models of governance.

Privacy

Blockchains are pseudonymous by default. Wallet balances are public but not who owns the wallet. They are not completely private unless that is deliberately designed. Anybody who can track down the identity behind a Bitcoin wallet can trace their every transaction. This was how the FBI seized Silk Road’s assets.

This article discusses how privacy on the blockchain is an uphill battle and suggests a few key weaknesses in the privacy approach of most bitcoin users. It then suggests a few solutions that might help.

Using alternatives to Bitcoin can address privacy concerns. ZCash, a cryptocurrency focused on using zero-knowledge proofs to guarantee privacy writes about how it can prove something is valid without revealing any information about it: the basis of a truly private blockchain.

Scale

Another major issue is scale: how many transactions per second a blockchain can process. This becomes a major issue as Bitcoin or Ethereum surge in usage but cannot support the number of transactions. Ethereum can process about 13-15 transactions per second, but Visa can process up to 56,000 transactions per second. Looking through how to bridge this gap is an important problem.

The Lightning Network is a solution to Bitcoin’s scaling problem. This article talks a little bit about the mechanics behind it and helps explain what exactly a specific solution to a scaling problem (even if it’s off-chain) looks like.

Trade

If you want a guide to how to think about cryptocurrencies and get in the position to trade with them practically, this guide, while behind an email wall and targeted mostly to wealth advisors, can help you with a broad overview. Note that the author of this piece isn’t making investment advice here and is, well, me.

Programming/technical skills

This handy tutorial dives into how you can use Golang to quickly get up a prototype blockchain, helping you to understand the basics needed here. It’s a handy way to dive right into the blockchain industry.

CryptoZombies is a game that will help you learn Solidity interactively. It remains to this day of my favorite resources to onboard people into the language.

Long-term view on the sector

Most people compare what is happening to the blockchain and cryptocurrency space to the first Internet bubble. There may a ”mania” right. That creates a more sobering long-term view on cryptocurrency and blockchain.

One interesting difference between cryptocurrency startups and regular ones are the difference between being accorded stock options against more liquid tokens. In practice, the CEO, investors, and board of directors have much more control over standard startups and employees.

The retention of employees in standard startups (bad) might look stable compared to crypto startups that give their employees liquid tokens they can cash out immediately.

One of the biggest strengths of the cryptocurrency boom, the pulling-in of a wave of talented employees with above-average compensation, might come to a screeching halt when things turn sour. This is something to keep in mind as you’re looking for blockchain jobs.

As more and more entrepreneurs start trying new crypto startups as a way to raise funding, there will be more talent focused on the sector. However, as crypto prices fluctuate, the sector becomes unstable. Lots of thought needs to be placed on how this affects the broader economy and jobs in cryptocurrency and blockchain.

Job boards

Job boards for cryptocurrency jobs and blockchain jobs are under development: here are some good ones:

The path to blockchain jobs

The way you get blockchain jobs and cryptocurrency jobs is often network or referral-based. You may need to know founders of crypto projects to get in. It’s also possible to get in by applying on AngelList or going to cryptocurrency and blockchain events.

If you’re here, it’s likely because you’ve heard about Solidity and blockchain development. You’re probably looking to get involved and build your own DApps and you’re looking to learn solidity. This resource is the perfect place to get you started if that’s the case.

First let’s stop off with a primer about Solidity: the what of it, the why, and then what of what you can build with it. If you want to skip ahead to the resources, feel free to click here.

What is Solidity?

We have to start here with the concept of blockchains, immutable, distributed datastores that are verified by a network of actors rather than one centralized source. Bitcoin is the most famous example of this technology and its first widely adopted application.

The genesis of Solidity comes from the simple realization that while Bitcoin is a highly secure blockchain, it was not very scalable both from a technical sense, but also from a community development sense: people had to either create entire new blockchains or fork into the existing chain to create new innovations or iterations.

Solidity is the programming language associated with Ethereum, a blockchain that aimed to have developers iterate on top of it: the Ethereum blockchain aimed to provide a more complete platform where developers could dictate more of the logic behind what data and payments get recorded on the blockchain, and which do not. Solidity is the programming tool that makes that possible.

Ethereum rests on the principle of decentralization: as with other blockchains, there is no centralized data storage that declares a certain state for the entire system. Data and the state of the system flow through a series of decentralized nodes that can be run on a number of different servers. For example, you could run an Ethereum node on your PC, and it would form part of a collective amount of computing power dedicated to sending and verifying data on the Ethereum blockchain.

In technical terms, the Solidity language is Turing complete (meaning that it is a general-purpose programming language similar in functionality to JavaScript and that you can program for loops, if statements and more and benefit from object inheritance and function modifiers), and it’s a contract-based language oriented around Python, JavaScript and C++ concepts meant to be executed on the Ethereum Virtual Machine. It is a high-level language that abstracts away many fundamental memory and space problems so as to allow programmers to easily build their own DApps.

Why Solidity?

Solidity is a language that compiles with the Ethereum Virtual Machine within each Ethereum node — you can think of the EVM as a Solidity compiler. It comes with a set of conventions and global variables (such as msg.sender, indicating an Ethereum address that triggers a function) that can make your life easier, and it’s easily plugged into web3.js, an API that allows you to interact with common JavaScript web frameworks such as React.js. It is, in short, the easiest way for you to create Ethereum wallets and embed them in your apps (allowing you the ability to transact monetary value in your functions).

While there are other Ethereum programming languages (such as the more Python-based Serpent), Solidity is the most popular one with the most documentation out there so far. You’ll be able to access complementary libraries such as those offered by OpenZeppelin and utility tools such as Truffle. If you want to build something with Ethereum, or you want to monetize your functions or build your own token, you’re probably going to end up using Solidity.

What can you build with Solidity?

You might have heard of smart contracts — you’ll be able to build smart contracts that execute different functions with Solidity. This will allow you to write data to the Ethereum blockchain or to receive or send Ether when people trigger different functions. Think of it as integrating a wallet directly in your code.

An interesting limitation you’ll have to deal with is that function calls are correlated to gas price within the Ethereum blockchain, meaning people will pay to execute functions on your platform. This is something you’ll have to keep in mind as you scale out new applications — the monetization of your functions can be a double-edged sword.

Onto real-life examples, you can build your own token according to the ERC-20 standard and start distributing it for initial coin offerings. You can create your own game that might go viral (such as CryptoKitties). You could even create your own decentralized exchange for buying and selling other tokens such as the people behind Etherdelta have done. You can build any number of Ethereum Dapps. The possibilities are there for you to explore once you understand the technology.

Ok, what are the nine resources you promised?

Fair is fair. If you’ve made it this far or clicked through all the way down to the bottom, you’re probably looking for the resources I promised you to help you learn Solidity and different Solidity tutorials.

Here they are, in the order for which I think it makes sense for you to consult them.

You’ll want to start off with a general overview of Ethereum, different blockchain concepts, and a feel for how Solidity can fit into that framework. This compilation of resources can certainly be helpful in that space and help flesh out the context of the space you’re getting into when you start building smart contracts. You’ll be able to see and get inspired by the vast potential of what has been done with smart contracts — and what you can do with them in turn.

Next up, you’ll want to set up an Ethereum node yourself. This is useful for local testing of the apps you build but also, in a greater sense, provides you with the bridge you need to be part of the Ethereum community. The guide in question links out to a section where you can install an Ethereum node under different operating systems — it also contains sections dedicated to other aspects of Ethereum you may find interesting, including the mining mechanism for it.

This guide on Ethereum concepts can help you really understand the promise of Solidity and how you can extrapolate your thinking about web concepts into development for blockchain.

It also allows you to separate out the differences between centralized and decentralized datastores and how you should conceptually think about the programming logic for either.

The guide then moves onto a free tutorial (though the rest of the site offers paid lessons) on how to build a ballot voting system in Solidity that is much better than any “Hello World” tutorial could be in terms of getting you started on your path to learning Solidity.

This guide offers you yet another text-based case study for creating something in Solidity — this time though, you’ll be able to get an overview of how to build a web app in conjunction with Ethereum functionality.

Think of this as a case study upon which you can layer the Solidity concepts you’re learning and put them into practice. It will also teach you how to build a development environment for Solidity apps so that you can build your own smart contract and iterate on it in real-time without the fear of breaking anything as you learn Solidity.

This resource from ConsenSys, an accelerator based on powering different teams working on Ethereum-based projects helps you define more of the meta-thinking behind Ethereum smart-contracts.

It will help you design smart contracts and tailor your learning around best practices that will keep your contracts performant and secure as you learn Solidity — highly desirable factors in an emerging tech ecosystem that is often in flux.

This handy game helps explain Ethereum functions in more depth and will help you learn Solidity — you can learn interactively by building your own version of CryptoKitties (CryptoZombies) — as you go through, you’ll be able to explore, among other things, function creation, function calls and modification, how to implement standard programming language such as assert and if statements, the different data types within Solidity, how to make objects inherit from one another, how to return data and finally, how to determine who can securely access and trigger different functions within your code.

With this web browser based compiler for Solidity code, you can experiment with different contracts and different functions cheaply, seeing what compiles properly and what doesn’t right off the bat. It’s a great, experimental way for you to learn Solidity and practice with it.

Consider it a fun sandbox for you to test different functions, similar to what JSFiddle provides for JavaScript, and your first line of validation and defense against improperly built code. It can also serve as the easiest way for you to experiment and build things in a sandbox setting you might not want to deploy.

Finally, the last resource is the Stack Exchange forum for Ethereum and Solidity questions — a solid resource for you to consult and to pose questions as you’re stumbling around as a beginner, and a community you can give back to once you’ve practiced and built different things with Solidity.

—

I hope this guide is helpful to getting you started in your Solidity programming journey. If you want to join a newsletter packed with cutting-edge resources for how to learn new technology skills and maximally leverage them for a meaningful and socially impactful life, look no further than mine.