introduction
In the tech space, new technologies buzz now and then. Given the nature of developers, learning about these new trends is essential, mainly if you belong to a network of developer friends or are looking to transition into something new and more challenging.
The rave of the moment is Web3 and Blockchain, and this article will put you in the know about these things. This writeup offers you a walk around the block, literally taking you from the meaning of important terms, through facts about Web3, to ways in which you can transition from wherever you are to Blockchain development.
At the end of this article, you will know every neighborhood in and around the block - literally. You'll know enough to decide whether to get into blockchain development or not, whether you should adopt blockchain in your next project or not, and how to become a blockchain developer should you choose to enter the space.
blockchain, smart contracts, and the web3 - who are these guys?
Web3.0
Web 3.0 is the third generation of the internet featuring web apps that are able to process information in a smart human-like way through technologies like machine learning (ML), Big Data, decentralized ledger technology (DLT), etc. Web 3.0 was originally termed the Semantic Web by Tim Berners-Lee, and was portrayed to be an autonomous, intelligent, and open internet.
Blockchain
A ledger is essentially a list of transactions. You could think of it as a database, but a database is different from a ledger. In a ledger, we can only append new transactions, whereas, in a database, we have the ability to append, modify, and delete transactions. A database can be used to implement a ledger, but it doesn't work the other way round. A blockchain is a data structure used to create a decentralized ledger. A blockchain consists of blocks that are chained in a serial manner. A block contains:
- a set of transactions
- a hash of the previous block
- timestamp indicating when the block was created
- block reward
- block number, and so on. Every block contains a hash of the previous block, thus making a chain of blocks linked with each other. Every node in the network holds a copy of the blockchain.
Smart Contracts
Now, smart contracts aren't smart, no. And they aren't legal contracts either. Think of them as the Web3 version of your business logic or controller in Web2. Smart contracts are pieces of code that execute based on external input. They validate the input and run the business logic they were built for.
The advantages of smart contracts over normal controllers is this: a smart contract runs exactly as programmed without any possibility of downtime, censorship, fraud, and third-party interference.
are they the rich kids?
If, by rich kids, you mean whether blockchain development is lucrative, then yes, it is! On CNBC for example, Blockchain developers were estimated to have salaries between $150 000 - $175 000. A senior blockchain developer could make as much as $1 000 000 per year, as was proposed in a viral LinkedIn job post.
In as much as money is a big factor in motivating virtually all developers to get into new niches, consideration for usefulness and passion for work must be reflected on.
wow, I want to be friends! how can I?
Do you mean whether you too can become a blockchain developer? Sure, why not?! You need only to learn the tools and concepts, and you'll be fine. If you are curious whether it is worth venturing into Web3, you might want to consider these facts: The Internet is evolving, just like every other technology. From Web1.0, we saw the power and usefulness of Web2.0. The truth is Web2 will not always be the only way to build web applications. This is very much true for FinTechs. The whole Web3 space is buzzing at the time of this writing; if you are in any tech community, chances are you have come across the term or a developer in it. Blockchain has promising potential to be the future of the web. Well, why not? It has seen wild adoption in both new and old FinTechs companies alike and even tech giants like Google and Facebook are pioneers. Pro tip: Since blockchain is still in its early stages and not older than ten years, give or take, you can pick up Web3 skills even faster than Web2 skills if you're just starting out.
where are the parks and malls?
Well, in this block, the parks are fun/practical focused websites, and the malls are EdTech companies that offer free or paid tutorials and trainings on Web3 related technologies. Excellent points of call for upskilling include:
It doesn't matter which one you pick, just pick one and start learning. You most likely will end up Googling for more videos, books, tutorials, etc., depending on your best learning methods.
where's the bank at?
Concerning where you can cash out on your blockvhsin skills, many companies are sourcing for blockchain talents - even Google recently moved into the neighborhood. In this block you can make money from either of the following:
- Hackathons
- Contract projects
- Full time roles You can find cryptocurrency jobs here, on Consensys, on angelList, or on Uniswap.
#how do I keep up with the joneses? There are a rife of technologies and concepts to learn, but this shouldn't warrant worries in your mind. There are fantastic resources - both free and paid - that will get you up to speed in these technologies, leaving your self-discipline as the only unreliable factor in this block. The learning path and developmental process for web3 is different from the traditional web2
- In web2, an action in the form of HTTP requests is sent to a web server, but in web3, users send transactions to a blockchain.
- In web2, data is queried from a centralized data store, but in web3, the data store is a decentralized ledger called the blockchain.
Exemplary differences are not limited to these alone, but they should paint a clearcut picture in your mind. Technologies and neighborhood slangs you need to know about to get into blockchain development include:
Blockchain Basics
- Blockchain and types
- Consensus Mechanisms and types
- Smart Contracts and examples
- Gas and Transactions
Cryptography
- Encryption and Decryption
- Public and Private Key Encryption
- Hash functions
Digital Signatures
Programming Languages
Solidity: Solidity was modeled after JavaScript to promote ease of transition for JS developers. Solidity is used for Ethereum client dApps and smart contracts, and is the most in-demand skill in the Web3 space.
- Rust: Rust is a C/C++-inspired language used for Solana client dApps and smart contracts. The Parity client was written in Rust.
- JavaScript: As the popular language of the web, JavaScript has libraries that are particularly tailored for Web3. Examples include Etheruem.js, Three.js, Ethers.js, Web3.js, etc.
- Golang: The powerful Go language has shown dexterity in the web3 niche also. For example, the Geth client was written in Go.
- .NET: The .NET framework is not left out. You can easily integrate Ethereum blockchain into your .NET applications using Nethereum.
- C++: C++ mainly qualifies for protocol development - you can never go wrong with the language.
- Python: Given its popularity and ease of use, Python has also seen adoption in Web3. The pyethereum project is an example, as well as the web3.py project.
#conclusion - counting the costs At this point, you've seen and understood everything that's worth seeing and knowing to get started in Blockchain. Is it worth getting into this block? That's for you to decide. If you were in the FinTech space, you may find it somewhat enticing to settle down here. If you have the time and effort to learn a new set of tools and technologies that will prolly build the future of the internet, then, why not? As more companies declare their emergence into Web3, even more, will enter as a means of survival. What that means for developers is more money and opportunities in the space.
Do you like this article?
Consider following me here and on Twitter