10 Tips for Learning Ethereum from Scratch

From nuclear engineer to Ethereum dev: B9lab alum Karen Scarborough shares her remarkable learning journey

Karen Scarbrough
B9lab blog

--

In July 2017, I started learning Ethereum. For me, it was a large undertaking in self-study. Although I did complete the B9lab Certified Ethereum Developer course, my previous experience lent more towards resourcefulness than actual knowledge of the subjects needed to complete this course.

I have survived an undergrad in Nuclear & Radiological Engineering from Georgia Tech — but I did not come into this with a programming or developer background, only a short bout with MATLAB in college.

I was among the first of my friends to learn what blockchain was — but I was definitely not one of the first to hear about it, I had only heard about blockchain in April 2017.

I have contacts in lots of different industries — but at the start, I did not know any other Ethereum developers, and I could probably count the number of developers in other categories that I did know on one hand.

But I read a lot, and I was looking to do something different with my life than what I had been working on in the past. The more I read about blockchain, and Ethereum in particular, the more active I became in my pursuit of knowledge. In the past, my organizational and analytical strengths propelled me into roles that I excelled in, but knowledge and discernment are the catalysts to turn those skills into something much bigger.

In short, I wanted to build my knowledge in Ethereum, specifically in development, and leverage my past experiences to further its application, which I believe will help make peoples’ lives better.

At this point, I am able to write smart contracts, deploy, test and build a Dapp with Truffle. I have a strong appreciation for security and the EVM, and I continuously add to a list of more that I want to learn. This description may sound simple (and I probably am oversimplifying here), but the growth over these past six months was incredible. The below summarizes my approach and recommendations for any others interested in learning Ethereum (or anything else, really) — some points may seem off topic, but my personal experience is such that these elements do make a difference.

1. Decide — Too often we approach goals with conditionals — if I have the time, if I understand it, etc. Decide you’re going to learn it. Most of us are fortunate enough that there’s no scientific reason as to why we can’t learn something. Perhaps it takes you longer to understand it, maybe you have to start at the fundamentals, or maybe you don’t have the right set up on your machine? Don’t let those things become excuses, decide before you encounter them that you’ll figure it out.

2. Learn fundamentals — Draw down to the most basic level. Move at a glacial pace for a while. I spent weeks understanding how web application worked, how a compiler works, callbacks, promises, virtual machines etc. After a distinct misunderstanding of interfaces and object oriented programming patterns, I watched days of YouTube and made a few Amazon purchases to better understand it. I went through courses on freeCodeCamp, Code School, Codecademy. I gave a lot of claps on Medium, and read a lot of StackExchange.

3. Create a routine — During the week days, every morning I woke up, got my coffee, read for 20–30 minutes , journaled for another 20–30 minutes, coded until lunch, continued coding for another hour or two after lunch, and then during the afternoon lull, I’d either go for a run or get out to the Whole Foods cafe to spend some time reading. After dinner, I’d get back to coding for another two to three hours or go to a meetup (more on this later) or other event. On the weekends, I take at least one day off — admittedly I didn’t do this the first four months, but gradually, I realized I needed it. Your routine is about as much as you do outside of learning as in it. You can roll out of bed and go code immediately or you can stay up until 3:00am every night coding, but what I realized in trying to do those things is that longevity wise they were not as helpful as maintaining a routine. Yes, you can learn by battling out a bug in your code until 4:00am. But is it worth throwing off the next day? You’ve got to use some discernment in that. Ultimately, I found that strong, sustained investment overtime was more beneficial to me than bouts of intensity.

4. Get out there — Prior to my study when I was looking for a job, a friend of mine told me that her goal during unemployment was to attend at least 4–5 networking events a week. As unsavory as that sounds, it was one of the best things I did. When I started attending Bitcoin, blockchain, and Ethereum meetups I felt okay walking into a room full of people I didn’t know. And you know, it has actually been so much more enjoyable because instead of a cocktail hour of randomly assorted contacts, you’re in a place full of people specifically interested in what you are interested in, too. Also, while I have been studying as opposed to job hunting, it has taken the pressure off of meeting the “right contacts,” which is something I’ll continue. Don’t worry about talking to the person you perceive as the most important person in the room — you can learn something from everyone, truly. And what’s more, you can refine how you tell your story and how well you are able to talk about what you know.

5. Take care of yourself — The amount of scientific research here is just beyond the human attention span . Here I’m referencing nutrition, exercise, brain health, etc. Your gut sends more signals to your brain than the brain to the rest of your body. Your brain consumes the most energy of any part of your body. Really, take care of it. You’re not stuck with the focus and performance you have now — you have epigenetics to thank for that. You don’t have to force your way through focus. Research ways to improve this. I have a bullet proof coffee every morning, and I am consistent on food quality and gut health combined with exercise. Why wouldn’t you want to give yourself the extra edge?

6. Keep up (and #buidl) with the community — Although focusing on Ethereum, I realized the importance of keeping up the developments in private blockchains as well as other blockchain and Ethereum start ups. Routinely read white papers. While not every white paper will be groundbreaking, surely there are enough useful ones to keep you busy. Also, join the Slack or Telegram or other communities of companies or organizations that you are interested in. You can learn a lot asking questions or seeing where the discussion is going. More recently, I have started hosting #buidl meetup nights in Houston to gather any other developers working with Ethereum in the city and bring out any new talent that wants to learn. There are many other cities hosting similar meetups, and if your city does not have one yet, that is your perfect chance to start it!

7. Stay on top of what’s happening in the world — If you want to be a part of expanding the influence of blockchain or Ethereum or IoT or whatever, you have to be in touch with the world around you. You have no idea the impact you can make speaking to someone about technology if you know a bit about what is going on in their world first. To be honest, it’s been helpful keeping a running list in my head of all that blockchain and Ethereum cannot do. As much as I want to proselytize about the amazing impact that Ethereum can have, if I speak with someone working in another industry and do not come with any knowledge or desire to learn from them, I can really miss out in learning not only from them but also in learning other ways the platform can be used.

8. Try different things — I mean this in everything: reading, coding, writing, attending meetups, listening to podcasts or whatever it is you do. One of my most helpful experiences is having started going to a Linux User Group meeting. Although this group has little to do directly with blockchain, this group really helped me learn more about putting together a user interface, the different options, and fundamentals, and they also helped me think through practical challenges while exploring other ideas.

9. Be grateful — I owe a lot to those close to me who have supported me through this journey. I’ve taken time off of work to go for this. I’ve gone through days of intense frustration and been irritable. I’ve prioritized study over some things — I even shipped a new computer screen to my parent’s home when I visited so as not to fall behind (Hey, two screens make a big difference in my world now, ok?). There is little to none that we achieve that we can attribute to our sole efforts. Be sure to recognize and thank others along the way.

10. Never give up. People often overestimate what they can do in a year and underestimate what they can do in ten (Bill Gates). Ask yourself, “Am I really trying?” and then ask, “Really?”. Give yourself an honest answer. Only you can determine how much work and effort that you’re putting in. If you believe it’s worth it, don’t give up on the idea by giving up on yourself.

I didn’t decide to learn Ethereum for lack of options, rather I denied other options for the opportunity to learn Ethereum. It’s been worth it. It’s been rewarding. It’s barely even started. And that is what is so exciting…!

Karen Scarborough is a B9lab alum from the 14th cohort of the Ethereum Developer Course and Quorum Specialization Course.

--

--

“If anything’s gonna happen, it’s gonna happen out there…” Captn’ Ron