The Skills You Need to Be a Blockchain Developer

The skills you need to work on to become a blockchain developer.

Alex Roan
Alex Roan
Apr 5, 2020 · 5 min read
Photo by John Schnobrich on Unsplash

Whether you’ve never coded before, or have multiple years of experience developing software, becoming a Blockchain developer requires a new set of skills. Identifying which skills you need can be difficult if the industry is new to you.

Whichever camp you find yourself in, this article describes the skills you need to make a start developing in the Blockchain industry.

Starting From Scratch

For those with little or no coding experience, start by learning these skills before moving on to the more advanced stuff. Skip this section if you already have coding experience.

Command Line

“A command-line interface processes commands to a computer program in the form of lines of text.” — Wikipedia

Getting used to the command line is essential for any budding software developer. At first, it can seem like gobbledygook, but once you get used to it you won’t ever work without it.

The best place to start is by learning on a Unix or Linux command-line interface. Most development activities are performed on Unix backed systems. If you have a Mac, the CLI is Unix based, so the built-in terminal is great. If you only have a Windows machine, try Cygwin Linux emulator.

The main point here is to learn how to interact with your computer using commands rather than a point-and-click interface.

Javascript

“JavaScript is a scripting or programming language that allows you to implement complex features on web pages — every time a web page does more than just sit there and display static information for you to look at — displaying timely content updates, interactive maps, animated 2D/3D graphics, scrolling video jukeboxes, etc. — you can bet that JavaScript is probably involved.” — Mozilla

Javascript is primarily an internet language. It’s supported by every web browser available and most web pages have at least some javascript running on them. It’s a client-side scripting language so the code is sent to the client (web browser) which performs the computation. This is in contrast to PHP, for example, where the computation is done on the server. The resulting markup is sent to the client.

W3Schools provide some awesome tutorials for beginners, intermediates and advanced users.

NodeJS

“Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside of a web browser.” — Wikipedia

NodeJS enables developers to write server-side applications with Javascript. The breadth of frameworks which run on NodeJS allows any form of application to be created and deployed on top of Node. Many Blockchain frameworks are built on top of NodeJS.

Blockchain Basics

“A blockchain is, in the simplest of terms, a time-stamped series of immutable records of data that is managed by a cluster of computers not owned by any single entity. Each of these blocks of data (i.e. block) is secured and bound to each other using cryptographic principles (i.e. chain).” — Blockgeeks.com

What is Blockchain? How does it work? What are the consensus mechanisms? What is a node? What is a Smart Contract?

Understanding the basic answers to these questions is vital to creating useful Blockchain applications. Blockgeeks.com is a fantastic platform for learning at any level in your personal development, I highly recommend signing up.

Blockchain Specific Skills

So you’ve got some coding experience but don’t know where to start? These are the skills needed to start developing solutions on the Blockchain, and more specifically the Ethereum ecosystem.

Solidity

“Solidity is an object-oriented programming language for writing smart contracts. It is used for implementing smart contracts on various blockchain platforms, most notably, Ethereum.” — Wikipedia

If you have experience with Javascript, C++ or other modern object-oriented languages, the syntax of Solidity will be easy to pick up as it’s heavily influenced by these languages.

Smart Contracts are immutable. An immutable object is an object whose state cannot be modified after it is created. Instead of incrementally improving your Smart Contract with new releases, once a Smart Contract is deployed it cannot be changed. Think of a Smart Contract as a monument designed to stand the test of time.

Smart Contracts hold Ether just as any other address (wallet) does. It can send and receive Ether value to and from other addresses also. By creating a Smart Contract you are deploying a set of rules to the network by which anyone who chooses to use it is willing to abide by. This is powerful since if any bugs are deployed unnoticed, the contract can be hacked. The word “hacked” might not be the correct word however since everyone who participated in the Smart Contract agreed to the terms (AKA the code) and accepted it. So successfully hacking it technically means that the rules were still followed, they were just bad rules.

The documentation provided by the Ethereum Foundation is a thorough explanation of how to write Smart Contracts using the Solidity language.

Web3.js

“web3.js is a collection of libraries which allow you to interact with a local or remote ethereum node, using a HTTP or IPC connection.” — Web3.js Documentation

Web3 bridges the gap between the traditional internal and the decentralised world. It’s used to connect an Ethereum blockchain to a client browser usually through a browser extension like Metamask. Unfortunately, the most common web browsers don’t support Web3 out of the box, which is the reason for having to use Metamask.

The web3.js library is easily installed into any javascript project and allows your DApp to send and retrieve information to and from a Blockchain defined by the user. Local, Testnet and the Ethereum Mainnet can all be connected through Metamask and web3.js.

Here are some of the most commonly used and useful functions that web3.js provides.

Web3 is also implemented in Python.

Truffle Suite

“The Truffle Suite gets developers from idea to dapp as comfortably as possible.” — Truffle Suite

Truffle is a framework which facilitates the development, testing and deployment of full-stack decentralised applications. Truffle comes with a few amazing parts to it.

The first is the framework itself. It provides a great development environment where you can write and deploy Smart Contracts within minutes, its testing framework is easy to use with a choice of both Solidity and Javascript to test your Smart Contracts with, and deployment to any test network or the main network from the command line is super easy.

The next is the local RPC Blockchain called Ganache. Ganache allows you to start a local blockchain in your development environment with two clicks and makes developing DApps on your machine extremely easy.

Read the documentation to understand how to tweak the configuration to suit your environment, and follow tutorials to develop, test and deploy Blockchain solutions yourself.

The Startup

Get smarter at building your thing. Join The Startup’s +793K followers.

Sign up for Top 10 Stories

By The Startup

Get smarter at building your thing. Subscribe to receive The Startup's top 10 most read stories — delivered straight into your inbox, once a week. Take a look.

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy practices.

Check your inbox
Medium sent you an email at to complete your subscription.

Alex Roan

Written by

Alex Roan

Engineer at Chainlink Labs.

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +793K followers.

Alex Roan

Written by

Alex Roan

Engineer at Chainlink Labs.

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +793K followers.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store