Why I Learned Solidity

mmenafra
mmenafra
Sep 6, 2018 · 4 min read

It was the week after New Year, 2017, and my first night out since the festivities, when a chance encounter helped me realize something quite incredible was taking place in the world, something I had not seen before in my professional life, and I needed to act quickly if I was to get ahead of the wave that was swelling up underneath me.

I’d been at dinner with a developer friend of mine. The conversation was wide ranging, but we kept coming back to a firm favorite, cryptography, and in particular Satoshi Nakomoto’s white paper proposing a peer-to-peer electronic cash system. We loved toying with the underlying proposition, and coming up with Bitcoin alternatives that had the potential to ‘make it’ as decentralized currencies. It was a half-serious chat, but as is so often the case left my head reeling with ideas as I jumped in a taxi home.

The driver was chatty, and conversation quickly turned to work. I told him I was an app developer and CTO, currently intrigued by blockchain technology and spending my spare time wrapping my head around the coding challenges involved in building dApps on various platforms. I fully expected to get the same glazed look I usually receive whenever I talk about work, so was shocked when he piped in with “Oh really!? What are your thoughts on Ethereum? I recently sold some Bitcoin to buy in. Totally love the proof of stake thing.”

I was stunned.

I knew public awareness of cryptocurrencies was growing, but I hadn’t found anyone outside of my techy circles that really knew much about them, let alone invested in them. I had to know more. “How long have you been into cryptocurrencies? What got you started?” His answer was just as eyebrow raising. He told me that he wasn’t a seasoned investor, a coder, a hacker, or a tech enthusiast, just a regular guy who kept on top of the news, and felt like he could see the potential of the emerging technology. “It just made sense. I did some reading, bought a bit, and then as the price rose I bought a bit more.

It was the first time I’d heard of anyone without the tech-bug getting excited by blockchain technology, and the conversation was ringing in my ears all week. If pop culture was coming round to the potential of this technology, maybe we were further along the adoption curve than I had thought. I redoubled my studies, and after some deliberation decided to commit myself to learning the Ethereum’s programming language, Solidity.

There are several reasons why my first choice was Solidity, the de facto programming language for smart contracts on the Ethereum blockchain, but primarily it was because of the market context. The platform was fast becoming the global leader in Web 3.0, and Vitalik Buterin impressed me with his vision for the market.

Of course I was equally motivated by my background in coding and programming and my desire to build out my own skills and capabilities. I had not known much about Solidity’s applications and uses in the world of bitcoin, blockchain and smart contracts, but that changed quickly; the more I learned, the more I understood its widespread benefits, and why developers were extremely excited for their projects in the nascent world of crypto.

One of the first things I noticed was how in-demand Solidity programming skills were.

Views on Solidity tutorials were outpacing those of more well established programming languages, shares of articles touting innovative smart contract applications were becoming top hits on coding blogs, and my various news feeds were increasingly populated with a world waking up to blockchain. Solidity proficiency was becoming increasingly desirable, not just to myself and other programmers, but to employers as well.

Moreover, I enjoyed the challenge of coding in a new language, one without much structured training or support. A problem in Python that would otherwise take five minutes to find a solution to, could take two hours to overcome in Solidity. These hurdles were amplified by the the level of precision and foresight required to ensure that source code functioned as intended. Unlike app development, where a product can be updated and iterated to iron out bugs and introduce new features, blockchain programming requires careful construction with one eye always on the future. From day one it needs to pre-empt and protect against malicious attackers, and with a baked in scalability that reduces the need for complicated and costly forks in the code down the line.

Lastly, and perhaps most importantly, I relish in the responsibility that comes with writing code that has the potential to provide a useful and practical service to consumers, while also pushing the boundaries of this young and exciting technology.

Solidity isn’t without it flaws of course, but that shouldn’t hinder prospective developers from learning it. Learning smart contract programming language will teach you many things about blockchain, decentralization, a company’s ICO’s legitimacy, among many other things. If you are interested in learning more, I recommend beginning to pore through Udemy video tutorials, and pick up a couple of books and guides from websites like blockgeeks.

However, the single greatest asset for learning it initially and currently has been the communities on LinkedIn, Telegram, and other online forums. Tapping into them has provided me with insights and ideas I wouldn’t have thought of on my own and ultimately, motivated me to do the same and share my knowledge with any hopeful Solidity experts.

KeyoCoin

Universal Travel Rewards

mmenafra

Written by

mmenafra

Web Hacker, Entrepreneur and Technology fan

KeyoCoin

KeyoCoin

Universal Travel Rewards

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade