Web3, blockchain, NFTs?! It’s all getting a bit year 3000 out there… We’ve pulled this apart to better understand what the future of work looks like for developers in a Web3 world.
What is blockchain?
Blockchain is a database that stores data electronically across a distributed network of ‘blocks’, with each linking in a chain to the prior block once filled. This allows information to be recorded and shared in a way that is fixed and non-editable. The key here is it is not centralized like traditional databases, removing the need for a trusted 3rd party, whilst creating the foundation for an ‘immutable’ ledger, meaning that it cannot be deleted or changed.
This opens up a world of scope for innovation around how we interact with the web (and beyond) today.
What is the difference between Web1, Web2 and Web3?
Web1.0 was the wild west of slow, vertically loading pictures and Netscape, but notably a world wide web where value was owned mostly by the builders and users.
Web2.0 is what we typically see and use today, an internet where data is centralized and siloed, with most of the value therefore given to a small number of largely FAANG (Facebook, Amazon, Apple, Netflix, Google) companies.
Web3.0 is the next iteration of the web. It sees a return to value sitting with the users and builders, enabled by the foundation of decentralized blockchain technology.
Should developers prepare for Web3?
Yes. With the Blockchain industry forecast to hit a market size of $39.7bn by 2025, up from $1.2bn in 2018 it is clear the demand for developers with the right skills will dominate the Web3 job market.
With Web3 built on blockchain technology, and all the hype around NFTs, crypto, DeFi, decentralized applications (dApps), smart contracts… it is clear the future of developer work sits in this realm.
A lot of block chain jargon? Here’s a quick guide:
|NFT||Non-fungible (unique) token. A bitcoin is a fungible token, as it is not unique. You can trade NFTs of images, videos and other data in the knowledge that what you are trading is unique.|
|Crypto||Short for crypto-currency, such as bitcoin. A form of currency that is not centralized by any government or bank.|
|DeFi||Decentralized finance. What bitcoin is to the dollar, DeFi is to the traditional bank. However, instead of an actual organization it takes the form of an enabling applications such as Uniswap rather than a formal intermediary.|
|Smart Contracts||As opposed to going through a bank as an intermediary, DeFi participants enter into smart contracts, which are code that ensures everyone fulfills their obligations in a transaction.|
|dApps||Decentralized applications. These are apps built on blockchain, meaning they are trustless (no 3rd party verifications), transparent (visible to the public) and immutable (can’t be edited later). DeFi is one use case, for the financial sector, of dApps.|
What programming languages should I learn for Web3?
Web3 is here to stay, and whilst it’s still in its infancy it could offer a great playground for ambitious engineers looking to sharpen their skills. But which languages are forecast to be the main players for Web3?
Solidity is a crypto specific language that is already one of the leading blockchain languages, largely due to it being created for writing smart contracts on the Ethereum blockchain.
C++ is one of the oldest languages around, yet definitely has legs to help budding developers move into the Web3 space. Big players in the blockchain field such as Bitcoin, Stellar and Litecoin all use C++, as the main principles of the language are highly compatible with Web3 due to layers of security preventing any alteration to data.
Rust is similar to Solidity in that it can be used to write smart contracts, but has the benefit of not being crypto specific, with widespread usage in gaming circles. This dual usage may merge into one in the future, with Rust placed as an ideal language for gaming transactions in the metaverse. It is particularly robust when handling masses of transactions (potentially hundreds of thousands of transactions per second), again making it a strong contender for the Web3 language of choice. There is a learning curve when compared to other languages, but with its ability to focus developers on reducing common bugs by default, Rust definitely aids the build of robust dApps. One to watch.
Famed for its ease of use and simplicity, Python has a massive following. It has already been used to create contracts for NEO, smart contracts for Hyperledger, and to create the LUNA blockchain, so clearly has scope for application in the Web3 space. Many developers opt for a hybrid language approach when creating dApps that might have varying requirements, meaning Python is often used as part of the development puzzle alongside other languages.
Python definitely has its place in the Web3 developers toolkit, and is a key contender if you’re looking to learn your first language due to its ease of application.
What should I do to prepare for Web3
Whilst picking the right languages for your toolkit is key, simply knowing a variety of languages doesn’t make you a good developer. Key to thriving as a Web3 developer is honing your craft to ensure you’re a well rounded, productive, collaborative team member that is mindful of their work/life balance and wellbeing.
Sounds less black and white than selecting which language to learn? Not with Adadot. We do the hard work cranking the data through seamless integration into your toolset, surfacing the performance facts based on Google’s DORA framework and wellbeing data from industry leading academics. We even give you benchmarking figures against other similarly skilled developers. It’s then over to you to hone your skills and approach to work, to climb the ranks and be best placed to capitalize on the growth of Web3.