Web3, blockchain, NFTs?! It’s all getting a bit of 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.
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 that 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.
Web1.0 was the wild west of slow, vertically loading pictures and Netscape, but notably, a worldwide web where value was owned mostly by 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 users and builders, enabled by the foundation of decentralized blockchain technology.
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), and smart contracts… it is clear the future of developer work sits in this realm.
A lot of blockchain jargon? Here’s a quick guide:
Non-fungible (unique) tokens. Bitcoin is a fungible token, as it is not unique. You can trade NFTs for images, videos, and other data in the knowledge that what you are trading is unique.
Short for crypto-currency, such as bitcoin. A form of currency that is not centralized by any government or bank.
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 enabling applications such as Uniswap rather than a formal intermediary.
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.
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.
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?
Currently, the most used programming language in the world at 69.7% of the market, Javascript (JS) doesn’t look like it’s going to die off with the emergence of Web3. The vast majority of major blockchains already use JS APIs for interacting with the chain, including Neo, IBM Blockchain, Ethereum, and Bitcoin.
Having Javascript in your skillset will only set you up well for both Web2 and Web3 projects, particularly with it forming the basis for other budding languages, making future upskilling easier.
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.
It is largely based on Javascript, so JS developers should find this a relatively easy transition. This also makes a strong case for non-Java developers to take a look at widening their skillset in JS and Solidity alike.
C++ is one of the oldest languages around, yet definitely has the 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 there’s 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 developer toolkit and is a key contender if you’re looking to learn your first language due to its ease of application.
Whilst picking the right language for your toolkit is key, simply knowing a variety of languages doesn’t make you a good developer. The 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.
Also published here.