I'm a cs student looking to learn ethereum development. I'm very confused about all the things I need to learn. Smart contracts are programmed in solidity but if I want to build any kind of app I will need a frontend right? So learning solidity alone is completely useless ?

Do I have to start with a full web dev course? And learn HTML, CSS, js ? What would be the fastest way to learn eth dev and be able to make a portfolio to someday get a job?

I already have coding knowledge mainly in c++ and also know some computer science

But never did web dev

Can anyone help me with a roadmap?

I alredy know some Algorithms/Data Structures and coding in c++ from college


1 Answer 1


If you want to be a "full stack" Ethereum developer, and you cannot rely on the help of other team members, this is the body of knowledge you need to minimally know

  • Front-end JavaScript to write user interfaces and interact with MetaMask

  • HTML, a necessary frontend basic skill

  • CSS, a necessary frontend basic skill

  • Modern JavaScript frameworks like React and their tooling

  • Solidity

  • Any Ethereum development framework like Brownie, Hardhat

  • Node.js: needed to interact with frontend Ethereum toolchains like Hardhat and React builders

  • Unit testing, integration testing, continuous integration best practices

  • Unix command line (needed for tooling). Although a lot of tooling is available on Windows, professional developers prefer macOS or Linux. Thus, you need to know your way around Bash or other Unix shell. Install a Linux on your local computer or start learning linux in Windows Subsystem for Linux (WSL2)

All together it is around two-three years of curriculum for a person without any prior experience in the listed areas above, but with prior experience in professional software development. Probably more than three years if you want to be a professional. For a person without prior experience in programming, I would say learning the basic skills to become a professional takes five years.

Where to start? I would start learning basic web development to the point I can get data out from MetaMask to my web frontend. After that, I would try to create my first smart contract that interacts with my web frontend. Also web frontend development skills are usable outside the Ethereum world, so those skills have a higher likelihood for learning investment return.

  • 1
    Great answer. I’m curious what it takes to be a core developer. Also, would like to add there are different areas of focus if you wish to get into Dapps such as defi or Nft or analytics.
    – whamsicore
    Apr 25, 2021 at 9:13
  • The answer applies to any Dapp development. For "core" development, by this meaning working on the blockchain clients itself like Go Ethereum or OpenEthereum, you need a system-programmer skillset and it is different from the above. Cryptography, theoretical CS, backend scalable programming. Apr 25, 2021 at 9:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.