New to blockchain software development? Read my beginners guide here

Beginners guide to blockchain engineering

Created on August 2022 • Tags: guides

A guide to how to become a blockchain engineer

Table of Contents for Beginners guide to blockchain engineering

Most articles on this site are aimed at those who understand basic programming concepts. But this article is aimed at those who have no programming knowledge and also those who program professionally but want to move into web3 / blockchain engineering. I’m going to assume you understand the basic terms like blockchain, smart contracts etc.

I’ll probably make some assumptions, and I can almost guarantee you can find cases to contradict every section in this article. It is meant to be a general intro, and to steer you in the right direction for self study to learn how to become a blockchain engineer.

What is blockchain engineering (or web3 engineering)

Blockchain engineering typically means programming smart contracts or interacting with transactions ‘on-chain’.

There is also another side of blockchain engineering, which is focused on building the blockchain infrastructure.

I would say most blockchain engineers are in the first camp - for example writing smart contracts, deploying them, and interacting with them. This includes DeFi programmers.

But of course there are also many blockchain/web3 companies that are launching their own blockchains. If you are a new programmer there is almost no point in trying to start off with this. Start with the basics, understand how smart contracts work.

What you need to know/do before starting to become a blockchain engineer

If you want to go down this route, you have a good head start if you really understand the blockchain ecosystem.

There are a couple blockchains that are really important to know:

  • Bitcoin. There are no smart contracts, but bitcoin is the original and isn’t going anywhere. Good to know about things like the lightning network too
  • Ethereum. There are many popular blockchains that also use the same underlying system (same types of smart contracts) which is known as the Ethereum Virtual Machine (EVM).

Note: Most of this article is going to talk about smart contracts, and i’ll probably just assume we’re all talking about smart contracts on Ethereum, as they are the most popular. There are many different types of smart contracts, which have completely different concepts (Solana ones are really interesting), but I don’t want to make this article longer than it needs to be just to cover every option…

You should also have experience of interacting with smart contracts.

And be prepared for your smart contract code to be public, and scrutinised online. It is very easy to add security issues in smart contracts, or write your smart contracts in a way that uses more gas than a more optimized way would.

They often say smart contracts are the ultimate bug bounty. If someone finds a vulnerability they can potentially exploit it and drain balances…

Programming languages for blockchain engineers

The main traditional languages used by blockchain engineers are:

  • javascript / typescript. I’d say its worth learning for any developer as JS / TS are here to stay.
  • go or rust are quite common backend languages in blockchain software (I think most of the main ethereum client software is in go).
  • Other common languages used by web3 companies tend to be python, maybe some java.

But when it comes to the actual smart contracts then the most common is solidity (used in EVM). Its quite a simple language to get the basics of.

Decide you want to do anything on the frontend

There is the on-chain work - writing smart contracts, interacting with them.

Then traditional backend related work - such as creating transactions on the blockchain.

And frontend blockchain engineering - which often means writing React apps that use libraries such as ethers.js to let your users interact with them.

Small startups tend to want people leaning more towards full stack (backend & frontend, or in web3 this can mean backend, onchain, and frontend). But some do specalize in just one aspect of blockchain engineering.

If you want to do anything relating to the frontend, I’d recommend you know React really well. Build a few test applications (non blockchain related). There are tons of tutorials for this. Then start to introduce things such as signing transactions with metamask in your app.

Knowledge of cryptography

You can’t work with blockchains without understanding the basics of cryptography. It is how the network works and how it is secured.

You will probably need at least a basic understanding of how they work.

Although to be honest if you’re mostly writing Solidity code, its unlikely you’ll need to know this area in too much depth.

In the next few years zero knowledge proofs are going to become even more popular, so having a deep and firm understanding of them would be beneficial.

Where to start learning to be a blockchain engineer

This post is incomplete and a work-in-progress
I'll update it soon and flesh it out with more info!

Spotted a typo or have a suggestion to make this crypto dev article better? Please let me know!

See all posts (70+ more)

See all posts (70+ more)

Was this post helpful? 📧

If you liked this content and want to receive emails about future posts like this, enter your email. I'll never spam you.

Or follow me on @CryptoGuide_Dev on twitter

By using this site, you agree that you have read and understand its Privacy Policy and Terms of Use.
Use any information on this site at your own risk, I take no responsibility for the accuracy of safety of the information on this site.