<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Web3 Mastery</title>
    <description>The latest articles on Forem by Web3 Mastery (@web3mastery).</description>
    <link>https://forem.com/web3mastery</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F8676%2Fa0f5b7fc-eb98-451a-aa13-171d39038bb9.png</url>
      <title>Forem: Web3 Mastery</title>
      <link>https://forem.com/web3mastery</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/web3mastery"/>
    <language>en</language>
    <item>
      <title>5 Selected Platforms To Find Web3 Jobs In 2024</title>
      <dc:creator>Andrew James Okpainmo</dc:creator>
      <pubDate>Sun, 28 Apr 2024 11:58:24 +0000</pubDate>
      <link>https://forem.com/web3mastery/5-selected-platforms-to-find-web3-jobs-in-2024-dmo</link>
      <guid>https://forem.com/web3mastery/5-selected-platforms-to-find-web3-jobs-in-2024-dmo</guid>
      <description>&lt;p&gt;The long-awaited crypto/web3 bull run is here and it's truly an awesome time to be in the web3 space.&lt;/p&gt;

&lt;p&gt;With Bitcoin hitting a new all-time high of over $70K, and the general web3 space doing quite well for a while now, the potential&lt;br&gt;
of getting hired as a blockchain/web3 professional is now higher.&lt;/p&gt;

&lt;p&gt;Whether you're from a technical web3 background or not, this is a great time to put your acts together and make the best &lt;br&gt;
of all your efforts towards securing your next web3 job.&lt;/p&gt;

&lt;p&gt;In this article, I'm listing out 5 &lt;strong&gt;carefully hand-picked&lt;/strong&gt; web3 platforms where you can find web3 jobs in 2024. These platforms &lt;br&gt;
were carefully selected based on different relevant criteria to prevent this article from becoming just another spam "X platforms to find web3 jobs" article.&lt;/p&gt;

&lt;p&gt;Below are the &lt;strong&gt;"5 Selected Platforms to help you find web3 jobs in 2024"&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;a href="https://web3.career/" rel="noopener noreferrer"&gt;Web.career&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ng6mz761i5clhjpuwb4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ng6mz761i5clhjpuwb4.png" alt="screenshot from the web3.career website" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web3.career is a web3 jobs platform that I've been using personally. &lt;/p&gt;

&lt;p&gt;Somehow, this platform has made itself a stand-out platform when it comes to finding web3 jobs. It's Probably the most popular web3 &lt;br&gt;
jobs platform currently available.&lt;/p&gt;

&lt;p&gt;Even though I generally haven't had the best experience with using the platform, I trust that it's still one of the best platforms to&lt;br&gt;
help you find your next web3 job in 2024.&lt;/p&gt;

&lt;p&gt;Do check it out and explore your chances. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Link&lt;/strong&gt;: &lt;a href="https://web3.career/" rel="noopener noreferrer"&gt;Web.career&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;a href="https://cryptojobslist.com/" rel="noopener noreferrer"&gt;CryptoJobsList&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy51esae3mjpmm37a298r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy51esae3mjpmm37a298r.png" alt="screenshot from the CryptoJobsList website" width="800" height="464"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CryptoJobsList, is one of the most impressive web3 jobs platforms you will find out there. From a beautiful user interface to the &lt;br&gt;
highly professional service offerings on the platform, CryptoJobsList almost made it to number 1 in this article.&lt;/p&gt;

&lt;p&gt;There's even more. &lt;/p&gt;

&lt;p&gt;The platform goes way beyond with a dedicated Telegram channel(currently having over 10K subscribers). With Telegram, &lt;br&gt;
you can certainly receive notifications about new job postings all on the go.&lt;/p&gt;

&lt;p&gt;You can also find links on the platform to help you access their bot provisions for Telegram and Discord.&lt;/p&gt;

&lt;p&gt;In all, CryptoJobsList is one of the best platforms to help you get a web3 job as fast and as conveniently as possible.&lt;/p&gt;

&lt;p&gt;I highly recommend CryptoJobsList.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Link&lt;/strong&gt;: &lt;a href="https://cryptojobslist.com/" rel="noopener noreferrer"&gt;CryptoJobsList&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;a href="https://wellfound.com/web3" rel="noopener noreferrer"&gt;Wellfound(Web3)&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdtfm4qepglqp5wzrf09x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdtfm4qepglqp5wzrf09x.png" alt="screenshot from the Wellfound website" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I bet you never knew that Wellfound(formerly "AngelistList Talent") has a dedicated web3 section on their web platform. &lt;/p&gt;

&lt;p&gt;Well, now you know!&lt;/p&gt;

&lt;p&gt;Wellfound remains one of the most popular and well-established job platforms on the planet. With a section dedicated to web3, this helps streamline your search and makes the process of finding web3-only jobs much easier compared to a platform like Linkedin.&lt;/p&gt;

&lt;p&gt;Wellfound boasts of helping top web3 companies like &lt;a href="https://opensea.io/" rel="noopener noreferrer"&gt;Opensea&lt;/a&gt; and &lt;a href="https://uniswap.org/" rel="noopener noreferrer"&gt;Uniswap&lt;/a&gt;, in building &lt;br&gt;
their engineering teams. Wellfound is definitely one of the best platforms to try out if you wish to find a top web3 job in 2024.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Link&lt;/strong&gt;: &lt;a href="https://wellfound.com/web3" rel="noopener noreferrer"&gt;Wellfound(Web3)&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. &lt;a href="https://calyptus.co/" rel="noopener noreferrer"&gt;Calyptus&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5byls6bva4ruryy5id2g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5byls6bva4ruryy5id2g.png" alt="screenshot from the the Calyptus website" width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Calyptus is another web3 platform to help you find your next web3 job in 2024.&lt;/p&gt;

&lt;p&gt;Beyond just jobs, Calyptus is a more vast platform that provides educational support by providing various web3 resources to users.&lt;/p&gt;

&lt;p&gt;I added Calyptus to this list thanks to how active the platform is with regards to hiring on Linkedin. &lt;/p&gt;

&lt;p&gt;You can also follow Calyptus on Linkedin to increase of your chances of securing that next web3 role.&lt;/p&gt;

&lt;p&gt;Wishing you all the best.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Link&lt;/strong&gt;: &lt;a href="https://calyptus.co/" rel="noopener noreferrer"&gt;Calyptus&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. &lt;a href="https://www.linkedin.com/jobs/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr36xkskgav06bzbv9cye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr36xkskgav06bzbv9cye.png" alt="Image description" width="800" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And yes, LinkedIn made it into the list. &lt;/p&gt;

&lt;p&gt;LinkedIn remains one of the best platforms to find web3 jobs at the moment. The most important &lt;br&gt;
point that accounts for that is the fact that LinkedIn is the most popular professional/job-based social media platform currently &lt;br&gt;
available. By effectively combining the ability to easily connect with the recruiter/job poster, You can easily apply cold-emailing&lt;br&gt;
strategies and further increase your chances of getting hired.&lt;/p&gt;

&lt;p&gt;LinkedIn might not be the perfect place to find the most web3 jobs, but it certainly remains one of the most important.&lt;/p&gt;

&lt;p&gt;Go ahead and hop on Linkedin, build your profile, connect with other professionals in the web3 space, and engage and apply for jobs.&lt;/p&gt;

&lt;p&gt;Wishing you all the best.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Link&lt;/strong&gt;: &lt;a href="https://www.linkedin.com/jobs/" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;There you have it folks - "5 awesome platforms to help you find web3 jobs in 2024". &lt;/p&gt;

&lt;p&gt;I'm confident that this article will be one you remember as a result of how it enabled you explore the web3 jobs platform that finally lands you your next web3 role.&lt;/p&gt;

&lt;p&gt;I hope it does.&lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;/p&gt;

&lt;p&gt;Cheers!!!&lt;/p&gt;

</description>
      <category>web3</category>
      <category>webcareer</category>
      <category>web3jobs</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>How To Learn Solidity In 2024</title>
      <dc:creator>Andrew James Okpainmo</dc:creator>
      <pubDate>Wed, 17 Apr 2024 01:49:21 +0000</pubDate>
      <link>https://forem.com/web3mastery/how-to-learn-solidity-in-2024-47ll</link>
      <guid>https://forem.com/web3mastery/how-to-learn-solidity-in-2024-47ll</guid>
      <description>&lt;p&gt;&lt;em&gt;post banner credit: &lt;a href="https://soliditylang.org/" rel="noopener noreferrer"&gt;https://soliditylang.org/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I suppose you know by now, what &lt;a href="https://soliditylang.org/" rel="noopener noreferrer"&gt;Solidity&lt;/a&gt;(the programming language) is all about. &lt;/p&gt;

&lt;p&gt;Just in case you do not, no worries as I'll be explaining that in just a bit. &lt;/p&gt;

&lt;p&gt;For short, Solidity is a programming language that is used for building smart contracts.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Smart contracts are autonomous computer programs that are executed in a decentralized manner - without the need&lt;br&gt;
of a centralized or third-party entity. They are basically sets of computer codes that control the execution of &lt;br&gt;
agreements/transactions on top of blockchains. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To give you a first-hand look of how smart contracts are written in Solidity, just below is some Solidity smart contract code, &lt;br&gt;
The code below shows how to use variables, structs(a data type), functions and a lot more in Solidity.&lt;/p&gt;

&lt;p&gt;As can be easily deduced, the smart contract creates a new user(programmaticPerson), provides for assigning certain data to the &lt;br&gt;
person(through the person struct), and then also provides for obtaining those individual data (that were added) about the person.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// solidity code

    // SPDX-License-Identifier: MIT

    pragma solidity ^0.8.0;

    contract PracticeContract {
        uint private myNumber;

        struct PersonStruct {
            string name;
            uint favouriteNumber;
            bool isMale;
        }

        PersonStruct private programmaticPerson;

        function setPerson(
            string memory _name,
            uint _favouriteNumber,
            bool _isMale
        ) public {
            programmaticPerson = PersonStruct({
                name: _name,
                favouriteNumber: _favouriteNumber,
                isMale: _isMale
            });
        }

        function getProgrammaticPerson() public view returns (PersonStruct memory) {
            return programmaticPerson;
        } 

        // Function to get the name of the programmatic person
        function getProgrammaticPersonName() public view returns (string memory) {
            return programmaticPerson.name;
        }

        // Function to get the favorite number of the programmatic person
        function getProgrammaticPersonFavouriteNumber() public view returns (uint) {
            return programmaticPerson.favouriteNumber;
        }

        // Function to get the gender of the programmatic person
        function getProgrammaticPersonGender() public view returns (bool) {
            return programmaticPerson.isMale;
        }
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this article, I'll be sharing some important details about Solidity, and also giving you some pro-guidance on how best to &lt;br&gt;
approach learning Solidity - especially if you want to become a blockchain/smart-contract developer in 2024.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'll be using the above code-snippet more in this article, so as to help your understanding and drive home the message a &lt;br&gt;
lot better.&lt;/strong&gt; &lt;/p&gt;
&lt;h2&gt;
  
  
  A little more about Solidity.
&lt;/h2&gt;

&lt;p&gt;According to the &lt;a href="https://soliditylang.org/" rel="noopener noreferrer"&gt;Solidity website&lt;/a&gt;; &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Solidity is "A statically-typed curly-braces programming language designed for developing smart contracts that run on &lt;br&gt;
&lt;a href="https://ethereum.org/" rel="noopener noreferrer"&gt;Ethereum&lt;/a&gt;"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Even though Solidity can also be used on &lt;a href="https://solana.com" rel="noopener noreferrer"&gt;Solana&lt;/a&gt; as explained &lt;br&gt;
&lt;a href="https://www.quicknode.com/guides/solana-development/solidity/solang-get-started" rel="noopener noreferrer"&gt;in this article&lt;/a&gt;, Solidity was primarily &lt;br&gt;
created for programming smart contracts on Ethereum.&lt;/p&gt;

&lt;p&gt;Now that you've gotten a good introduction as to what Solidity is all about, Let's move on to explaining how you should approach &lt;br&gt;
learning solidity in 2024 - expecially if you're intending to become a smart contract developer.&lt;/p&gt;

&lt;p&gt;This article is best suited for folks that are totally new to programming - especially those who are just at the beginning &lt;br&gt;
of their software engineering/development careers - with Solidity as their first programming language. It's also a perfect &lt;br&gt;
resource for folks who have some programming experience, but have not learnt or used Javascript earlier. &lt;/p&gt;

&lt;p&gt;It's also important to note that the inspiration for this article came through my personal experience. I hope my experience &lt;br&gt;
helps you discover a better approach that empowers you to learn Solidity in a way that will be more rewarding.  &lt;/p&gt;
&lt;h2&gt;
  
  
  How you should approach learning Solidity in 2024.
&lt;/h2&gt;

&lt;p&gt;Below are some key-notes to consider if you wish to Learn Solidity for smart contract development in 2024.&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Learn Javascript first.
&lt;/h3&gt;

&lt;p&gt;The main reason why I recommended this, is the fact that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;As a Solidity developer, you will most-likely need Javascript when working with your smart contracts&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you're a seasoned programmer with experience in working with different programming languages, or just a starter&lt;br&gt;
in the tech space. As long as you intend to become a smart contract developer, learning Javascript is a task you'll hardly &lt;br&gt;
escape.&lt;/p&gt;

&lt;p&gt;A practical example of this, is when working with Hardhat. Hardhat is a javascript-based smart contract development framework&lt;br&gt;
/suite that provides blockchain developers with the necessary stack of tools they need to work with smart contracts. It is&lt;br&gt;
an all-in-one tool for developing, testing, deploying and even interacting with smart contracts.&lt;/p&gt;

&lt;p&gt;In the case of using Hardhat, even though your smart contracts are written in Solidity, you will still need Javascript to &lt;br&gt;
write you test and script like your deployment script(s), or scripts to interract with functionalities provided in &lt;br&gt;
the smart contact.&lt;/p&gt;

&lt;p&gt;Furthermore, when it comes to interracting with your smart contracts(especially in a front-end application) after &lt;br&gt;
deploying them, you'll still need libraries likely &lt;a href="https://docs.ethers.org/v6/" rel="noopener noreferrer"&gt;Ethers js&lt;/a&gt; and &lt;br&gt;
&lt;a href="https://web3js.readthedocs.io/en/v1.10.0/" rel="noopener noreferrer"&gt;Web3 js&lt;/a&gt; or more robust tools like &lt;br&gt;
&lt;a href="https://docs.moralis.io/" rel="noopener noreferrer"&gt;Moralis&lt;/a&gt; and &lt;a href="https://wagmi.sh/" rel="noopener noreferrer"&gt;Wagmi&lt;/a&gt; - &lt;strong&gt;which are all Javascript based&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It's all boils down to the fact that - you'll certainly need Javascript at one point or the other in your career as a blockchain&lt;br&gt;
developer. &lt;/p&gt;

&lt;p&gt;You might still be wondering why you need to "learn Javascript &lt;strong&gt;first&lt;/strong&gt;" - this next point addresses that.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Javascript is a simpler and loose programming language - hence will be more easy to learn than Solidity&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Javascript is a simple programming langauge. To add to this, is the fact that it is also a dynamically-typed(you don't need to &lt;br&gt;
declare types) and loosely typed(it's ability to do &lt;strong&gt;"super-silly"&lt;/strong&gt; things like adding/concatenating a &lt;strong&gt;string&lt;/strong&gt; to/with a &lt;br&gt;
&lt;strong&gt;number&lt;/strong&gt;) programming language, unlike Solidity which is a statically-typed programming language.&lt;/p&gt;

&lt;p&gt;All these &lt;strong&gt;disadvatages&lt;/strong&gt; of using Javascript, do serve as potential advantages to folks who are learning it for the first time.&lt;br&gt;
The loose and dynamically-typed nature of Javascript saves you from a "nosy tantrum-throwing compiler" &lt;br&gt;
that keeps complaining about your code until you get it right. Those complaints can be frustrating - especially for&lt;br&gt;
newbies.&lt;/p&gt;

&lt;p&gt;The third reason why it's a good-idea to learn Javascript before Solidity, has to do with &lt;strong&gt;similarity in syntax&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Solidity is quite similar to Javascript syntax-wise&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The two code-snippets below, show how to write two selected functions from the above smart contract in both Solidity and &lt;br&gt;
Javascript.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// solidity code

    // SPDX-License-Identifier: MIT

    ...

        function setPerson(
            string memory _name,
            uint _favouriteNumber,
            bool _isMale
        ) public {
            programmaticPerson = PersonStruct({
                name: _name,
                favouriteNumber: _favouriteNumber,
                isMale: _isMale
            });
        }

        function getProgrammaticPerson() public view returns (PersonStruct memory) {
            return programmaticPerson;
        } 

    ...

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// javascript code&lt;/span&gt;

    &lt;span class="p"&gt;...&lt;/span&gt;

        &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;setPerson&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="nx"&gt;_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nx"&gt;_favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nx"&gt;_isMale&lt;/span&gt;
        &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
           &lt;span class="nx"&gt;programmaticPerson&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="na"&gt;favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;_favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="na"&gt;isMale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;_isMale&lt;/span&gt;
            &lt;span class="p"&gt;};&lt;/span&gt;

           &lt;span class="cm"&gt;/* do something with programmaticPerson like 
           using it to update a database, then 'returning' to end the function*/&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getProgrammaticPerson&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;programmaticPerson&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; 

    &lt;span class="p"&gt;...&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The code snippets above, reveal very practically - the similarity in syntax between Javascript and Solidity.&lt;/p&gt;

&lt;p&gt;Both syntax are very similar - except for some extra foreign/unique concepts in both language like how they declare variables&lt;br&gt;
differently, types and return-types, visibility, and storage - all in solidity, and more other differences. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Combining the above factor about syntax-similarity and the previous ones - especially the one about Javascript being easier to&lt;br&gt;
learn, it's simply a no-brainer to learn Javascript before taking on Solidity.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  2. Learn Typescript next.
&lt;/h3&gt;

&lt;p&gt;After learning Javascript, there's still one more hurdle I recommend that you cross before proceeding to learn Solidity. &lt;br&gt;
&lt;strong&gt;That's Typescript&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you're not new to software development, I bet you've heard about Typescript by now. But Just in case you have not;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Typescript is a &lt;strong&gt;superset&lt;/strong&gt; of Javascript. Not really a "programming language" Per se. but more like a tool/compiler that &lt;br&gt;
serves as a type-checking wrapper for Javascript. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The term &lt;strong&gt;superset of Javascript&lt;/strong&gt; simply means that every Javascript is&lt;br&gt;
valid Typescript. Typescript simply improves Javascript by introducing &lt;strong&gt;types&lt;/strong&gt;, hence serving as a statically-typed version of&lt;br&gt;
Javascript that makes up for it's shortcomings.&lt;/p&gt;

&lt;p&gt;Below are three code snippets showing a similar way to write the same code in Javascript, Typescript, and Solidity.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// javascript code&lt;/span&gt;

    &lt;span class="p"&gt;...&lt;/span&gt;

    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;programmaticPerson&lt;/span&gt;

    &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;setPerson&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nx"&gt;_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nx"&gt;_favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nx"&gt;_isMale&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;programmaticPerson&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;_favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;isMale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;_isMale&lt;/span&gt;
        &lt;span class="p"&gt;};&lt;/span&gt;

        &lt;span class="cm"&gt;/* do something with programmaticPerson like 
        using it to update a database, then 'returning' to end the function */&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; 

    &lt;span class="p"&gt;...&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// typescript code&lt;/span&gt;


    &lt;span class="p"&gt;...&lt;/span&gt;

    &lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;Person&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;isMale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;programmaticPerson&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Person&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;setPerson&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nx"&gt;_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="nx"&gt;_favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="nx"&gt;_isMale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt;
        &lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;programmaticPerson&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;_favouriteNumber&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;isMale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;_isMale&lt;/span&gt;
        &lt;span class="p"&gt;};&lt;/span&gt;

         &lt;span class="cm"&gt;/* do something with programmaticPerson like 
        using it to update a database, then 'returning' to end the function */&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="p"&gt;...&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// solidity code

    ...

    struct Person {
        string name;
        uint favouriteNumber;
        bool isMale;
    }

    Person private programmaticPerson;

    function setPerson(
        string memory _name,
        uint _favouriteNumber,
        bool _isMale
    ) public {
        programmaticPerson = Person({
            name: _name,
            favouriteNumber: _favouriteNumber,
            isMale: _isMale
        });
    }

    ...

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;As can be seen after a close look at all three code snippets above, it obviously can be deduced that the Typescript code looks&lt;br&gt;
more like Solidity. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This makes so much sense.&lt;/p&gt;

&lt;p&gt;Even though learning Typescript before Solidity is very important(especially in today's current JS/TS ecosystem where Typescript &lt;br&gt;
is more preferred to Javascript, due to the fact that it helps to write more robust and reliable code), it will still not be &lt;br&gt;
a compulsory recommendation that you learn Typescript before Solidity - &lt;strong&gt;as long as you already know or can use another &lt;br&gt;
statically-typed programming language&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;If you &lt;strong&gt;do not&lt;/strong&gt; have a previous experience of working with any statically-typed programming language, then I'll say you should &lt;br&gt;
take out some time and learn Typescript before proceeding to learn Solidity. A week or two of hardwork should be more than &lt;br&gt;
enough for that.&lt;/p&gt;

&lt;p&gt;Solidity will appear harder and more-complex to learn - if you know only Javascript(or only another dynamically typed programming&lt;br&gt;
language). The main reason for that is the static-typing in Solidity. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Having to work with types for the first time can be challenging. And I really won't recommend that you learn to do that &lt;br&gt;
with a programming language like Solidity.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The summary here is very simply: Learn Javascript first due to all the facts explained earlier, then learn typescript&lt;br&gt;
Since the transition process from Javascript to Typescript will be pretty easier.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  3. Proceed to take some Solidity crash courses.
&lt;/h3&gt;

&lt;p&gt;Now you're ready to take on Solidity. &lt;/p&gt;

&lt;p&gt;But from my years of experience with learning programming languages and/or tools, libraries and frameworks, I still won't recommend that you go "right all in" just yet.&lt;/p&gt;

&lt;p&gt;I'll suggest that you start with a crash course first.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Look around for some(at least 3) Solidity crash content or courses(videos, articles, PDFs or whatever, - &lt;br&gt;
videos should not exceed 2 hours) and go through them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;By taking a crash course, you'll easily get a good grasp of foundational concepts. This will also help you get coding and building&lt;br&gt;
real projects faster - &lt;strong&gt;which in turn increases/improves the fulfillment level and makes the learning process more rewarding&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This &lt;a href="https://www.youtube.com/watch?v=RQzuQb0dfBM" rel="noopener noreferrer"&gt;"Learn Solidity in 20 Minutes!"&lt;/a&gt; video from the &lt;a href="https://www.youtube.com/@DappUniversity" rel="noopener noreferrer"&gt;Dapp University Youtube channel&lt;/a&gt; is one gem of a resource that&lt;br&gt;
I'll recommend to anyone who is working or intending to work with Solidity - &lt;strong&gt;Whether a complete newbie or a good-ole&lt;br&gt;
blockchain pro&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzykwc0qcyd54x4izm5cp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzykwc0qcyd54x4izm5cp.png" alt="Dapp university youtube video screenshot" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do look it up.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Go all in - into the rabbit-hole.
&lt;/h3&gt;

&lt;p&gt;If you follow the blue-prints in this article from scratch, at this point(after following points 1,2 and 3), &lt;br&gt;
you will be good with smart-contract to a certain degree already.&lt;/p&gt;

&lt;p&gt;Now you can go all in and take any Solidity developer course - irrespective of how monsterous the course may be.&lt;/p&gt;

&lt;p&gt;With respect to recommended courses, two awesome ones will be.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The &lt;a href="https://www.youtube.com/watch?v=gyMwXuJrbJQ&amp;amp;pp=ygUSMzIgaG91cnNlIHNvbGlkaXR5" rel="noopener noreferrer"&gt;Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript
– 32-Hour Course&lt;/a&gt; by 
&lt;a href="https://twitter.com/PatrickAlphaC" rel="noopener noreferrer"&gt;Patrick Collins&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7301vy3pdi9dkxrdzofd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7301vy3pdi9dkxrdzofd.png" alt="screenshot of the 'Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript&amp;lt;br&amp;gt;
 – 32-Hour Course'" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The 3 part &lt;strong&gt;Learn Solidity, Blockchain Development, &amp;amp; Smart Contracts | Powered By AI - Full Course&lt;/strong&gt;
also by &lt;a href="https://twitter.com/PatrickAlphaC" rel="noopener noreferrer"&gt;Patrick Collins&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Part 1&lt;/strong&gt;: &lt;a href="https://www.youtube.com/watch?v=umepbfKp5rI" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=umepbfKp5rI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Part 2&lt;/strong&gt;: &lt;a href="https://www.youtube.com/watch?v=sas02qSFZ74" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=sas02qSFZ74&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Part 3&lt;/strong&gt;: &lt;a href="https://www.youtube.com/watch?v=wUjYK5gwNZs" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=wUjYK5gwNZs&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Both of these course(individually - which ever you choose) are more than enough to make you a world class blockchain &lt;br&gt;
 developer. And best deal - "all for free on Youtube"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Wrapping up.
&lt;/h2&gt;

&lt;p&gt;There you have it friends, I've done my best in this article - sharing from my learnings: &lt;br&gt;
 "The best way I think possible, to learn Solidity in 2024". &lt;/p&gt;

&lt;p&gt;I hope it helped/helps.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This post was originally published on the &lt;a href="https://www.web3mastery.org/" rel="noopener noreferrer"&gt;Web3 Mastery Website&lt;/a&gt;. Explore &lt;a href="https://www.web3mastery.org/" rel="noopener noreferrer"&gt;Web3 Mastery&lt;/a&gt; for more awesome content like this article.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

</description>
      <category>solidity</category>
      <category>ethereum</category>
      <category>blockchain</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
