top of page

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.

Man looking at tablet

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.)


Frontend Engineer

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.


Example jobs

  • 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.


Example Jobs

  • 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/


Data Science

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.


Example Jobs


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.


Example Jobs

  • 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


Traditional Cybersecurity

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.


Example Jobs


Compiler Roles

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:


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


Cryptography or Systems Engineer

Okay, I admit I am cheating on this one because it will be pretty challenging to develop the protocol without knowing Solidity or a language like it. However, it is worth emphasizing that arguably the most important engineering role in web3 is not developing smart contracts, but the infrastructure on which they run. So if you come from a cryptography or systems engineering background, you can jump straight into web3! For those unfamiliar with the term, a systems engineer is the sort of software engineer who writes the most fundamental building blocks of a software system in high performance code such as C++ or Rust. Think of someone who develops the Javascript V8 engine, the tools that run in the Linux shell, or drivers for the hardware. Blockchain clients need to be very performant in order for the network to scale. If it takes too long to validate transactions, the time to reach consensus will be slower.


Technical Writer

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.


Example Jobs


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.


Career Benefits

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

Solidity is not hard to learn. It looks like javascript with types (dart?). Tokens are easy to build and understand; they are just hashmaps with owners being the keys and the values being the balance. If this is all you do with Solidity, you will be quickly out of a job when people discover tools like ThirdWeb or Open Zeppelin Contract Wizard. The days of overcharging people for such a simple service based on hype is over. Hopefully the bear market will restore some sanity to the market.


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.


Conclusion

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.

530 views0 comments

Comments


bottom of page