A quick note from the editor:
We recently got to moderate a live AMA call that Markus Waas did with our students in the Zero To Mastery virtual campus.
Students and I asked questions about the Solidity language, Blockchain, Web3, what all this is, how it works, some technical questions, and much more.
You can check out some of Markus’ answers to the questions from his AMA call below, but first, let me introduce him.
Markus has been involved with Blockchain technologies and projects for over a decade - basically since the beginning - and working with companies all over the world.
As an instructor in the Zero To Mastery Academy, and the creator of the Solidity, Ethereum, and Blockchain course, Markus aims to share his industry-leading knowledge and fascination with Blockchain technologies with his students, while helping them achieve real-world success in this exciting and growing field.
He has earned Bachelor's and Master's degrees in Computer Science from Humboldt University in Berlin and currently works in New Zealand for Injective Protocol, a new and innovative DeFi protocol layer.
Markus will show you that you don’t need to spend tens of thousands of dollars to get the skills you need to build real-world projects and get hired in the Blockchain industry.
So with the introduction out of the way, let’s dive into the questions! 😊
Want to watch the video, ask questions in our Discord, or join in live on our next expert AMA?
These are all exclusive access for members of Zero To Mastery. You can find out more details about every course and the other benefits of being a ZTM member here.
Solidity was originally composed by Gavin Wood (a cofounder of Ethereum), and then implemented by Christian Reitwiessner.
Their goal was to create a higher-level programming language that allows you to compile code from a high-level language into bytecode for the Ethereum Virtual Machine (EVM).
I think this question stems from new people looking to learn Solidity who already have a background in coding, and are trying to see if they have a good foundation for it before they start.
To clarify, Solidity is actually a language of its own, and not written in anything else. If you want to drill down further, then the compiler that converts the Solidity code into the bytecode is written in C++, but you don’t need to learn C++ to be able to work with Solidity.
Solidity was inspired by Javascript, but the similarities are mainly around the syntax in JS and how that works (i.e how you set the brackets, the semicolons at the end of the line, etc.).
This means that at first glance, you might think it’s similar to Javascript, but the way it works is very different. Solidity works on the Blockchain which of course is the key difference.
Simply put, you can write Smart Contracts which are self-executing contracts, across a decentralized Blockchain network. It may not seem like anything too exciting, but in terms of security, it's next level. Smart contracts are fast, secure, transparent, and immutable.
In broader terms though, Solidity allows you to write programs that are distributed on the Ethereum blockchain, as well as some others, and it’s why Solidity has quickly become the #1 language used to develop Smart Contracts.
Editor's note: We cover more about this, as well as 7 reasons why you should learn Solidity, in this article here.
The best way to learn any language is to get experience using it, which is why we have a course that you can follow, that teaches you the fundamentals then has projects for you to build.
Ultimately, building projects is the best way to learn any programming language.
If you want to learn on your own, and already have coding experience in other languages, then I recommend picking a project you want to build off GitHub, and then working through the documentation at Solidity.org.
It really depends. In reality, you could play the course at 2x speed and watch it all in a day, but I doubt you would remember much!
So, assuming you already have some coding experience and are prepared to knuckle down, you could get a comprehensive understanding of how Solidity works within 2 weeks of full-time study.
But, if you want to also understand how security works and GAS efficiency, then obviously these topics alone can take a year or so to master.
As a rough approximation, I would say that if you follow the course and build the projects, you should be able to start applying for junior level positions within a month or so, assuming again that you can spend full-time effort on learning.
The input for Solidity is very different from the input in other languages because the ‘input’ is essentially transactions through the Ethereum network. This means that someone signs a transaction with their private key, and then broadcasts it to the network, and then eventually it's included in the Blockchain and executed.
Because of this, the output or effect of this happening creates a change in state in the network.
Solidity is actually used on multiple Blockchains, such as Moonbeam, Moss and others.
Solidity is actually quite easy to learn, which is probably why it’s become so popular and the de facto choice for Smart Contracts.
Solidity is:
We recently ran a report on the best programming languages to learn in 2022/23, and Solidity was the highest-paid language out of all 14 we looked at, with an average salary of $130,240 per year.
Not only is it well paid, but so few people actually are trained in this language that there are companies struggling to grow, simply because they can’t find developers!
Assuming you already know a Blockchain language like Solidity, and you’ve worked with tools like Hardhat, the process is pretty similar to applying for any job:
Editor's Note: Networking at Hackathons is how Markus got his first job, so it definitely works!
Blockchain has a pretty fascinating story. No one person necessarily created "Blockchain".
Cryptography is one of the fundamental concepts underlying the Blockchain itself and work and proposals on this can be traced back all the way to the early 1980s from a variety of folks.
However, if we're talking about the first decentralized blockchain that actually was widely used and that we all think of today, then this was started in 2007 by someone or a group of people under the alias Satoshi Nakamoto. They made a number of improvements and changes to the work done by previous cryptographers.
Then in 2008, they released the now infamous Bitcoin whitepaper PDF of how bitcoin works and how Blockchain is used to implement it.
Pretty cool right?
The Blockchain itself seems pretty basic, but there's more depth to it then you first realize.
At it's core, the Blockchain is simply a distributed database where you can store transactions in a specific order. Now it might not seem like this makes much of a difference, but because of this order of linked/connected blocks, it makes it very difficult to hack or tamper with.
This gives not only higher security but peace of mind, while also offering full transparency between both parties.
There's no physical or visual component for you to view the Blockchain, so you can’t open a site or program and look at it. However, its name is actually a pretty descriptive way to understand how it all fits together.
You have a block with information, then a chain or link connecting it to another block, and then that repeats on and on- similar to a bike chain or one of those snake toys you may have got from the zoo as a child.
Now, although you can’t actually look at a visual representation of the Blockchain, you can still use tools like Etherscan to analyze and view transactions in each block of the Blockchain.
This way you have full transparency to see what is being transferred and to who, as well as what events are occurring.
I would have to say Polkadot and Cosmos are the biggest competitors, simply due to the size of developers using them.
If you were thinking of working with these, I would say that Ethereum is the easiest to pick up, thanks to it using Solidity and its main focus of Smart Contracts.
After that, it gets a little more difficult with Cosmos (which uses Golang) and then it gets more complex again with Polkadot (which uses Rust). Another well-known blockcahin, Solana, also uses Rust.
I would definitely recommend you start your Blockchain journey with Solidity first, thanks to its ease of use, but there are options to move across to other Blockchains and languages later on.
Are you interested in Web3 and Blockchain, and want to skill up for this high demand industry?
Well then check out Markus’s course: Solidity, Ethereum, and Blockchain: The Complete Developer's Guide, and learn today!
And if you have any further questions, you can check out our private Discord server where you can ask questions and get answers and help from Markus, as well as from other experienced and beginner Developers.