When you went through this, you have a general idea about blockchain technology. This is a great foundation for your further learning.
2️⃣ Learn About Smart Contracts
Smart contracts are how you can actually program the blockchain. They are code deployed to the chain, written in some language that blockchain nodes can execute.
Smart contracts can nearly do everything, from fungible and non-fungible tokens to the backend of your next decentralized app. They are, however, different from the code you usually write.
They'll make up a good portion of your future work, so better understand them well.
A good introduction that also introduces you to Solidity can be found here. 👇🏻
Decentralized apps consist of two components: Your frontend and smart contracts executed on the blockchain.
For your frontend to talk to the blockchain, you'll need to interface with it.
This is where libraries come in.
There are two popular choices to interface with blockchains that implement the Ethereum API:
🔹 ethers.js
🔹 Web3.js
Pick one, and learn it well. You will definitely need it. It's one of your most important tools from now on.
4️⃣ Learn Solidity
There are many blockchains out there, and nearly equally as many of them come with their own unique way of building smart contracts.
Solidity, however, is the language of the Ethereum VM which is integrated into many other blockchains.
Solidity won't only serve you well on Ethereum. It will also help you to build smart contracts on other chains.
The job market for Solidity developers is the largest by far. Many businesses build or want to build on Ethereum.
It could take a long time until another blockchain reaches the same level of adoption that Ethereum has reached.
Although it currently has a few problems (the chain is overloaded), the community is actively working on migrating the consensus over to Proof-of-Stake.
All scaling problems will be gone when this happens, and the adoption rate might sky-rocket even further.
Until then, layer-2 solutions help to scale the chain, so you don't need to worry about your job and choice.
What you especially need to understand is how gas works and how each line of code you write in Solidity affects the price of execution of your smart contract.
There is no way around it. Unfortunately, some companies optimize aggressively for gas consumption.
If you want to work in this field, you'll need to learn to optimize your code. It will be part of your job and a huge part of some interviews because thorough optimization can save millions of dollars each year for a heavily used app or contract.
Curious? Crypto Zombies is an awesome start to Solidity. You learn by basically playing a game. What's better than this?
A portfolio of projects can help immensely in your job search. If you want to work in this field, build, build, build.
To give you a rough idea of what a project should contain:
🔸 A frontend
🔸 A smart contract
🔸 Some (Solidity) code optimizations with comments explaining why
🔸 Unit tests for everything
🔸 A local test network setup
🔸 E2E tests that thoroughly test the contract
🔸 Continuous Integration
🔸 Continuous Deployment
🔸 An official test net deployment
6️⃣ Apply
With all that new knowledge and a portfolio, you can begin your job search.
Don't be demotivated when it takes some time, especially if you don't have too much industry experience yet. It might well be that some companies try to get talent with more experience.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
There is React, Vue, and Angular, and then there is Svelte. It makes so many things different from all the others, which comes with an awesome developer experience.
Time for an introduction to Svelte, the frontend framework you might fall in love with. 💛
🧵🔽
1️⃣ What is Svelte?
Svelte is a component-based frontend framework like React and Vue that promises:
- Less code
- No virtual DOM
- True reactivity
It delivers on all of these pretty well.
It currently has 47k stars on GitHub and an active community, including 391 contributors.
The community is pretty active, and unlike React, there is no huge corporation backing it.
But no need to worry, Svelte won't vanish anytime soon!
This is a short introduction to Solidity, the programming language used to create smart contracts on the Ethereum VM.
🧵👇🏻
1️⃣ What Is Solidity?
Solidity is an object-oriented, high-level programming language designed to implement smart contracts on the Ethereum Virtual Machine.
It is statically typed, supports inheritance, libraries, and complex user-defined types.
Solidity is a domain-specific language. Besides Python or JavaScript, which are general-purpose languages, Solidity is only meant to be used for smart contract development.
You did some Solidity tutorials, and now you're stuck because you don't know what else to build?
Let me help you out by giving you three simple ideas for dApps, perfect for beginners!
🧵👇🏻
1️⃣ A Voting dApp
Build a dApp that lets users create elections. Any user can start an election and choose a registration period, a voting period, and an ending time.
During the registration period, users can sign up as a candidate.
Once the registration period closes, no one should be able to register anymore. Instead, the voting period starts where anyone can vote for their favorite candidate.
Your frontend should show open elections, the current period, the time remaining, and the candidates.
Do you know what many dApp developers struggle with?
Which data to put on-chain. More data on the chain can drive the cost up. Too much data might render your app unusable. Storing fewer data might not be an option.
Here are some ideas for you to fix this. 🧵👇🏻
1️⃣ Use A Dedicated Database
This approach will make your dApp into an app. If you bring in central data storage, you can circumvent the limits of some blockchains but it doesn't keep the promise of being decentralized.
You can store anything that you can't store on-chain in your database and associate it with a user. Whenever you need that type of data, you fetch it from your database.