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)
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
Lets 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.
Lets 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:
- 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 youre 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
Lets look at a few examples of real world blockchain applications, and what role a blockchain developer might play in building these.
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 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.
Its 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.
Dharma is a mobile payment app like Venmo where you earn interest in your money inside the app while youre 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.
Lets 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 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:
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.
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.
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.
Lets examine the technologies youll need for local development.
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.
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.
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.
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 its like to create a wallet and initiate a transaction.
Of course youll 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 its 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, its 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, its 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, its 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 youd 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 youve worked on in your portfolio. Its 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, its 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, its 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.
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 its 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! Ive 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!