Business
How to Become a Blockchain Developer
Blockchain development is one of the most in-demand skills today but it’s not as simple as just rocking up to an interview; you need to know your stuff.
In 2019, the demand for blockchain developers soared by 517%. LinkedIn listed blockchain developers as one of its most in-demand skills for 2020. This means that the average base pay of a blockchain engineer is $92,000 thousand and can go as high as $134 thousand on average.
With investors bullish on cryptocurrencies generally and with Bitcoin smashing the $19 thousand barrier, demand for developers has gone way up. This offers big opportunities for anybody with the right skillset.
How Are Blockchain Developers Different From Ordinary Developers?
Blockchain developers need the same foundation in computer science and IT that any other developer has. But that alone isn’t enough. Anybody serious about becoming a blockchain developer needs to understand the interplay between data structures, cryptography, and networking — the underlying technical infrastructure of most crypto projects:
- Data Structures: Blockchains are distributed ledgers, or a network of replicated databases. In order to build or maintain a blockchain network you need to understand how common data structures, like hash maps or binary search trees, function. Many companies will be ecstatic if you can build them from scratch.
- Cryptography: The foundation of any blockchain is cryptography. It is employed in a variety of ways. Anybody serious about becoming a blockchain developer will at least need to understand the basics of how cryptographic hash functions work. It is also important to understand RSA and elliptic curve cryptography (ECDSA). There are plenty of courses out there that can help you.
- Networking and Distributed systems: Blockchains are all about networking and making connections. Any good blockchain developer will need to understand how peer-to-peer networks operate. This requires a solid foundation in computer networks generally. For blockchain specifically, an understanding of Byzantine fault-tolerant consensus will also be helpful.
Aside from these core skills, blockchain developers should also look into some blockchain specific programming languages. The most important at the moment is Solidity. This is an object-orientated, high-level language for creating smart contracts. The language was influenced by C++, Python, and JavaScript. So existing knowledge of these languages will be helpful. Solidity is important because all Ethereum ERC20 projects rely on solidity to get their smart contracts running.
Another important thing for any developer to understand is how blockchain companies themselves operate. Similar to the startup world where much compensation comes in the form of stock options, there are many early-stage projects that will offer at least part of their compensation package in their own cryptocurrency. In this way, developers earn a stake in the project.
This makes sense for the company because it helps to lock talent in. But for the developer, it means that you will need to have a keen sense for how viable a project is in the long term. This is also important if you want to maintain a good reputation.
Not All Blockchains Opportunities Are Equal
When you join a blockchain project, it is roughly analogous to joining a startup. You are offering your time and expertise into a project that is hopefully high in potential, but currently low in the capital. In order to encourage a developer to jump on board, it is not uncommon to offer something that the project will have in spades: its own tokens!