In this comprehensive guide, I will explore how to hire a Solidity/Web3 developer.
- Contractor, Partner or Employee
- Define Your Project Requirements
- Outreach To Blockchain Developers
- Evaluate Technical Expertise
- Consider Pricing and Payment Models
- Perform Due Diligence
Contractor, Partner or Employee
The first thing you need to decide is whether you want to hire someone on a permanent basis or not. With Solidity development the contracts don’t tend to get updated once they are deployed so the bulk of the work tends to be at the pre-launch stage.
Most projects that are building something simple and short-term, like an NFT drop or Memecoin, will want to hire a contractor or consultant if they don’t have the technical ability to build the product themselves.
In contrast for more complex DeFi protocols with long-term ambitions it is more common to partner with a CTO who can lead a dev team and/or hire full time employees.
In my experience small teams work best, follow the Jeff Bezos Pizza Rule: “every internal team should be small enough that it can be fed with two pizzas”
For most projects you will either have:
- A single developer doing the contracts and the frontend
- Two teams or personnel. A frontend team that will work on the website and a Solidity developer writing the contracts and doing unit tests.
The final consideration is whether you’ll need to use an external auditor once the contracts are complete. If your project has custom functionality that hasn’t been done before and handles customers funds then it’s likely you will. Note external security audits are expensive ranging from $5,000-100,000+ USD.
Define Your Project Requirements
You can do this either formerly with a spec sheet or informally by writing down exactly what you want in as much detail as possible. Ideally you want to provide enough information to get a good idea for the amount of work involved. Here is an example spec sheet.
Outreach To Blockchain Developers
Have a good idea of your price point before you outreach to developers. An independent developer from a low income country is going to be much less expensive than a US based Web3 development agency.
If the project is price sensitive then you can look for developers on places like Upwork and Freelancer. You’ll likely find someone who has experience in short-term contract work on these sites. Note that you’ll need to do your own due diligence as many freelance contractors will oversell their capabilities.
If the project is less price sensitive then you can use one of the many Web3 recruitment agencies (find them on Linkedin). Alternatively you could go on Github and try to find someone that has previously worked on similar technology and then contact them directly.
If price isn’t an issue and you want someone who has built a reputation in the industry then contact me here and I can provide a quote for the project.
Evaluate Technical Expertise
When hiring a Solidity/Web3 developer, it’s crucial to assess their technical expertise in the following areas:
Solidity developers should have some previous experience in deploying code in mainnet environments. Generally the experience ladder goes something like:
- Hackathons & Testnets
- Personal Projects
- Allowed On Mainnet
- Headhunted by Consensys
You ideally want someone who has worked with similar tech to what you are building as they will be familiar with any integrations with 3rd party protocols such as Uniswap or bridges or liquid staking tokens etc.
Bare in mind that Ethereum hasn’t been around that long and you aren’t going to find someone with 20 years experience, we are all just figuring this out as we go
The frontend is the website that you connect Metamask to which links us to the smart contracts. It provides the user experience, features and consumer facing product for what you are building.
Generally speaking it is rare to find developers who are mathematically minded enough to be good Solidity devs and also be artistically talented enough to be good frontend devs.
Full stack developers tend to be more left side of brain orientated and your finished product will end up less creative. This is where having a small team of graphic designer, react engineer, solidity dev can pay dividends.
Graphics designers and frontend devs tend to be less expensive that smart contract engineers as well so you can save money (sometimes) by separating out the work.
It’s really hard to gauge a developers security proficiency. I think an informal but perhaps best practice is to look at their personal Github repo and see what CTF’s (capture the flag challenges) they have participated in.
You can also ask if they’ve worked on projects that have been audited before. Having a 3rd party go over your code with a fine comb is a valuable learning experience.
Again experience goes a long way and if the developer has worked on mainnet code in production they will probably have learnt some important lessons along the way.
Look for developers who have a thorough understanding of the DeFi landscape, including knowledge of various blockchain ecosystems, protocols, and emerging trends. Their industry expertise will enable them to make informed decisions and provide valuable insights.
Half the battle with building in decentralized finance is knowing what is available to you. We build on the lego bricks of DeFi and devs that know the industry well will know how to best connect the latest lego bricks.
The best way to gauge industry knowledge is to go through the devs social channels and see what they talk about, who they follow and what they are interested in. You want someone that is obsessed with digital assets and the opportunities they present.
Consider Pricing and Payment Models
Look for developers who offer transparent pricing with a detailed breakdown of costs. Likewise, if you are advertising, be transparent about your remuneration.
Reality Check: You wont find good developers who will work for illiquid governance tokens in todays environment. Developers get offered this all the time and it’s a waste of everyone’s patience. “Please build this for me and I’ll give you 5% of the tokens as I’m trying to bootstrap it”. If you don’t have funding, send a pitch deck and get feedback on your idea from VC’s.
Consider payment models that align with your project requirements and budget. Some developers may offer hourly rates, while others may provide fixed-price contracts or milestone-based payments.
Pricing varies widely depending on what you are looking for but as a rough guideline salaries for Solidity devs are in the low six figure region. I can’t imagine many blockchain developers with any real experience would accept a full time salary below $200k.
It’s much easier to hire Solidity developers when markets are depressed. During bull runs wages inflate to crazy numbers and many developers focus on building their own projects, or got rich from their investments, leaving a shortage of talent and a competitive hiring environment.
Work out payment terms and get some advice on tax obligations if required. For contractors and consultants they will normally invoice you and their are no tax implications. For full time employees there likely will be depending on your jurisdiction.
Perform Due Diligence
Look for developers with a proven track record of effectively delivering web3 products. A portfolio of successful past projects is a good indicator.
Research the developer’s online presence, including their linkedin, twitter, blog and most importantly Github acocunt. Look for indications of professionalism, transparency and positive attitude.
Effective communication is crucial to creating a good working relationship. Ensure that the developer is responsive, communicates clearly and provides valuable insights.
Check their past code, or ask another developer to look at it and give feedback on the quality. Devs can quite quickly see how competent another developer is just by looking at past contracts they have worked on. If you don’t understand it they are probably good, if you can easily understand it they are really good.
Get on a call and ask as many relevant questions as possible. You don’t want to grill the poor person on the other side but try to get a feel for if this is someone you could build rapport with. You want to work with people you respect and if something goes wrong having a good working relationship can become important very quickly.
If possible ask for references and contact past founders that the dev has worked with. Get feedback on what they are like to work with and if they would hire them again.
The next step will be to plan out the project. You can see a simple timeline for a web3 project here:
I hope this guide has provided some useful insights into hiring a solidity or web3 developer. With the right dev by your side, you can embark on a project that might just become the future of finance… or at least a fun memecoin.