Skip to main content

11 Ways to Earn Bitcoin & Make Money with Bitcoin in 2021

 11 Ways to Earn Bitcoin & Make Money with Bitcoin in 2021

How to Become a Blockchain Developer in 2021? Step-by-step Plan (10 steps) - Ultimate guide for beginners

 How to Become a Blockchain Developer in 2021? Step-by-step Plan (10 steps) - Ultimate guide for beginners

Do you want to become a blockchain developer? with higher salaries and reports of Ethereum Dapps becoming successful overnight and new interesting technical challenges the blockchain is very attractive for developers however it has some pain points that might be difficult for newcomers, for example, one of the questions you might have is where do I get started to get into blockchain what do I need to learn to become a blockchain developer or do I need to be a cryptography expert to make it into the blockchain. In this blog, Blockchain developers are responsible for developing and designing APIs. Want to become one Start with the Academics. Get Proficient with required Tec


 I will answer these questions and I will lay out a step-by-step plan so you can become a blockchain developer. If you follow this plan you can become a blockchain developer in three to six months and you can find a job at a crypto startup in this timeframe. The plan I will show you will start by defining your goals and we will go all the way up to building your own DApp on Ethereum and also to applying to actual blockchain companies. Before continuing I would like to address a very common worry about developers who want to make it into the blockchain industry which is  Am I qualify to become a blockchain developer?

So let's clear out a common misconception. You don't need to be an expert in cryptography or in distributed systems to become a blockchain developer thats only if you want to become a blockchain developer of the blockchain software itself but most people build an application on top of the blockchain like most web developers build web application but not web browsers. So I would assume that you are already a developer with at least one year of experience. If that's, not the case go study web development first and then come back to this video. Let's get started. So the first step is to define your goal. A lot of videos and articles about becoming a blockchain developer will just throw at you some advice without even considering what do you want. That big mistake and if you don't even take the time to define what you want to achieve and what are your motivations it'll be really easy for you to get demotivated and you will not reach the finish line. So this is really important that we do this first. So what's your motivation? 


A lot of developers are lured to the blockchain world because of the crazy gains of cryptocurrencies. I can understand that and it's very exciting its great to make money but if you rely on this alone your excitement might be a little bit short-lived. Ideally, you should have at least another motivation. For example, being part of the creation of a new ecosystem, disrupting dysfunctional industries and improving the world even if we sound a little bit cheesy that that's a very good goal. 

Or maybe you want to empower some communities with the decentralization of the blockchain. Another question that you need to ask yourself is do you want to be an employee or an entrepreneur. So more specifically do you to find a job at a blockchain company or do you want to launch your own blockchain project?

 The blockchain industry is growing very fast and there are a lot of opportunities to benefit from it. So, of course, blockchain entrepreneurs will capture the larger share of this value but developers can also accept to capture a good chunk of this growth as well.


 For example, for blockchain developers salaries are on average 140,000 USD in the US according to a survey of the computer world. Thats are almost 40% more than for web developers. Another benefit you can enjoy is as a blockchain developer in general there are more options for working remotely compared to non-blockchain developer jobs



For example. As an entrepreneur, one of the main advantages of the blockchain is easier access to funding thanks to the innovative funding mechanism of ICOs some blockchain project have raised millions very easily, for example,

 



Brendan Eich which is the creator of javascript launched the brave browser and raise 36 million in 25 seconds. This being said be aware that the best days of ICOs are over and now we have more and more government, a lot launching new regulation and being more strict with ICO So this kind of funding has dried up a little bit but it's still easier to raise money in the blockchain space than in other industries. Another benefit you can enjoy as an entrepreneur is easier access to users. 

So blockchain is a new application platform and your app does not need to compete with a ton of competitors to get users. The downside of this is that the number of users is still small compared to the established platform but it's growing fast. 



For example, Cryptokitties famously became successful overnight when it launched in late 2017. They recently announced that they raised 12millions with a famous VC which is an Andressen Horrowitz I believe. Another question that you need to ask yourself is do you want to work on a blockchain protocol or on an application.

 So as I mentioned in the introduction of this blog, blockchain developer can mean two things

1. you can be a developer who works on the software that runs the blockchain so for example you could be working on blockchain client like Bitcore or Geth. 

Or you can be a developer who works on applications built on top of the blockchain technology such as Cryptokitties. So most newcomers when they think about blockchain developers, they think of what I defined in the first case, not in the second case. But thats a big misconception this is actually similar to most platforms, so like I said before on the web most developers develop web applications, not web browsers and also on desktop most developers develop desktop applications, not operating systems. So this video is mostly for people who want to build applications on top of the blockchain. But developers who want to build blockchain software itself also my find this video helpful. 

The last question you need to ask yourself is what is your deadline. So if you don't set yourself a deadline to achieve certain objectives chances are you will not apply enough pressure on yourself to make it work. So it's essential that you set yourself a time limit and clear objectives. 

For example, you can say:  I want to have deployed in production a blockchain application in three months" " I want to have contributed so maybe ten commits to a blockchain project in the next two months&quot, or it could be" I want to complete 3 blockchain pet projects in 1 month

There are more than 2,000 blockchains registered on Coinmarketcap and new ones are being released every day. So the next thing we need to do is to find the same way to navigate this never-ending flow of information and know where to look. You don't need to know every blockchain to become a blockchain developer. Actually, you should focus on the few blockchain technologies that really matter. And you should avoid being distracted by all the others. 

So the most popular Blockchains are

1. Bitcoin, 2. Ethereum, 3. EOS. So bitcoin is the most stable and battle-tested blockchain technology. It has reliably processed transactions for almost a decade and its the most used Blockchain. However, it has a big problem: its only capable of processing simple transactions and its too limited for many applications. 


So Ethereum was built in order to solve the limitations of Bitcoin and allow to run small programs called smart contracts. So you can think of Ethereum as a sort of virtual machine put on top of the blockchain. The blockchain guarantees the integrity of the data and the smart contracts allows running any arbitrary computation making Ethereum much more flexible than Bitcoin. 

EOS was built as a more modern alternative to Ethereum. Like Ethereum it can run a smart contract. However, unlike Ethereum transactions on EOS are free. Finally, it's much more scalable than Ethereum. One note though: this extra scalability comes at a price of a greater centralization which makes the tech less eligible to being called a blockchain. It might appear that EOS is the best choice however there is one crucial element that doesn't play into EOS favour: network effects.

 Network effects mean a network becomes exponentially more valuable as more users join. Facebook is a good example. Once Facebook has reached a certain critical size it left no chance to competitors because it would be too inconvenient for new users to be isolated from their friends on Facebook. Likewise for blockchain Network effects also applies because users want to be able to make transactions between each other. Network effects also apply to the developer communities that grow around each blockchain. 

In order to develop applications in a reasonable time and cost we need not only a rich and mature ecosystem of developer tools and libraries but also a vibrant community of competent developers. This can only happen if the community reaches a certain size. 

The community of Ethereum developers is much larger than EOS and I believe it would be very difficult for EOS to ever challenge the momentum of Ethereum and even in the future if the technology of EOS actually becomes much better than Ethereum you know what's gonna happen? 

Ethereum is just going to pick the part of the technology of EOSthat it likes and it's gonna put them into Ethereum. Its whats gonna happen that's why I would recommend you to pick Ethereum. 

If you decide to pick Ethereum before you rush to learn the technology the next step in your journey would be to get more familiar with what kind of applications developers are building on it. Next, you need to learn about the DApps that already exists. So there are more than 2,000 applications built on Ethereum and new one are released every day. We call these applications " Decentralized  Applications"or Dapps. A great way to discover popular Dapps is to visit a Dapp list website. 

The most popular Dapp list websites are StateOfTheDapps, which is the historical one. And there is also DappRadar which is the basically the coolnew kid I personally prefer DappRadar because its easierto access their Dapp List and also because they have all sort of interesting rankings like the DApps with the most DAU (daily active users) orthe DApps with the most transactions per day. There are four kind of DApps that people build on Ethereum. Decentralized exchanges, Games, Gambling DApps and marketplaces. 












Decentralized exchanges which are also abbreviated DEX are usually exchanges that allowed to trade ERC 20 tokens in a peer-to-peer fashion they are popular for trading lesser-known ERC 20 tokens which lack liquidity. Centralized exchanges like Coinbase, Bitfinex, etc.. don't list ERC 20 tokens with a low volume and that leaves an opportunity for these DEXs. 

The most popular DEX is IDEX but there are another ones like Bancor or the Token Store. GamingDApps are mostly what we call collectable games. User first buy characters from the game creators and then they interact with other characters in different ways like fighting or breeding. Compared to non-Blockchain games the most distinctive feature of blockchain games is the economy part. Thanks to the blockchains players are able to trade their characters freely with other players without ever worrying about the interference of the game creators. 

The most famous gaming DApp is Cryptokitties where players collect cats that can breed. Gambling dApps were among the first kind of DApp to be built on Ethereum. Fomo3d is one of the most famous where players have to keep investing Ether into the smart contract to avoid letting the last player win all the money. Be aware that gambling DApps on an Ethereum suffer from a bad reputation because many of them were openly built as scams with DApps defining themselves as pyramid schemes or Ponzi schemes the last category is marketplaces. There areonly a few on Ethereum but there is one and its making noise at the moment and it's the marketplace of Decentraland which is a virtual-reality worldbuilt on Ethereum.

 How about you? What are you going to build? Gaming DApp? Decentralized exchange? or maybe something completely different? Write in the comments what kind of DApp you want to build on Ethereum. In any case, keep in mind that your DApp will benefit the most from Ethereum if it has some sort of economy where users trade assets using Ethereum tokens. Once you have made up your mind about what you want to build you need to actually start thinking of how you will build your depth to build your DApp. You will need to learn about three components. First, you need to understand how the Ethereum protocol work. Second, you need to learn how to write smart contracts in solidity. And third you need to learn how to fit all the pieces together in a DApp. The rest of this video will introduce you this and give you tips on what are the best resources to learn them. The Ethereum protocol is at the basis of smart contracts and DApps.

 You need to understand the basics of Ethereum to understand the rest of the development process on Ethereum. This being said don't freak out if you won't understand all the subtleties of cryptography and distributed systems especially if your goal is to build applications on top of Ethereum so we're talking about DApps here but not building the Ethereum protocol itself. One good place to start is by reading the " Ethereum white paper" which is a high-level description of what is Ethereum. It was written by VitalikButterin which is also the creator of Ethereum.

 Reading the white paper is a good start but it's not really enough to understand how Ethereum really works in details. If you want to go deeper you need to read another resource which is called the Ethereum yellow paper by Gavin wood. This is a technical specification that is used by developers who implement the Ethereum protocol itself. A lot of mathematical notations are used so it's not for the faint of heart and I had to re-read much time to understand it but you don't need to understand everything on it. There are still large portions with just text so you can just stick to this. Another good place to learn about Ethereum is the Ethereum Research Forum. 

So in the forum the research team of the Ethereum Foundation and also Vitalik Buterin they regularly discuss the latest developments in the Ethereum protocols really a good place to ask and read about the Ethereum protocol. In your quest of understanding Ethereum, you could also read the code of several implementations which are also called clients. So you could read the code of many clients like Geth which is the client written in Go or you could read the code of Parity which is written in Rust but this codebase might not be the most readable because they use difficult languages. Instead, if you want to understand the Ethereum protocol I would recommend to check out a Python implementation which is called Trinity or you can also check out the JavaScript implementation. Finally, there is an interesting upcoming book called" Mastering Ethereum", its author by Andreas Antonopoulos who also wrote" Mastering Bitcoin" and its also authored by Gavin wood who wrote the " EthereumYellow paper".

 It's about to be released in November 2018 so when you check out this video maybe it will be available already. If it's as good as " MasteringBitcoin" it should be worth reading. Now that you know about Ethereum you are probably curious to know how we build applications on top of it. So I'm talking of the so-called DApps. But before being able to learn how to build DApps, you need to learn about the development tools that are required and also about smart contracts. So let's learn about development tools and libraries. When developing smart contracts and DApps you will need these tools: Solc, Web3, Remix, Truffle, Ganache & Metamask. Let's start with Solc. So Solc is the compiler of the Solidity programming language.

 It is written in C++ and it has its own Github repo. You can compile it directly from the source or more simply you can use it as a package distributed in your favourite language. For example, for node.js you can use Solcjs. You will probably not need to use the Solidity compiler directly but its good to know that it exists. Then we have Web3 which is a library used to communicate with Ethereum clients like Geth or Parity. 

Where Web3 really shine is in its ability to dynamically create abstractions which actually object that represent a smart contract. These smart contract objects simplify a lotthe interactions with a smart contract and you can use them as if Ethereum had implemented an API specifically for each of the functions of your smart contract.To learn about Web3 you can check out their official documentation as well as my video tutorials on how to " Deploy a smart contract with Web3&quot, and how to call a smart contract function with Web3. 

By the way, if you are into python you will be very happy to learn that there is a Python port of Web3also available and the last thing about Web3 is that there is a difference between the version before 1.0 and after 1.0 and they are not entirely compatible. So when you follow any tutorial make sure to know which version of Web3they are talking about. Next, we have Remix which is an online IDE solidity smart contracts. It might not be as polished as code editors such as sublime text or Visual studio code but it's still the most complete tool for writing so the Solidity code. Unfortunately, there aren't many resources to learn how to use it but you can check out my YouTube playlist on how to use RemixThen we have Truffle which is the most popular framework for developingEthereum DApps. 

It is written in node.js and it has a strong community behind it it has even recently launched its own online academy and even its own conference. Truffle makes deploying smart contracts a breeze. Without Truffle we will need to combine many different tools and it would be much more complicated. The official docs of Truffle are very good but if you prefer videos you can also check out my introduction to Truffle. Ganache is a local Ethereum blockchain that we use for development With Ganache you just need to run a command to start a local Ethereum node and you will have ten addresses that are already pre-funded with Ether. 

I'm talking a fake Ether of course. This is very handy for development. Ganache comes with a CLI and also a GUI. There isnt a lot of documentation to use the GUI but I have made tutorial videos on installing the ganache GUI and also on how to use the Ganache GUI. And finally, we have Metamask which is an Ethereum wallet that is packaged as a browser extension. 

It is used by Dapps when requesting a user to sign a transaction. Transactions might send Ether from the user address to another address or simply change a value in a smart contract. Metamask is available on chrome and Firefox but the Chrome extension tends to be more up-to-date now that you know about tools and library its time to finally start to learn how smart contracts work. Smart contract is the main building blocks of apps. 

They are small programs deployed on the Ethereum blockchain and they run autonomously once they are deployed. This means that after you deploy them the network will take care of running them and you don't have anything to do. This also means that once they are deployed you have absolutely no privilege admin control over them at the Ethereum level. 

For example, you can't modify the code once it's been deployed. It just runs forever outside the control of anybody. Solidity is the main language that is used for running smart contracts has a syntax that is similar to JavaScript but the similarity is just cosmetic. 

Contrary to JavaScript this is a compiled language which means you cant just write a smart contract and have an Ethereum run it right away.There is an intermediary compilation step in which Solidity code is compiledto a bytecode that the Ethereum Virtual Machine can understand. The EthereumVirtual Machine is the component of Ethereum that runs smart contract. Also contrary to JavaScript Solidity is a typed language which means that you needto specify the types of each variable. Contrary to JavaScript and most languages Solidity is much more primitive and much more limited. So expect some surprises in your learning process. As a first step into Solidity, a lot of people love to use Cryptozombies. Cryptozombies is a game designed toteach you the very basics of Solidity by creating an army of zombies in a smart contract. 

More than 300,000 students already followed it and its quite funto do. So if you are into learning games you might also enjoy Ethernaut which isanother game where you have to hack a smart contract. Next I would recommend tospend some time reading the official documentation of Solidity. It is the most comprehensive resource on the topic and its the most up-to-date of course. You dontneed to read everything but at least make sure to read about the basics of the language like what are the main variable types, the main control structures, and what is the overall structure of a smart contract. In your learning of Solidity, you will probably need to use Remix which is an online IDEfor Solidity smart contracts. 

It might not be as polished as some desktop code editors but it is still the most complete tools for running Solidity code. Surprisingly there aren't many resources to learn how to use it but you can check out my youtube playlist on How to use Remix. On my Youtube channel you can find some other resources for learning Solidity and smart contracts. Since we are talking of YouTube I also really like the channel which is called "Whats Solidity". The author is quite knowledgeable in Solidity and he covers some advanced topic. 

You might also want to learn about how to write safe Ethereum smart contracts. In smartcontracts you manipulate other people money so you will be the target of hackers. You can read more about Solidity security with this awesome list you canalso play a game called "Capture the Ether " where you will learn aboutsecurity. You might also be interested in my article on EatTheBlocks on " What is the best way to learn Solidity?".Learning Solidity is a great step forward in your quest to become a blockchain developer but thats not enough. 

Because you seethe problem is that smart contracts are not very user-friendly so we can not ask end-users directly to interact with a smart contract. Instead we need tobuild easy-to-use UI for users. This is the purpose of DApps and thats the next thing you need to learn. 

The next step is to build your own DApp. So before watching this video you might have heard of Cryptokitties. Cryptokitties is this game where players buy, breed and trade kitties. This is built on Ethereum and its a good example of what is a DApp. 

Let's see how this work. So first we have the Cryptokitties website. This is the main interface for users. The website backend is deployed on private servers and the frontend is a regular web app. So nothing new here. Then Cryptokitties players use Metamask to send Ether to-crypto kitties. Finally, we have the Cryptokittie



s smart contract which is where the game data is stored.

 For example, if a player buys a kitty this information will be stored in the Cryptokitties smart contract. The smart contract is deployed on the Ethereum blockchain. There isn't any single computer that can say " I am the only one who hosts this smart contract&quot, but instead any computer of the Ethereum Network host it. These three parts interact together to form what we call a DApp. 

In order to build your own DApp you need to figure out what are these interactions. You can start by following my free tutorial series on how to build a ToDo list DApp on Ethereum. This is an 8-step tutorial where I will show you how to start from the smart contract all the way to the frontend and how to integrate everything. 

here you will find the articles and there are also accompanying videos on YouTube and also you can find the code on Github. I also recently released an e-book of this series which has all the free step that you can already find on my website and on YouTubeplus some exclusive chapters on how to refactor DApp with React and then with Drizzle which is a new front-end framework for DApp released by truffle.

And it will also have a chapter on testing the DApp. Next, I've also released a video course on Manning which is called " Ethereum DApps in Motion" where we basically start from the basic of Ethereumthen start with, mmm, continue with the smart contract then we do a MultiSigWallet DApp with smart contract and front-end.

 So its a little bit more advanced than the ToDo list. And then the final project is a decentralized exchange for ERC 20 token so ERC20.....So DEX decentralized exchanges for ERC20 tokens they are the most popular kind of application on the Ethereum network now and this is a non-trivialproject. Its probably the most advanced project that you ever find in a videocourse so Im quite proud of it and at at the moment of releasing this video thecourse is finished at about 60-70 % and it will be totally ready in January 2019And finally you reach this step you will have accomplished a lot in your quest to become a blockchain developer and find a job at a blockchain company. Lets recapso far what you would have accomplished: so at this stage you have a decentunderstanding of the blockchain space and how Ethereum compares to other blockchains, you know how to program smart contracts in Solidity and you have made an Ethereum DApp that you can show to potential employers. That fantastic and it's almost time to apply to jobs at crypto startups but before you do that you need to prepare yourself for these interviews. Blockchain interviews will consist of question about the general understanding of blockchain and Bitcoinhow Ethereum work? how smart contracts and solidity work? and how DApp work? first lets see for the general understanding of blockchains and bitcoin. Employers will generally ask you to explain how blockchain work and what are the different elements of a blockchain. since blockchain the technology was created by Bitcoin the two are often mixed together in blockchain interviews you can check out my article on what are the top 12 questions in blockchain interviews. Another thing you can do is read the book mastering Bitcoin from Andreas Antonopoulos when I first got into blockchain I stumbled upon this book totally by chance. I read it end-to-end in just a couple of days and it made me become passionate about blockchain. Throughout my journey in blockchain and Ethereum, it helped me a lot to have read these books. Thanks to itI acquired a good grasp on the blockchain technology and Bitcoin. Knowing that most blockchain systems are somehow based on Bitcoin it helps a lot to have a good foundation there. You can buy the book from Amazon or read it for free on GitHub the author recently released an updated version following the latest development of Bitcoin in particular Segwit. So make sure you buy the latest version. 

As for Ethereum smart contracts, Solidity and Dapps I already covered that before but just be aware that in interviews you will need to know about security in smart contracts. The next step is to apply to blockchain jobs. The most obvious method is to simply apply to job offers on job boards. There are some job boards that are specialized for crypto and blockchain jobs such as BlocktribeCryptoJobList or CryptocurrencyJobs. You can also have a look at general job boards that are not specifically focused on blockchain but usually, they still have a decent number of blockchain jobs such as RemoteOk or AngelList. Insteadof applying for a job you could also apply to freelance gigs as an easy wayto enter the blockchain space so you can find those freelance gigs on Upwork and also on Elance. Financially these gigs will probably not be as good as a fulltime job but as 

I said it might be easier to get started like this and after leverage these freelancing gigs to find a full-time job. You can also check outsome online communities to find some job post. For example there is the monthly"Who is hiring?" thread on Hacker News. There is also a similar " who is hiring" thread at the beginning of every month on the eth dev Reddit. Finally there isanother reddit which is called CryptoJobsList. Lastly I would suggest to also go to local meetups on blockchain and Ethereum so that you can meet people and find potential employers. More on that in the next section. Finally the next step is to get help from the community. So at some point in your journey of becoming a blockchain developer, you will certainly need some form of help, fortunately, youare not alone and there are a lot of online communities where you can ask for some help to solve technical problems. 

The Ethereum Stack Exchange is a great place to get some answers. There are already thousands of answers and its quite active. However, as its usually the case with stack Exchange and Stack Overflow they have very strict rules regarding whatmakes a good question or even what is an acceptable question. One point that is quite restrictive is that they dont really allow questions to ask for opinions suchas "what is the best way of approaching such technical problem?" For that kind of question you can check out some public chats such as the chat of Solidity. Thereis also a chat for the Truffle framework. And there is also a slack group for DAppdeveloper. Another way is to get help is to meet other developers and learners inreal-life.

 A great way to do this is to go to Ethereuml meetups and conferences.For meetups, you can go to meetup.com to find Ethereum and blockchain meetups in your region. Make sure you pick a meetup that is focused on the tech as many arefocused on the business side of things and tend to try to sell you their latest ICO investment crap. As for conferences the most famous one forEthereum is Devcon but its a little bit pricey and this year we also startedto see some DApp-focused conferences such as TruffleCon or DappCon. They are way cheaper than Devcon and less crowded so its probably easier to make friends.Finally if you want to keep updated with the latest news of the Ethereum ecosystem you can consult these resources: so first there is thenewsletter which is a weekly newsletter for Ethereum Dapp developers. So you can subscribe to receive the email. 

Reddit which is quite interesting. And other resources you have DelegateCall which is a sort of stack overflow clone but built on Ethereum. Then you have the Ethereum Magician Forum where its basically people discussing ERCs and EIPs for Ethereum. So they talk about the specifications and how the Ethereum protocol is going to evolve and of course I've already mentioned the Ethereum Research Forum which is a little bit more technical. If you want to watch more advice and tutorials on howto become a blockchain developer make sure to subscribe to the channel. Thanks for watching and good luck in your journey on becoming a blockchaindeveloper. Bye!

Comments

  1. I appreciate your work because i enjoyed reading alot. keep up the good work. Will look forward for more such informative blogs
    hire ethereum developers

    ReplyDelete
  2. Amazing and best article regarding this
    You did a good job

    I want to ask something
    Someone suggest me
    Crypto quantum leap Crypto video course
    He said it's best course if you want to be successful in Crypto
    Then you will be rich

    Should I join that course?

    ReplyDelete

Post a Comment

Popular posts from this blog

11 Ways to Earn Bitcoin & Make Money with Bitcoin in 2021

 11 Ways to Earn Bitcoin & Make Money with Bitcoin in 2021

How to mine Cryptocurrencies on Android smartphone in 2021? Minergate

How to mine Cryptocurrencies on Android smartphone in 2021? Minergate