Settle Portfolio

Modular portfolio management supporting Digital Asset and Crypto Derivatives.
Open App
EGS Garage with Chaz #2: Anyone can learn Solidity

EGS Garage with Chaz #2: Anyone can learn Solidity

Anyone can learn solidity

Welcome back to EGS Garage with Chaz

If you read the first installment of EGS Garage with Chaz, you know we’re here to create a DApp from scratch. Much like cooking from scratch, you’re going to need a few simple ingredients. To get started programming smart contracts, you need 3 things: the skills, the tools, and a curiosity for problem solving. Today, we’re going to discuss how to go about acquiring the skills you’ll need along the way. And don’t worry: if I can learn Solidity, you can too.

Google is your friend

Programming is easier than you’d think to learn. Admittedly, I have some experience, and I studied computer science for two years at Ohio State before switching majors. That being said, I wasn’t a perfect student, as you probably already guessed. I’ll let you in on a little secret though: I learned almost all my programming skills by Googling. Ask any programmer. I swear. If they say that they don’t Google half the errors the come across, they’re lying to you. There are a ton of resources and people out there that can help you. You aren’t expected to know everything. That’s why there is reference documentation for most software.

Learning is a process

Like I did, you can learn programming skills just by following along with online tutorials and tinkering on personal projects. If you spend even a few minutes each day, you can pick up the skills you need to get started pretty quickly. And maybe you don’t become an expert overnight, but keep at it.

You don’t have to be a master to get started. You simply must understand basic concepts and know where to look for more information. For starters, you’ll want to keep the Solidity docs handy while you work. That’ll often be the first place you should to check for quick answers about variables, functions, etc.

Solidity as a language feels similar to writing in JavaScript. For this reason, I recommend you go through at least the first 9 sections of Codecademy’s JavaScript tutorial. Having a basic understanding of JavaScript will help you understand and learn Solidity. Also, you might need it down the road to build a web interface for your smart contract.

Once you’ve completed that tutorial – or simply feel ready – you should move on and start to learn Solidity.

Learn Solidity the fun way

In case you didn’t know, Solidity is the programming language most commonly used to write smart contracts on the Ethereum blockchain. I always recommend that anyone new start to learn Solidity with Loom’s amazing CryptoZombies tutorial. Seriously, I can’t recommend this course enough. I hope you find it as fun and interesting as I did.

CryptoZombies walks you through some of the more confusing concepts of writing smart contracts in an engaging way. You design your own Zombie game for the blockchain that’s ready for deployment by the end. I recommend you remain patient and really understand the concepts before you move on to personal projects. Because if you are anything like me, your curiosity takes over at a certain point. You learn some new things, feel like you’ve got it, and your curiosity drives you to move on, but…

Curiosity killed the cat

You’ll save yourself a lot of time if you have a strong grasp of all the lessons before moving on. Don’t be like me. I moved on a little too early and started plugging away at BridgeBurner. I had some degree of success but then ran into problems. In fact, I found myself returning to CryptoZombies to see how they structured certain aspects of their contracts. I can tell you from experience: you’ll make things more frustrating and difficult for yourself if you don’t have a plan.

Take time to plan

In school, my professors would make us write our programs out on paper in “pseudo-code.” I hated it at the time, but now I understand its value. It makes complete sense when you think about it. How can you build anything without a plan? So grab a pencil and piece of paper and sketch out conceptually how you think your program or smart contract will work. Draw symbols and arrows. Write out the functions, values, and everything that’s in your head. Don’t be afraid to erase it all and start over. Programming is all about learning to fail faster, break things, and iterate on what works. Sketching out pictures and imagining how your DApp will function ahead of time will reduce the likelihood of having to start over later.

Follow the mantra of a good carpenter: measure twice, cut once. You won’t regret it.

Next time, I’ll tell you all about all about how I got started and my big mistakes in BridgeBurner. You won’t want to miss it!

Thanks for reading. See you next time! In the meantime, if you have any questions or comments, just find me @ChazSchmidt on Twitter or in the Concourse Discord. I’d especially like to hear what you think about the new EGS Garage logo.


Concourse Open Community

 ETH Gas Station

🍇 DeFi Pulse

🐿 DEX.AG

🔥 Rek.to

🥙 Layr2

🦏 ConcourseQ 

🦖 Settle

💸 Whisp