What does it mean when your bright-eyed younger cousin says he “wants to work in web3”? For that matter, what do viable employment paths even look look like for a crypto developer?
I’ve slung a lot of smart contracts by this point, so let’s talk about the nuts and bolts of realistic crypto dev career paths.
Full-time vs. Part-time
First and foremost. Is this going to replace your 9-5, or form part of your side work WiFi money enterprise? This is an important question to ask because the two paths look very different.
Full-time: Formal Employment
If you’re wanting a stable W2 income, you’re looking at a career path that looks much like a traditional software engineer or web dev role - with a little extra blockchain spice. You will be targeting cryptosphere companies including but not limited to: Chainlink, Opensea, Infura, or Alchemy. You may also be inclined to work for blockchain security companies, like Trail of Bits or Consensys.
My current path is not in this direction, so I can’t speak much to exactly what is required to get in the door. Your best bet in this is going to be BowTiedFox. He specializes in getting people hired at FAANG corporations, so he is very in tune with the tech hiring process.
Full-time: Freelancer
If your goal is just “I need to make enough money to pay my bills” and you don’t have to have a W2 with health insurance and all that jazz, you can just take on contract work of varying varieties. Stack contracts until you get your desired income.
The downside: you need a fat pipeline of contracts. And by fat pipeline I mean phat. An absolute Pixar mom dumptruck of a pipeline. Things fall through. Macro conditions change. Founders may rug you. You can’t be desperate to take any gig that comes along if you’re going to rely on this as your primary income.
My personal situation is such that I wouldn’t take the risk of relying on crypto dev work as my main income at this point. Your decision may vary, of course, depending on your risk profile, savings, and overall life situation.
If you can land them, it can be helpful to have multiple types of irons in the fire here. Not all contract work is created equal. Do some small gigs. Work as a core dev at a DeFi protocol. Diversify, anon.
Part-time: Freelancer
This looks exactly like the full-time freelancer path, but with less magnitude. Less irons in the fire, and depending on your main 9-5 you may not have the bandwidth to take on complex jobs like becoming a core protocol developer.
Smart contracts vs. web3
Now that you’ve decided your very broad direction, you gotta pick your RPG class. Crypto-specific development falls into two broad bins: smart contracts, and web3.
Smart contract developers, as the name implies, write smart contracts that are deployed onto the blockchain. At some companies you may also see this termed more generally as “blockchain developer” or something similar, in which case it will probably involve more backend-type software engineering and less actual writing contracts.
Then, you have web3. This is the catchall term for “web dev who knows how to interact with the blockchain”. Web3 projects can be as simple as a web2 site with a connect wallet/mint button, or as complex as a product like Etherscan.
For purposes of freelancing, the work is a bit more narrow. You’re going to have less software engineer type roles, more contracts, and more frontend. Let’s talk about what types of work you might do, and what skillsets you’ll need.
Smart contract developer
Smart contract development work can vary widely. I’ve written NFT projects, staking contracts, ERC-20 tokens, lending protocols, and even GameFi games. Being an all-rounder is very useful. As a freelance developer you’ll often be the only dev, working directly with founders, so you have to be able to think architecturally and know how to interact with off-chain infrastructure.
Tech Stack:
Highly skilled in Solidity, including security threats
Intermediate proficiency with Javascript and/or Typescript
Intermediate proficiency with Python (optional but highly helpful)
Basic knowledge of web3 for integrating with frontends
Web3 frontend developer
Here you’ll mostly work on things like NFT mint sites or DeFi protocol frontends. The distinction is that pure frontend work won’t have to do much heavy lifting outside the website. Basic sysadmin stuff like being able to set up server hosting or deal with SSH connections is a big bonus here.
Tech Stack:
React + other typical web2 frontend tech stack
Highly skilled with Javascript/Typescript
Familiar with ethers.js library
Basic knowledge of Solidity for integrating with the blockchain
Web3 backend/fullstack developer
If the job requires building a database, API, SDK, or other such fun, you have to have a different set of skills than it takes to make an NFT mint site. There are lots of applications, especially in DeFi, where you can’t just be calling to the blockchain all the time, and you have to get tricksy to make the product work in a performant manner.
For this type of role you might end up working on more complex DeFi protocol frontends, crypto SaaS projects, or with crypto sites like DefiLlama.
Tech Stack:
Highly skilled with Javascript/Typescript
Familiar with ethers.js library
Intermediate knowledge of Solidity
Know how to use The Graph, Moralis, or other solutions for retrieving data from the blockchain
Application-specific use of other tools like databases, APIs, etc.
“Crypto Fullstack”
Fullstack can be a bit confusing in the crypto context, since it can mean either website/backend, as in web2 fullstack, or website/smart contract. I’ve run into surprisingly few people who build both the websites and contracts for a project. Even if that’s your goal, you probably want to focus on either the smart contract or web3 part of it first, then build skill on the other side as you’re ready.
Bonus: Blockchain Security Professional
If the idea of being a whitehat hacker or securing protocols is attractive to you, you can become a blockchain security professional. This differs from traditional cybersecurity since you are focused on the specific, limited world of “things that affect a blockchain”.
The skills you need for this are similar to smart contract development, with the hopefully obvious caveat that you need to be very, very good at Solidity, and have a much deeper knowledge of the blockchain in general. Being an auditor also requires a different set of soft skills - you have to be extremely thorough and methodical, but also creative enough to think of outside-the-box attack vectors.
Where To Learn
The Big Three resources for learning crypto programming are Cryptozombies, Buildspace, and PatrickAlphaC. Each of these is a “fullstack” course, so you will learn both Solidity and web3 development. This is a good thing! You need to know how all sides work, even if you specialize on contracts or web3.
I recommend going through one or two of these tutorials, then focusing on building a portfolio project.
But first! Do you know how to code? If not, go learn how to code with Python. You have no business worrying about cryptography and gas costs if you don’t know what a for
loop is.
Since some of you are going to argue with me about “why Python, why not learn Javascript, or start with Solidity?” let’s go ahead and put that issue to bed. Python is:
Syntactically simple
Easy to learn
Pound-for-pound the most powerful general-purpose scripting language on God’s Green Earth
Highly useful for blockchain development via the Brownie library
I spend large amounts of time in Python on my projects, especially for NFTs. You WILL use it. If you don’t know how to code you don’t get to argue with me on this point. Go pick your favorite Python tutorial (there are literally hundreds, find one you like) and start writing print(“Hello World”)
.
Now that that’s out of the way, on to web3.
Cryptozombies is a very guided, on-rails tutorial. This makes it a good choice if you’re less comfortable with programming in general, or as a first introduction to Solidity. One con, it uses an older version of Solidity, so some patterns it uses are a little dated.
Buildspace has tutorial courses that run like mini-hackathons. You get to work alongside a cohort of others, which is extremely useful for getting yourself unstuck. It’s more open-ended, and you’ll come out with a functional base to build off of further. This is where it really clicked for me.
PatrickAlphaC is a dense, high-quality course. If you like, you can watch the whole 32-hour video in one shot on YouTube. I haven’t personally used it, but many people swear by it, and I’ve heard nothing but good things.
Do one of these courses. If you still need to, do another one. Then start building a portfolio project. You have, have, HAVE to start building things yourself if you want to get anywhere in crypto development.
Good luck, anon. The sky is the limit. Follow me on Twitter @BowTiedPickle if you haven’t already, I frequently post about crypto jobs and smart contract development.
For Vyper based smart contracts I recently found this: https://academy.apeworx.io/
V helpful poast, ty pickler