You don’t need Solidity to work in web3
Updated: Dec 14, 2022
If you work at Coinbase, Alchemy, or even Avalanche, are you working in web3? Most people would say yes. Does this mean you are working on smart contracts? Almost certainly not!
A smart contract is typically somewhere between a few hundred lines of code and a few thousand.
Maybe the smart contract is considered “the start of the show” by some, but smart contracts need a lot of infrastructure around them to be useful.
Here is how you can work in Web3 with no solidity knowledge.
It’s worth pointing out that this article was published shortly after the spectacular implosion of FTX and the headline grabbing layoffs at FAANG companies in 2022. We like to say at RareSkills, there are always jobs for qualified engineers. At the time of posting, these jobs are open.
(Disclosure: one of our instructors is a head of engineering at Ava Labs, the parent company of Avalanche. We link to some jobs for the sake of examples, but we do not receive financial compensation for doing so.)
This one should be obvious. When we think of OpenSea, we think of the webpage, not the smart contracts that power it. Many web3 users expect slick looking web pages that don’t crash and run smoothly. Even when a transaction is still processing, users expect predictable state transitions in your webapp. The technical team expects web pages that forward the right set of analytics to the backend. The security team expects the website to be resilient to script injections and phishing attacks. There is a lot more to being a good frontend engineer than just adding CSS to a react js app!
Any competent frontend engineer can learn how to integrate with a smart contract quickly. It’s just like using a different API (in most cases, the ethereum RPC interface metamask or coinbase wallet provide). If you are looking to get started quickly as a frontend enigneer, copy and paste a Solidity ERC20 token from a tutorial, then build a website for transferring token between users. You will be able to quickly become useful as a web3 frontend developer without spending too much time trying to understand Solidity.
Frontend Engineer at Uniswap https://boards.greenhouse.io/uniswaplabs/jobs/4003109005
Frontend Engineer at Chainalysis https://boards.greenhouse.io/chainalysis/jobs/5352550002
Frontend Engineer at Compound Finance https://jobs.lever.co/compound-2/e1684aab-776b-413c-8116-72a08f998862
Mobile App Developer
I don’t know of any successful crypto exchange that doesn’t have a mobile application. More time is spent on mobile than on desktop. Yet, most decentralized applications expect users to use the Desktop. Is it any wonder web3 adoption has been curiously slow? If people are going to use cryptocurrency as a normal part of every day life, then mobile integration is essential. Whether you know flutter, react native, or iOS or Android, there is a job for you in web3.
React Native Engineer at Ava Labs https://boards.greenhouse.io/avalabs/jobs/4656549004
Mobile developer relationship advocate at Solana https://boards.greenhouse.io/solana/jobs/4533662004
Mobile engineer at Consensys https://consensys.net/open-roles/4474517/
Blockchains are incredibly rich in data. You have literally an entire ecosystem laid out at your fingertips in a compact and well-defined way. So someone has to make sense of it all right? But just because the data is available, it is not necessarily easy to use or interpret. That’s where data science comes it. People want to know how money is flowing around, who is trading and who is holding, and how profitable the traders and holders are. You need solid data scientists to extract these insights.
Senior Analyst, Data Science at Polygon https://jobs.lever.co/Polygon/56b16af1-8655-44ef-b1df-3b6edac84fb8
Data scientist at Alchemy https://boards.greenhouse.io/alchemy/jobs/4049497005
Data scientist at OpenSea https://jobs.lever.co/OpenSea/01710df4-fbd6-4861-80c2-1cb35325a1bc
Backend, Dev Ops, and Cloud Engineer
If you believe that blockchain is going to displace the need for traditional backend engineering, you are badly mistaken. Even if cloud gets “decentralized” it’s still going to be a cloud. At some point, there needs to be an API layer between the blockchain and the end user interface. There will always be a traditional internet layer between a mobile app and the blockchain, as well as between nodes validating and running the network. The data management described above is better managed with in a traditional database than a blockchain, so there will be a demand for backend or infrastructure engineers for this purpose also.
API Engineer at Ava Labs: https://boards.greenhouse.io/avalabs/jobs/4544333004
Backend Engineer at Chainalysis https://boards.greenhouse.io/chainalysis/jobs/4947935002
Backend Engineer at OpenSea https://jobs.lever.co/OpenSea/9396d2e4-252a-4237-96a1-2411caae4ccc
Because web2 is never going away, the need for web2 security experts isn’t going away either. Since there is a network layer, there will be a need for someone to firewall the network correctly, defend against DDOS attacks, and stay abreast of the latest software vulnerabilities. This applies to both backend security and frontend security. Staying informed of web2 zero day vulnerabilities is a full time job that impacts companies in web3.
By the way, being able to “think like a hacker” will give you an upper hand if you are trying to get a web3 auditor role. So time spent studying traditional cybersecurity is not wasted.
Security Engineer at OpenSea https://jobs.lever.co/OpenSea/04622947-f167-4d39-ad3c-d0a3ede4ffc4
Infrastructure security engineer at Coinbase https://www.coinbase.com/careers/positions/2690260
Golang security engineer at Polygon https://jobs.lever.co/Polygon/632bd404-50b9-497e-8a84-7187dbefd5a9
Blockchain has introduced both new programming languages and new compiler targets. Solidity, Vyper, and Move are fairly new languages that each need their own compiler. Even if an established language is used, the backend may be using novel instruction code. So if your expertise is in compilers, you’re in luck! Here are some example jobs:
Compiler engineer at StarkNet https://starkware.co/careers/career/?position-name=Compiler_Engineer
Compiler engineer at Polygon https://jobs.lever.co/Polygon/edc58ee0-e700-4528-a43d-21267ae5c379
Compiler engineer at Zilliqa https://boards.greenhouse.io/zilliqa/jobs/4190828004
Cryptography or Systems Engineer
The pen is mightier than the sword, isn’t it? Writing quality tutorials is hard because not only do you have to be a good coder, you have to be a good writer as well. This is also a great way to learn about new technologies and get paid to do so. By the way, your career success will be proportional to your writing skill. If you cannot provide clarity and direction for people in an organization, the level to which you can promoted will be limited.
Technical Writer at Matter Labs: https://jobs.eu.lever.co/matterlabs/baff66b8-febe-4460-a32d-f0042f4209ae?lever-origin=applied&lever-source=cryptocurrencyjobs.co
Technical Writer at Tenderly: https://tenderly.co/positions/technical-writer
Technical Writer at 1 Inch Network: https://1inch.notion.site/Technical-Writer-fec7207261ab4a6c94efb0a5bb49b221
Tooling and Documentation
I didn’t find any specific jobs for this, mostly because developer tools are open source projects. But developer tooling is a very important part of the ecosystem. You can have the most amazing protocol in the world, but if developers have to spend a lot of time to accomplish simple things, they will give up on the project. If you are looking to contribute to open source, this is a good place to start. Your contribution to the space will be infinitely more impactful because people can keep re-using the value you provide. You aren’t building a one-off project.
If your end goal is to work on smart contracts, protocols, or auditing, it’s worth your time to work in a web3 company even if you work on web2 stuff. Most people don’t want to quit their job to study blockchain full time. So why not have your existing job provide momentum towards your ultimate career goal? Hiring managers make snap judgements when scanning resumes, so if they see a blockchain company as part of your experience, this will work in your favor even if you didn’t touch smart contracts while there. It’s not just the technological proximity that will benefit you, but also the network connections you will more easily build.
Solidity is only a small part of the picture
The hard part is understanding all the side effects that could happen as a result of your code. If you want to be a Solidity engineer, more power to you, but the real challenge is not mastering the language comprehensively understanding the runtime environment, good design patterns, and common (and not so common) security anti-patterns.
Don’t FOMO into learning Solidity or some other blockchain language. As we’ve loudly said elsewhere, Solidity will not increase your salary if you already have a reasonable career strategy in place.
Look at all these web3 jobs that don’t require you to know Solidity! Now, there is nothing wrong with learning Solidity. Learning is a good thing.
However, too many engineers have the misconception that working in web3 means working on smart contracts and smart contracts only. Frankly, the world would benefit more from better UX around using and developing decentralized applications than from putting another smart contract on the main-net.
If you look on a typical web3 career website, you will see disproportionately more jobs available for non-smart contract roles than smart contract roles. It makes sense right? It takes far more work to make a beautiful, functional, frontend webapp than it does to code an NFT.
As long as you have reasonably good experience in any of the above fields, there is nothing stopping you from getting a job in web3 with no further preparation than demonstrating you are passionate about the subject.
Don’t fall into the trap of thinking “if I’m not working on smart contracts, blockchain protocols, or smart contract auditing, I’m not working in web3.”
There would be no web3 if we all had to interface with smart contracts on the command line. And even if we did, that assumes we have engineers working on operating systems, networking, and command line tools. Clearly, blockchain is not going to take over everything.
Being a strong web3 engineer requires a strong knowledge of web2. Being a solidity or rust maxi is foolish.