How To Become A Blockchain Developer Step-by-Step
By Gregory McCubbin ·
Blockchain is by far one of the most exciting industries for developers right now. It is ripe with innovation, and booming with opportunity to command high compensation!
This comprehensive step-by-step guide will show you how to become a blockchain developer from scratch so that you can seize this massive opportunity while it's still early. Whether you're an experienced developer or brand new, this guide is for you! You don't need programming experience to get started today for free. Simply use this written guide to accompany the 1-hour video below!
Table of Contents
- State of Blockchain Development in 2020
- Blockchain Developer Average Salary
- Blockchain Developer Job Requirements
- Big Companies Are Investing In Blockchain
- Blockchain Use Cases
- Why use Blockchain?
- Which Blockchain Should I Use?
- Blockchain App Examples
- Which Programming Languages Are Required for Blockchain?
- How To Learn Blockchain Now
- From Zero To Blockchain Developer (Step-by-Step)
- FAQs
State of Blockchain Development in 2020
Blockchain development is one of the highest-paying jobs in tech right now. We'll be looking at what are the salary ranges a person can earn as a blockchain developer; we'd also look into the job requirements to know what qualifies an individual to work in this field. This includes: job roles, required skills, and experience level.
Blockchain Developer Average Salary
Checking some hiring platforms for blockchain developers, we discover some huge figures. On Ziprecruiter, blockchain developers on average, are paid as high as $154,550 per year. This information however is subjected to change at different times; this average has been seen to move as high $158k and on the lower side at $145k. This variance depends much on whatever the current market demand is at the time. Below is a chart form Ziprecruiter depicting this information:
The chart illustrates the growth in salaries from the start (junior developers) till the end (senior developers) of the bar chart.
On the high end, senior developers can earn over $250,000 per year. On the low end, the low end, developers can earn $58k to $73k per year. Over 80% of all blockchain developers earn 6-figure incomes.
To have a broader view of the salary earned by Blockchain developers, we'll use a different approach and get a breakdown of the average salary earned according to location. Hired.com gives a very elaborate view of this below.
From the image above, we can see that San Francisco companies pay the highest at around $169k per year. This is typical, as this area is a tech condensed region with high cost of living, and competitive compensation. The Top 6 cities from this list have an average payment than the national average salary; this further broadens our view of just how much these blockchain developers get paid.
Please note you do not have to live in any of these cities to get jobs as a blockchain developer. This list is just for a reference purpose to depict how much and well paid these developers are; it is in no way limited only to these locations. Blockchain is very remote-friendly and a lot of developers work from their homes. This is because companies are not limited to hiring just from their environment. They can collaborate remotely, enabling them to leverage the global resources of hiring people from anywhere on the planet, as long as they have the skill set they are in search of that would be beneficial to their workforce.
Blockchain Developer Job Requirements
Let’s look at a job listing to get a sense of what employers are looking for.
This is a US based job for a mid-level blockchain engineer, paying $120k-130k per year (slightly below the average).
Let me share some insights about this particular listing, and give you some general tips on your job search.
Big Companies Are Investing In Blockchain
Big companies like Amazon, Google, Starbucks, Walmart, and Facebook are all taking Blockchain very seriously.
Google's Big Query service supports Ethereum smart contract analytics. This platform allows you to analyze Ethereum transactions; you can look at smart contracts and others.
Amazon has their managed Blockchain service on AWS. On June 1st, 2020 Amazon announced they are looking for a patent in Blockchain for a supply chain.
Facebook also has its libra Blockchain, though they are facing some hurdles with the regulatory bodies, they are working hard to launch their own cryptocurrency.
Walmart also has its distributed letter technology, which they are also working on; it's undergoing research with the supply chain.
I have personally been to presentations where Starbucks showed a proof of concept for supply chain solutions within their business.
All these big companies are taking Blockchain seriously. They can't afford to ignore blockchain!
Blockchain Use Cases
So what are Blockchain's current use cases? While several are experimental, there are many right now with solid consumer demand. The biggest category right now are financial use cases, as blockchain has been most adopted in the financial sector.
Let’s look at some of these current uses:
- Cryptocurrency: On coinmarketcap.com, you'll discover that Blockchain powers nearly all of these cryptocurrencies. Some have their own native Blockchain while some others are built on other blockchains like Ethereum which supports custom tokens.
- Payments: Many websites and applications allow users to pay using cryptocurrency. Blockchain developers can implement checkout solutions to support cryptocurrencies like Bitcoin, Ethereum and Litecoin.
- DeFi: Now you might be thinking, "what is Defi?" Defi is taking an existing financial products and putting them on the blockchain, like savings, loans, derivatives and trading.
You can see from the image above that there are about 1 billion dollars locked into defi protocols. And at its all-time high, it peaked over 1 billion, and it is slowly moving back up.
It is an incredibly innovative technology because it provides benefits that cannot be achieved with any other technology. For example, some DeFi apps allow you to earn competitive interest rates on your money, compared to your bank account.
Some other uses of Blockchain of which are still under tests are:
- Gaming
- Supply Chain
- Real Estate
- Health Care
- Many More!
Why use Blockchain?
You might be developing an app and want to integrate Blockchain or your boss at work might ask why Blockchain might need to be used in a particular project for the company. Here are some reasons you should use Blockchain.
- Publicly verifiable: All public transactions on the Blockchain can be seen. Whenever anything is written on the Blockchain, it is seen publicly. Above is an image from Etherscan of a random transaction, this just makes the whole system publicly accessible to see the status of what's sent and received with some transaction information provided.
- Secure: The Blockchain is a distributive ledger, it is a network of nodes that talk to one another; they all hold a copy of the data while maintaining everyone's balance. When money is sent over the Blockchain, you know it won't be tampered with. There are a lot of deep technical reasons surrounding this but know it is very secure.
- Trustless: Smart contracts power all the code that's on the Blockchain. They are immutable.
Which Blockchain Should I Use?
- Ethereum: If you're new in the Blockchain and you don't know what to use, I highly recommended using Ethereum. It is a general-purpose blockchain that supports smart contracts, with the most active developer community. It has lots of existing applications with a high level of users flowing through them right now.
- Bitcoin and Hyperledger: While I recommend most developers concentrate on Ethereum, some people specifically need to use other protocols. Some common examples are Bitcoin and Hyperleger. For example, if you’re a developer, and you need to accept Bitcoin payments into your application, then you should definitely learn how to create Bitcoin transactions. Or if you have a job where they want to build on hyperledger then you should definitely acquire that skill.
However, if you do not have requirements like this, then I highly recommend sticking with Ethereum for the reasons I provided. You can also start with Ethereum and change later if you need to. Ultimately you want to learn blockchain fundamentals, and practical hands-on skills at first. If you need to retrain in something else later, you can always do that.
You'd have a better start with Ethereum since the developer tools are so popular. You should avoid starting on a blockchain platform with no support; imagine you google out a problem you can't solve and find no solution to it. Ethereum has a lot of resources and supports growth. I highly recommended Ethereum unless you have a good reason to use otherwise.
Blockchain App Examples
Let’s look at a few examples of real world blockchain applications, and what role a blockchain developer might play in building these.
Shopify
Shopify is one of the most widely used e-commerce platforms, which also supports cryptocurrency payments with Coinbase commerce. This allows customers to pay with cryptocurrencies like Bitcoin and Ethereum, instead of using credit cards. If you were building something like this as a developer, you would need to work with both Bitcoin and Ethereum protocols to integrate payments, instead of PayPal or Stripe (2 common payment processors other developers work with).
Compound Finance
Compound Finance is a perfect example of a native blockchain application that provides a benefit that cannot be achieved in the traditional financial system. For example, it allows you to earn competitive interest rates on your funds compared to your bank account.
It’s much like an improved digital bank, as it supports stable coins like Dai, a cryptocurrency whose price does not change. Since Dai is pegged to the U.S. dollar, users can simply convert their USD funds to Dai, and store them in Compound to earn steady interest and accumulate reliable wealth over time.
This interest is earned based upon utilization of the protocol, as it also supports collateralized lending on the other side of the equation.
As a developer, you might serve several roles in a project like this. Compound is powered by smart contracts on the blockchain, so you would need to master smart contract development with the Solidity programming language to fulfill this role. To build its modern web interface, a developer needs to be proficient in JavaScript, and a modern front end web framework like React.js.
Dharma
Dharma is a mobile payment app like Venmo where you earn interest in your money inside the app while you’re not using it. This interest rate might be higher than in your bank account.
As a developer, you might serve two different roles on a project like this. Just like Compound, Dharma is powered by Ethereum smart contracts. In order to create these, you must master the Solidity programming language. To work on the user-facing features, you would need proficiency with native mobile development languages like Swift for IOS, Java for Android, or React Native for cross-platform development.
What does a blockchain developer really do?
Sometimes it's hard to explain what a blockchain developer is because there are so many things they actually do. Technically if your website development even touches a blockchain, you are already a blockchain developer. For example, the Shopify app from earlier, once you already have to integrate it with cryptocurrency, you've had a touch into Blockchain meaning you have to know something about it.
Let’s list a few examples of what a blockchain developer might do. This is not a comprehensive list, and blockchain developers are not required to master each of these skills. These are just some ideas.
- Smart contract development: Smart contracts are programs that run on blockchains like Ethereum, a blockchain that supports two programming languages: Solidity and Vyper (named after Python).
- Blockchain website: As a front-end developer, you might create a website that talks to the blockchain. For example, you might create an e-commerce website that has a Blockchain check-out mechanism like the Shopify example that we saw earlier. Or you might create a UI for a web app like Compound Finance. To do these, you must understand how to interact with smart contracts and blockchain create transactions. You'd also need to know libraries like web3.js or ethers.js.
- Blockchain mobile app: Darma, like we saw earlier, is an example of a blockchain based mobile application. In order to create this, you need to be proficient in some mobile development language like Swift for iOS, Java for Android, or alternatively JavaScript and React Native for cross platform development. Additionally, you would need to be able to interact with the blockchain through RPC calls. This can be simplified with a library like web3.js.
- Blockchain back-ends: Many blockchain applications use server-side backends to enhance their performance. To fill this role, you need proficiency in some backend programming language and server side development framework. If you do not know any yet, then I recommend JavaScript for a few reasons: (1) it is a widely used, versatile programming language that can be used on the front end and backend (2) it is widely used by blockchain developers and natively supports web3.js so that you can create applications that talk to the blockchain.
- Blockchain infrastructure: This is a bit of a “catch all” category for developers who work directly with the blockchain itself, apart from previously mentioned roles. Some examples might include: running and maintaining blockchain nodes, creating blockchain networks, and executing with low level blockchain operations. These roles often require deep knowledge of system administration as well as knowledge of protocol languages like Go, Rust, or C++.
Which Programming Languages Are Required for Blockchain?
Here are some of the most popular programming languages for blockchain development. This is not a comprehensive list, and blockchain developers do not necessarily need to know all of these languages. However, there are some common examples:
- Solidity
- JavaScript
- Python
- Go
- Rust
- C++
If you’re brand new and don’t know where to start, I recommend learning Solidity and JavaScript. It's usually necessary for a developer to learn front end languages and back-end languages. In this case, Solidity will be the back-end, while JavaScript will be like your front end. Unless you know exactly what you would like to do, it's best to focus on these two.
Python is also a powerful language but you won't be able to use it to build mobile apps or clients that have applications that easily.
Go, rust and C++ are for more low-level infrastructure and different smart contracts platforms.
Solidity
Solidity is the main programming language for creating smart contracts on The Ethereum Blockchain. Hence it's highly recommended you learn Solidity. Solidity is a straightforward programming language with influence from C++, Python and JavaScript.
JavaScript
if you don't have a JavaScript background, I recommend learning JavaScript for blockchain development since it plays several crucial roles like developing user interfaces, testing smart contracts, creating backends, and writing scripts that run against the blockchain.
How To Learn Blockchain Now
If you want to get started mastering blockchain development right now, then there are two different ways to get started.
In-Browser Development
To get started, visit websites like remix.ethereum.org, it is a browser-based IDE where you can instantly start developing for Blockchain. On this website you can write the entire source code for solidity smart contract here, you can compile it with the click of a button then you can deploy it to a blockchain with the click of a button all of this can be done in your browser. So, you just need to know one programming language-solidity, you do not need JavaScript yet. You can therefore write a smart contract, put it on a blockchain and start using it immediately.
Local Development
This method is the classic which you install everything on your computer, then use a text editor, a terminal, and create a website. This method includes developing a smart contract inside a framework, it is a harder way to get started, but you'd learn so much more while also developing many skills. You'd learn to use Solidity, JavaScript and learn to be a real developer on your computer using terminal.
Libraries & Frameworks
So if you decided to use the second method, you'd need to learn to use the right frameworks and libraries and also learn how to set up everything on your computer. It doesn't matter which path you start with, you need to learn how to do both and you must be able to learn how to do things on your computer.
Let’s examine the technologies you’ll need for local development.
Node.js
Node.js allows you to run JavaScript on your computer, as well as install project based dependencies. This is the first thing you'd be needing for blockchain development.
Truffle
If you're going to develop smart contract and blockchain applications, truffle is highly recommended. On truffle you can write smart contract source code, compile them, write against them, and build clients side websites directly inside of truffle. This is what is used in most of my tutorials. Embark is also an alternative you can definitely try out.
Metamask
Here you need an Ethereum wallet installed, you should use the Chrome browser to install the Meta mask as an extension. It is very easy to install, how to get it done is also included in the tutorial videos.
Ganache
This is a development blockchain that runs on your computer. It allows you to create a new blockchain instantly that you can use to develop smart contracts without risking any real money.
Web3.js
This is the main JavaScript library for interacting with Ethereum. If you want to create an application that talks directly to Ethereum with JavaScript, then web3.js is the popular way to go.
React.js
This is a library for creating User Interfaces (UI) with JavaScript. It's a component-based library, how to use it extensively is also included in the tutorial videos. By using react.js and web3.js, you would be able to create a really amazing web front.
From Zero To Blockchain Developer (Step-by-Step)
Now, this is the step-by-step overview of knowing nothing about Blockchain to landing your first blockchain developer job. This can actually be done; many people have learned blockchain development without prior programming knowledge.
Step 1: Obtain Cryptocurrency
Making a payment with cryptocurrency is the best introduction to blockchain because you will gain familiarity with how the technology works. By sending cryptocurrency, you will see what it’s like to create a wallet and initiate a transaction.
Of course you’ll need some cryptocurrency in order to do this, so you can purchase some on a website like Coinbase.com, or you can try this for free with fake cryptocurrency on an Ethereum test network like Ropsten, for example.
Step 2: Create a Wallet
Setting up your wallet, as explained earlier involves you installing the meta mask extension on your chrome and setting up your cryptocurrency account. You can hold the cryptocurrency on your public wallet.
Step 3: Follow a Step-by-Step Tutorial
Now it’s time to follow a step-by-step tutorial that will teach you the basics of how blockchain works, as well as the fundamentals of the programming languages. The easiest way to get started is to use the in-browser approach that I described earlier. You can use this guide to get started now with this method!
Alternatively, you can build a full project step-by-step with the second method I described earlier. This will require you to set everything up on your local computer, but it will give you an in-depth knowledge on the skills required to become a professional blockchain developer. Use this guide to get started on that method now!
Step 4: Build a Real-World App
Once you have followed an introductory step-by-step tutorial, it’s time to take the next step and build a real world project. This will look much like the previous step, as you will still follow step-by-step instructions. However, it’s much more in depth and advanced because the final result will be a real world application, as opposed to a beginner tutorial. This is designed to show you the required skills for professional level development.
This is exactly what I teach you how to do inside The Blockchain Developer Bootcamp.
Step 5: Unguided Development
Once you have built a real world project with step-by-step instruction, it’s time to move onto the next phase and build a real world application without step-by-step guidance. This will solidify your learning skills and show potential employers that you have viable skills. In order to do this, you can take an existing project and add new features without guidance, or build something on your own from scratch! Get creative. The goal here is to think of a new problem that you’d like to solve with blockchain, and then write the code to implement it.
Step 6: Create Your Portfolio
Once you have done your unguided development, it's time to create your portfolio. This will show potential employers what you can do, so you want to add all the projects you’ve worked on in your portfolio. It’s alright if these are tutorial projects! Your portfolio will also contain your “about me”, resume, and links to the source code for your applications. This is your chance to sell yourself and showcase the quality of your development skills, as well as personability and communication skills.
Step 7: Apply for Jobs
Once you have created your portfolio, it’s time to start applying for jobs. You can do this in many ways: online, in-person, through referrals, or personal networking. There are a number of online tools that streamline this process. For example, hired.com matches employees to employers. When you sign up, you specify your salary requirements, your experience level, and you get matched on the platform. Another way to find jobs is to attend conferences and local meetups. You can always check if meetups are happening in your area, as they can be a huge opportunity. If meetups aren't happening, then it might be worth traveling sometimes to go for international meetups. You can get to meet other people in the industry and they can get to know you and what you can do.
Step 8: Land the Job & Celebrate!
After you have done all of the steps above, it’s time to land a job as a blockchain developer! Yay! Now congratulate yourself because you have done great work and have come a long way.
So this is how you move from zero to highly paid blockchain developer. This doesn't happen in one night though, it requires constant hard work and practice till you become very skillful and experienced.
FAQs
How long does it take to become a blockchain developer?
It depends on the learner. Some learn it very fast and as for some, it takes a little longer. A number of factors determine this, like prior experience level and aptitude. Some learn in a matter of months, and some require 1 year or longer.
Can I learn Blockchain as my first language?
Yes, you can learn blockchain as your first language. I highly recommend this because it’s the most efficient and effective way to learn. You will certainly need to add more skills to your toolbelt in the long term, but I advocate for learning these things on an as-needed basis while you specialize in blockchain development.
Do I need to be a developer already?
No! I’ve taught many students with zero programming backgrounds. They all learned blockchain as their first programming language, and went on to build real world projects. You do not need to be a developer already to get started mastering blockchain today!
Happy with this tutorial? Then you NEED to join my free training here where I'll show you how to build a real world blockchain app so that you can become a highly paid blockchain developer!