What are your top three recommendations for a new developer in the space?

Please let the community know your recommendations, especially what you wish you had known when you started.


My top 3 recommendations for a new developer:

  1. Everyone was new once and not that long ago.

    Ethereum was only proposed in late 2013. An experienced Ethereum smart contract developer has only been working with Ethereum for 6 years or less.

    Don’t be afraid to ask lots of questions. There will be other people wanting to know the answer. (This forum is great for those questions).

  2. ERC20 is an Ethereum Request for Comment and was just Issue #20 in the Ethereum Improvement Proposals repo https://github.com/ethereum/EIPs/issues/20

    A token is a contract with a list of addresses and their balances and some functions to query and update the balances.

    The hard parts are creating great user experiences, developing secure smart contracts and deciding the requirements for your token.

  3. Everyone can contribute.

    It is still very early on. If you find something, ask a question, you may have found something new, if it is, raise an issue, create a Pull Request (even for a typo), improve the ecosystem for everyone.

    I recently made my first Pull Request to OpenZeppelin :smile:

3 Likes

@coinmonks recently wrote Practical Advice for Solidity Developers:

1 Like
  1. I think once you’ve been in the space for even a little bit of time, you forget how much of a cosmic shift in thinking blockchain and especially smart contract dev can be. It’s not just a little bit of new syntax, there are whole new paradigms even for seasoned developers. So my number 1 recommendation is if something doesn’t make sense (which can an extremely demoralising thing for a beginner), just stick it out. Odds are, pretty soon it will just click, and you’ll have your own personal eureka moment.

  2. Always keep a Remix tab open. For those idle moments when you think “I wonder if I could do this with a smart contract”, you have a perfect environment right in your browser to find out, and its probably a better use of brain space than scrolling through Facebook/Reddit/Instagram/whatever.

  3. Build stuff, deploy it, write about it. Don’t worry if it’s not perfect, just build for the landscape we have. Odds are every single Dapp that exists now or will exist in the next few years will eventually be looked back upon in the same way we scoff at 90’s era websites. Who cares?! The road to a decentralised future will be paved with our collective failures. Embrace it.

3 Likes

Thanks for paying it forward @AnAllergyToAnalogy :pray:

I love those Eureka moments.
I like the idea of keeping Remix tab open.
I think Build/Deploy/Write is an awesome mantra.

2 Likes

Welcome @AnAllergyToAnalogy to the forum! :tada:

What you mean by “stick it out”?

Haha been there! I hope someone had shown Remix to me earlier

2 Likes

@martriay thankyou :upside_down_face:

By “stick it out” I mean keep digging or working to understand the thing you’re stuck on.

1 Like

I started smart contract development with Truffle (thanks @tcoulter).
Though I am learning to appreciate Remix for quick and small contracts.

I also wanted to shoutout to the fantastic openzeppelin-test-helpers
They really are awesome. Solving yet another question today: How to check for events that was dispatched in a nested operation?

  1. Play Cryptozombies to learn about Solidity and how to interact with smart contracts (https://cryptozombies.io/)

  2. Play Ethernaut (https://ethernaut.zeppelin.solutions) to learn about the most infamous security issues and read Consensy’s Best Practices (https://consensys.github.io/smart-contract-best-practices/). These are a must for me, even if you’re not thinking of having an active role in the security space of Ethereum.

  3. +1 to this:

4 Likes

I think CryptoZombies is great for helping new people in the space.
I :heart: Ethernaut, learning is great when it’s fun. Plus everyone developing smart contracts needs to be thinking about security. :heavy_plus_sign: :heavy_plus_sign:
I spotted a typo last night, so I better get on with a PR :smile:

1 Like

Daniel Doll-Steinberg on Twitter recommended:

1 Like

I-Speak-Spanish-wow on Reddit recommended:

  1. Go to the gym
  2. Eat healthy
  3. Have a social life.
1 Like

Thank you very much. It got better than it was before. Your absolutly right. This stuff is pretty new, - and since the change from solidity 0.4 -> 0.5.x things with information resources running wild (eg. Medium), because most of the exampe resources (not openZeppelin) need to be ported first to make them run. This is a little bit tough when you start learning.

And as well web3js has done the same…

So that’s why I like so much openZeppelin. It just makes things so much easiser and better

Anyway, I still struggeling with a robust real world robust development toolchain that a can use for real world teaming stuff. So when I’m trough all the stuff may be am able to make some contributions by example. - But it will take some time until I can explain why and how avoid pitfalls.

1 Like
  1. Build your own project
  2. Use OpenZeppelin
  3. Ask ask ask
2 Likes

Great list @ethzeus

Have you got any projects using OpenZeppelin that you would like to show and tell?