Solidity is the programming language used to code smart contracts and decentralised applications (dApps) on Ethereum, as well as several other blockchain platforms.
Solidity developers are in high demand thanks to the growth of the blockchain space, with vacancies across DeFi, NFTs, GameFi, and metaverse sectors. While it’s not a particularly difficult language to learn, there’s a shortage of really good Solidity developers. What’s more, decentralised applications generally manage value, whether that’s an NFT that represents an in-game item or a dApp that holds tens of millions of dollars of users’ tokens. Security is therefore critical for these applications, and so experienced developers who know what they’re doing can command a premium.
Whether you’re just starting out as a developer in the blockchain space, and considering diving into Solidity, or whether you already know your way around the language and consider yourself proficient, it helps to know a bit about what it takes to get a job writing smart contracts and building dApps for a living.
What Is Solidity?
Solidity is a programming language used to implement smart contracts, which run on the Ethereum Virtual Machine (EVM). In practice, this means Solidity is used to build applications on Ethereum and multiple other blockchain platforms, including Binance Smart Chain and Ethereum L2 solutions.
In a little more (technical) detail, as Solidity’s documentation puts it, ‘Solidity is an object-oriented, high-level language for implementing smart contracts. Smart contracts are programs which govern the behaviour of accounts within the Ethereum state. Solidity is a curly-bracket language designed to target the Ethereum Virtual Machine (EVM)... Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features.’
In practice, Solidity is used for building everything from ERC20 tokens and NFTs to multi-sig wallet contracts, complex DeFi applications, voting contracts, and much more besides. Because it is widely used in the blockchain space, a contract that has been written in Solidity can be deployed with minimal changes to many different blockchain platforms, improving interoperability.
Are Solidity Jobs Well Paid?
The short version is, ‘It depends’. Blockchain is a rapidly-expanding space, despite the bear market (in fact, a lot of building takes place during such downturns, out of the limelight and distractions of a bull run). There’s strong demand for Solidity developers, especially those with meaningful experience. Because Ethereum has only been around since 2015, and DeFi and other smart contract applications have only really started taking off in the last few years, there are still a relatively small number of well qualified devs.
At the top end of the scale, the pay can be staggering. Good developers typically enjoy high salaries in the first place, but in the blockchain space, there are several reasons why they are even better than in other sectors of the tech industry:
- Supply and demand. The shortage of good devs means it’s a seller’s market, and those with skills can charge a premium.
- The high level of responsibility. Smart contract applications handle value, and mistakes can be costly. Countless hacks and exploits have happened due to poor coding practices. Devs who have been around the block a few times and work hard to stay up-to-date with what’s going on in the space can save a project a lot of money, and stress.
- The unique opportunities in the crypto space. There’s a lot of investment in crypto, and it doesn’t hurt that it’s almost literally possible to print your own money. Team members often get paid bonuses in project tokens, and if they do a good job, the value of those tokens rises.
Bottom line? A decent Solidity dev can command a salary of at least $100,000, and more like $250,000 at the top end. Plus bonuses.
At the other end of the scale – for instance, if you’re just starting out or working with a low-key project – you might get paid roughly the same as a developer in another sector. A salary of $50,000 isn’t bad, though, and there’s room for advancement if you learn on the job. Alternatively, you may end up doing freelance work, which can have almost any price tag (high or low).
Getting a job using Solidity is about far more than knowing the language. A survey of recent vacancies (taken from LinkedIn), illustrates the point. There will be lots of other technologies you’ll be expected to be familiar with, either as background or as a part of your work in building, testing, debugging and deploying smart contracts.
As important as the technologies are your competence as a developer, adherence to best practices, and previous experience – as well as genuine enjoyment for your work and a passion for Web3.
And, of course, don’t forget that you won’t be working in a vacuum. Soft skills are important, as you’ll likely be working remotely and collaborating with many other individuals and teams. Your ability to work well with them will partly determine the success of the project.
How To Become A Solidity Developer
If you’re already a confident developer, then the best way to get started may simply be to dive right in and start playing. You’ll find lots of help on StackExchange Ethereum, StackOverflow and other specialist forums for developers – if you can’t find what you’re looking for, there’s a good chance someone will be prepared to give you a helpful answer if you ask. If you can join a few project Discords or other social media groups, you’ll likely find other developers who can give you pointers when you get stuck or need a little guidance.
If you’re starting from scratch, or are less experienced, then you might benefit from a more structured online course. Check out platforms like Udemy, Coursera, and FreeCodeCamp to see what’s available. If you want something a little bit different, CryptoZombies (the first web tutorial for NFTs) offers to teach you to write smart contracts by building your own collectibles game.
How To Find Solidity Jobs
The great thing about the blockchain space is that – just like blockchain infrastructure itself – it is incredibly decentralised and diverse. The organisations advertising for Solidity developers can be anything from individuals or small teams with an idea for a new project, right up to multi-billion-dollar corporations looking for top talent.
You’ll be able to find opportunities all over the web, from established jobs sites and recruitment agencies, down to grassroots projects that have built their communities in Discords and on social media.
Jobs Platform Websites
If you’re experienced enough to code up Solidity applications but are not yet ready to go full-time for one reason or another, you can find short-term and one-off jobs via freelancer websites. These will typically advertise a wide range of roles, and will often pay in crypto.
LaborX is a site that caters specifically to the blockchain community. As well as being built on the blockchain, and including escrowed crypto payments, it taps into a large market of blockchain developers – so it’s a good place both to find work and post Solidity jobs.
You can also try conventional freelancer platforms such as Upwork or Freelancer.co.uk – Solidity is now a sought-after enough skill that you’ll find jobs advertised everywhere. LinkedIn is also a good place to start your search.
Direct Company Approach
The bear market has forced a number of companies to downsize and lay off staff, but others are thriving and actively hiring. Have a look around at some of the sites and services you use or know about, and see whether there’s anything going. If so, take a shot at it – even if you don’t meet all the criteria, companies know that good Solidity devs don’t grow on trees, and they’ll probably be willing to consider someone who ticks at least some of their boxes, if not all.
Even if you don’t see vacancies advertised, it can be worth getting in touch with a speculative application. Most large DeFi companies will be interested in taking on more Solidity developers, or will at least be happy to have your contact details on file.
Another strategy you might want to try is reaching out to your network and asking whether they know of any jobs going at their own companies, or others they’re aware of. If you’ve been active in online communities when learning Solidity, you’ll probably have made a few contacts who know your work and will be happy to point you in the right direction. Since there are sometimes finder’s fees for referrals that result in a successful hire, there are good incentives for other devs to hook you up with an employer. The Web3 world is still a small enough community that these sorts of relationships can often be mutually beneficial – down the line, you might well be in a position to help others out yourself.
If you know what you’re doing, and have some experience under your belt, then you might want to try a different approach. Instead of applying for full-time jobs, you can do contract work, taking on a series of shorter-term opportunities and helping Web3 businesses out with specific problems or applications. This might be building a particular piece of software they need – a discrete task that the company’s own devs don’t have the expertise or bandwidth to take on. Or, if you have the right skillset, you might join (or found) an auditing firm. Code audits are a critical part of building and launching smart contract applications, and companies rely on auditors to refine their code and make sure the most serious security issues are addressed. Auditing is, by nature, a short-term job, but thanks to the high demand for auditors and the importance of robust code, it pays extremely well.
For those at the other end of the scale, who are just starting out, internships can be a good way to build your skills and experience, find out what it’s like to work in Web3, and establish relationships in the space. A growing number of organisations will take on junior Solidity developers and teach them the ropes by working with them on various smaller projects. The pay may not be great – after all, you’ll be getting valuable teaching for nothing – but once you’ve gained a decent level of competence, you’ll be able to move onto bigger things. Alternatively, if there’s capacity within the organisation itself, there may be vacancies for which you’ll be well-placed to apply.
Solidity is a widely-used programming language in the Web3 space, and learning it should give you a wealth of opportunities. Solidity developers are in constant demand, and there are many vacancies for both junior and experienced devs. Knowing Solidity puts you in a strong position to explore jobs in DeFi, NFTs, the metaverse, and other Web3 companies, from small indie and grassroots organisations up to the big VC-backed corporations entering the space.
If you want to get started learning Solidity, then there are lots of resources online – including this YouTube tutorial from freeCodeCamp.org, which gives you 16 hours of teaching, absolutely free.