3

Like a lot of people I’ve following the space closely for about 3 and a half years now (admittedly as a speculator) and am keen to get deeper into contributing to the space as a developer.

I have been learning solidity and dapp development on the side of my full time job and have also gone through a Part time web development bootcamp which was Ruby on Rails based. With the Technical nature of the space and not having a proper CS education, I’ve ruminating on what would be the best way to both quickly become useful to the ecosystem but also how to quickly break in.

The 2 most sensible paths to me are 1. Focus on learning dapp development on my own and build up a portfolio or 2. Explore the idea of doing a CS conversion degree which is usually about a year while attempting to still build a portfolio

Would be very keen to hear your thoughts on the best and most efficient way to approach this and even better if some of you have gone through this journey yourselves!

2

Welcome!

There is likely no one answer to this question. It is not a hard requirement to have a CS degree in many (perhaps) most venues in the Ethereum space. You might enjoy the degree, find that enriches your knowledge, and makes you a better developer. You might find it a waste of time. A lot really depends on how you feel about things.

CS often teaches in a direction of talking about code as opposed to actually "doing" code. This is not meant to be disparaging. If you find yourself drawn to understanding the theoreticals, the conversion might give you something that would take significantly more time to do on your own. If you have more of a hacker mentality, focused on coding and getting things done, like to move fast and break things, then the degree might not be for you.

You mention efficiency - you can be a coder faster if you go alone, but there are grounds for arguing that you can go deeper faster with the degree. (That is an arguable point.)

Another point about the degree is the contingency value. Maybe we hit another bear market (this is written during a bull run in 2021) and it's hard to find a blockchain development position. Having the CS degree is generally an edge in looking for dev positions in many fields.

That all being said, in terms of how to break into blockchain developement (building dapps, specifically), here are the things that you should probably focus on:

  • A web3 library - these connect your code to the blockchain. Looking around, ethereum.rb seems to be the go-to package for Ruby, if you're interested in the JavaScript ecosystem, we recommend ethers.js
  • Some knowledge of Solidity. You don't have to get up to writing prod-level DeFi contracts, but you should be able to read them
  • You will probably need JavaScript, at least on the frontend. One of the interesting things about blockchain development is that it can eliminate the need for a backend. Backend languages are still useful for a host of uses, but in terms of dapp development, there may be no way to fully avoid the JS juggernaut

Much of this was taken from an article diving in to learning blockchain development as a developer, you can see the full article here.

2
  • Thank you so much for this thoughtful response, a lot of great points that I will take into consideration, especially around taking a view on longevity! Will definitely give that article a proper read.
    – attaday
    Mar 23 at 7:48
  • Glad it's helpful! It's a help to us if you could upvote the answer, and maybe even accept the answer (the checkmark, but only if you see as this as the answer). We've just started this account off, and every little bit helps.
    – Linum Labs
    Mar 23 at 9:49
2

That's a question that I feel particularly inclined to respond to! I do not have a CS education. In fact, my full-time job is not even in IT. I learned to code in 2015 (ruby, then ruby on rails), and started learning Dapp development in 2018.

My advice would be to learn by doing. Find a fun project you would like to work on by yourself, then just do it right away. As you face challenges, you will be forced to learn how to solve them to move forward. You will also be motivated to learn because you will want your project to work! Forget about the formal education.

A few additional key advices:

  • If you want to deploy your project on mainnet but don't want to spend the gigantic Ethereum gas fees, try Binance smart chain instead.
  • Solidity is a must for Dapps. Read the docs. All of it!
  • Choose a web3 library that you like and has a lot of documentation. Read the docs. All of it! I went with web3.js because at the time it was pretty much the main one. However, I hear that the new and shiny ether.js may be better. I do not recommend using a lesser known web3 library such as ethereum.rb because you will have a hard time finding answers to your questions.
  • When you start, you do not need to use complicated frameworks like Truffle. They are complex to learn and do not add anything useful for a beginner. Just deploy your Solidity Dapp with Remix and interact with it with your web3 library (or manually through Remix).
  • Be ambitious but realistic. Set the bar high for what you want to achieve, but acknowledge that it will take hundreds of hours before you can produce anything that's remotely useful. At some point, you will likely find a niche project with which you will be able to make money or contribute in some way to the community. In the meantime, just try to do things that are fun and engaging.

Have fun!

1
  • Great point about Remix, +1.
    – Linum Labs
    Apr 5 at 7:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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