Last month, LinkedIn published a list of the most in-demand skills for the new year, with blockchain leading the top-ten list. In 2019, blockchain didn’t make the list at all. Blockchain also ranked as the most in-demand skills in the United States, the United Kingdom, France, Germany, and Australia. It’s a skill sought in big enterprises like IBM, Oracle, and Deloitte, as well as plenty of startups (over 100 in Berlin alone).
Of course, using the term blockchain as a skill is as vague as saying IoT or Edge computing. The roles can be as expansive as any in tech from developers, engineers, coders, analysts, business managers, etc. But if you are a developer and interested in blockchain, let’s take a look at how you can break into this sector.
Where the heck do I start?
It’s worth getting an understanding of cryptocurrency and blockchain before you get into the skills needed to apply for jobs. How were they created? What do they aim to achieve? What are the current use cases?
Read some whitepapers, learn about the underlying principles and economics, set up a wallet and buy some cryptocurrency. Take a deep dive into smart contracts and distributed applications (DApps). While there can be a steep learning curve initially, before you know it, concepts like private and public keys, digital signatures, proof of stake, and proof of work will become clear.
It’s highly likely that you already have a solid base of skills that you can build on, that combined with a decent amount of understanding into blockchain will carry you well – especially if you can demonstrate your understanding and knowledge – volunteer projects, a GitHub repository, finding bugs, these all help.
What programming skills are required?
There are numerous blockchain development platforms today that are helping businesses and developers build new blockchain applications and invent new use cases with the technology.
There is no single language for developing on a blockchain. Different blockchain platforms and tokens are built with different languages. For example:
- Bitcoin – uses C++
- Ethereum – uses Solidity and Vyper for the development of smart contracts, and has SDKs in many languages for the rest of the Dapp
To be clear there are two distinctions worth understanding: developing a blockchain vs developing for a blockchain (such as DApps). If building a blockchain you have to know about security, high performance, cryptography, consensys algorithms, distributed computing. For developing on the blockchain – it really depends on what you are building, usually, a smart contract just handles transactional logic for example.
Beyond that, it really depends on what best compliments your existing skillset and captures your interest. You probably already have some great fundamentals: HTML, CSS, NodeJS and database storage will always be in demand. Security-first is essential, as smart contracts are prone to vulnerabilities and exploitation. Many more complex DApps still need to use existing storage options for performance reasons.
The tasks of a developer working in the blockchain space may include:
- Designing blockchain and consensus protocols, security patterns and network architecture
- Building decentralised apps including smart contracts and the entire stack running their Dapps.
- Creating interactive graphical user interfaces for Dapps
- API handling, and request handling.
According to Chris Ward, who works for the Ethereum Foundation and Kauri, the best thing about being in the blockchain space is getting to create new tech paradigms:
“You are defining new best practices and paradigms. You attempt to break apart the traditional promise of centralised computing.”
What Kind of Roles are Available?
As you can see from these excerpts from roles advertised, the blockchain developer space is broad and encompasses a diverse range of skills, competencies, and interests:
QA – Blockchain
Senior Blockchain Developer
C++ developer at Ethereum
Deep dive into the resources
One of the great things about blockchain technology is that you can hit the ground running with a plethora of (mostly free) resources including tutorials, videos, webinars, and training.
- Coursera and Edureka over dedicated training into the fundamentals of blockchain tech and the underlying principles
- You can access free bitcoin developer tutorials
- Hyperledger offers extensive resources and there’s also an Introductory course at EdX by the Linux foundation
- Kauri can guide your knowledge from beginner to advanced
- For hands-on learners, you can learn to make smart contracts in Solidity by making your own crypto-collectibles game.
- You can also contribute to open source projects which attach bounties such as Gitcoin.
Find your people
The best way to learn is through doing, and connecting with others with interests in blockchain. Approach with a beginner’s mind and be wary of imposter syndrome. Talk to people on Reddit, Slack, and Git. Every week there are events, meetups, conferences, and webinars. All you need is time and interest.
Conceptually, blockchain is an emerging discipline and the use cases and technologies are ever-evolving. It moves fast with some unpredictability. But if you possess a genuine interest and a willingness to learn, you might just find the most rewarding career of your lifetime.