Becoming a Blockchain Developer: Which Path to Choose?
Aspiring to be a blockchain developer? Discover the perfect guide for selecting the ideal path.
I have seen it many times. This is almost a standard these days.
I am a blockchain developer, and I have deployed my first Hello World! smart contract today. I want to make $250k/year now.
But are you really a blockchain developer if you can deploy a smart contract? Have you ever read some data from the blockchain node? Do you even know what a blockchain node is or the consensus mechanism of that specific blockchain?
There are so many aspects of being a blockchain developer and so many areas of blockchain development that I feel it's the right time to explain it once and for all. Let me walk you through the different roles you can possess in the blockchain space as a developer.
Smart contract developer
These folks know how to create a smart contract. That's obvious. But what does it mean? Usually, they must be skilled at coding in Solidity - that's the language used by Ethereum, Polygon, and most of the top blockchains for building smart contracts. Tools like Remix or Hardhat/Truffle are known to them. But, obviously, they must understand how blockchain works, what kind of attacks can happen on the smart contract they are building, and how to prevent them. Everyone can learn a new programming language. But understanding the core principles of the blockchain they are building for that's a challenge.
These guys are beasts. They are creating the blockchain protocol itself - consensus, nodes, and synchronization between clients. They must understand the underlying cryptography and be able to build robust and scalable distributed systems. Of course, the performance of the blockchain matters - they simply can't produce 💩 code. Otherwise, the blockchain itself will be 💩, which means - no one is gonna use that. I strongly admire them because they are truly rock ⭐.
Frontend / mobile blockchain developer
If you need someone to build you a nice UI for your blockchain-powered app, or dApp, this one is the right choice. They know the FE stack - React or iOS/Android, but on top of it, they are able to connect to the blockchain node and read data from it. What kind of data - depends on the app, but most of the time, it's balances of the wallets, transaction details, and wallet history. He puts this information in charts, dashboards, or mobile apps. Often, they can connect to some browser wallet like MetaMask to send the transaction to the blockchain, but that's it. The blockchain node interface or some blockchain SDK is the thing where they end with their know-how.
Backend blockchain developer
Anything that doesn't have a frontend is considered a backend. This includes your CI/CD pipeline, CLI apps, or various tools for data ingestion. Backend developers are responsible for efficiently retrieving data from the blockchain, parsing it, and conducting analyses. They can also interact with smart contracts by performing transactions they build within their app or by extracting complex data from the blockchain's state.
As you can see, there are so many areas where you can spend time building blockchain stuff. It's up to you to decide what could be the most challenging path for you. In the following articles, I will describe each of these roles in more detail.