How To Hire Developers For Your Web3 Startup?
Lessons from wasting thousands of dollars and countless hours on hiring the wrong web3 developers.
I have wasted thousands of dollars and countless hours on hiring the wrong developers for my web3 startup.
One wrong hire can cost you more than you think. It hurts your reputation, ruins your momentum and stops you from growing. If you can spend time on anything in the early days of your startup then I suggest you do that on hiring.
I wish I could have found a resource when I was starting out, but that's water under the bridge. I have compiled all the lessons I have learned in the past three years on hiring developers for my web3 startup and created a process that I am going to share with you for free.
For those of you who are new here, my name is Talha Asif. I am the founder of Nalikes.com, and on this blog, I share lessons and insights from running my web3 development studio on various subjects like sales, lead generation, project delivery, hiring (like in this blog), and many other subjects.
When I started my agency, my co-founders and I could handle all the work by ourselves. We could design and develop smart contracts, web apps, mobile apps, games, and many other things all on our own. We didn't want any outside help and couldn't think of giving the precious work of our clients to someone else.
The day came when we had to scale. We had multiple projects, and we needed to hire a developer. It’s not like we hadn’t hired before. I had hired writers, designers, and developers for my previous agencies, but this time we were hiring in the web3 space. The space itself was very new, and there weren’t many experienced developers.
I started doing what anyone would do: I asked people in my network, posted on social media, headhunted on LinkedIn, spoke with a few recruitment companies, and did a lot of other things that didn’t scale.
I was able to find some good developers that are still working with us to this day, but more often than not, I hired the wrong developers. This caused many problems, such as not delivering high-quality work, missing deadlines, lying, ghosting, stealing clients and, most importantly, costing my agency thousands of dollars.
Over time, I improved little aspects of the process, but even after taking all the precautions, I encountered the same problems. It got to a stage where I was about to give up, but then I realized that developers were the product of my startup.
If I couldn’t hire good developers, I would never be able to grow and scale my startup. That’s when I put my head down, researched, talked with different people, and finally came up with a process that changed the growth trajectory of my web3 startup.
Ever since I created this new process, I have been able to hire some of the most talented developers, deliver high-quality work for my clients, and continuously scale.
This process can be used by web3 startup founders and anyone looking to hire developers to build a new product or work on an existing one.
I have divided my process into two parts:
Finding Developers
These are a set of activities that I do to reach the right developers or get the right developers to reach out to me.
Hiring Developers
These are the set of activities that I do to take qualified developers, vet them, and finally hire them.
Finding Developers
What & Whom?
Before you even start looking for the developers you must define what are you looking for. The more time you to spend defining what you are looking for the rest of the process becomes easier.
I myself am guilty of rushing the process and starting to look for developers just by knowing that I need a Full Stack developer. However, I never took the time to define what this Full Stack developer looks like: what skills and tech stack they should have, where they are based, what my budget is, what qualities I am looking for, what things are negotiable, and how many years of experience I am looking for.
Therefore, the first step in this process is to define what & whom you are looking for. You don’t need to have all the information, but you should include anything that will help you identify the right developers. This can include years of experience, location, tech stack, hard skills and soft skills, salary/budget, portfolio projects, languages they speak, development process, industries they have worked in and other information.Below is a sample from one of our recent job postings at Nalikes.com. I haven’t added all the details in this specific job posting, but I encourage you to make yours as detailed as possible.
Job Description
Take what you have defined in the previous step than make it pretty so you can put it out there on the internet.
Qualification Questions
This was a game changer.
Instead of getting on a call with all the candidates that fit my criteria, I just sent them these questions and asked them to send me detailed answers. Whatever questions you might have for your candidates that you think can be answered over text or email, compile them in a Notion or Google doc and send them to the candidates.
We will be using these questions later on in the process.
Technical Test
This is the stage where my CTO along with our senior developers sit together and draft a test that we will be giving to the qualified candidates later in the hiring process. This test varies. For example, if we are hiring a smart contract developer, the test will be to write a smart contract. If we are hiring a front-end developer, they will be asked to design a responsive web page, and so on.
The test is created in accordance with the tasks that the candidates will be doing once we hire them. We keep this test short, so it can be completed in 1-2 days max.
Below is an example of the technical test.
Job Posting
Once we have all the above ready the next step is to put it out there on the Internet. I do that in two ways.
Outbound
Inbound
Outbound
The reality is that talented or skilled developers are not sitting around waiting for work. They are already working in a startup, on their personal projects, or are busy. They are not actively looking for new roles. This is a big lesson for both developers who are looking to get hired and founders who are looking to hire.
Some of the best developers you hire will be difficult to hire. You will have to convince them to join you. You might be thinking, "What? I sell all day to customers and investors, and now I have to sell the vision to developers as well." Yes, as you grow your startup, you will have to sell the job to qualified developers.
So, the next time you hire someone and they are easy to convince, be alert that either they are not skilled, they don’t have many opportunities, or they just aren’t a great fit for you.
On the other hand, if you find it challenging to convince someone to work for you, know that you are on the right track. Here’s what I personally do:
Cold messaging on LinkedIn & other social media platforms
This is an example of how you can cold message to hire people. I recorded this demo video for this blog post, but when I am actually looking to hire, I spend more time using the right keywords, applying filters, studying the profiles in detail, and crafting the first message.
Searching on Google using keywords
Inbound
This is the traditional process of posting the job on hiring platforms, and then the candidates apply to it.
I post jobs on the following platforms:
I also forward the job posting to my personal network, WhatsApp and Telegram groups, and to candidates I have connected with in the past who could be a good fit for the role I am looking for.
Screen Candidates & Make a List
Once I start getting applications via inbound or outbound methods, I begin vetting them. First, I use the criteria that I created in the first step, then filter them through the qualification questions, and screen their portfolios to ensure they fit the defined criteria. Once I have this list, I move on to the second part of the process.
Note that the first part of the process never stops; you continuously keep looking for or getting applications from candidates even when you are in the next part of the process.
Hiring Developers
Vibe Check Call
This is the first call I have with the candidates. Since I hire remotely, I do this via video call using Google Meet. If you are able to meet these people in person, then do so.
In this call, I am not evaluating them for their technical abilities because I have already done that when they shared their profile and links to their portfolio. My goal in this call is to see if they are a good cultural fit, understand their goals, ambitions, and motivations. I also evaluate if they have high integrity and how so they solve problems.
In this call, I talk less and let them talk more because if you allow someone to speak for a longer time, they will reveal everything about themselves.
By the end of this call, I can figure out if I see me and my team working with them.
If they are not a good fit, I just thank them for their time and politely tell them during the call itself that this is not a good fit and wish them the best of luck.
There was a time when I gave interviews myself and did not know whether I was selected or rejected until days, weeks, or even months later. Even then, I would get a boring email explaining why they did not hire me.
Therefore, I have made it a part of the process that if the candidate is not a good fit, I respect their time and let them know immediately. In some cases, candidates ask for feedback, and I happily give it to them.
I don’t have a fixed script for these calls, and it is something that you will get better at over time through practice and interviewing people.
Setup Communication Channel
If someone passes the initial interview, or as I like to call it, the "vibe check," I set up a communication channel via email, Discord, Telegram, or WhatsApp and add my co-founders as well. This allows us to easily ask any questions later on.
I find emails to be very ineffective and they create a lot of friction. In today’s fast-paced world, I prefer to keep all my communication on WhatsApp, Telegram, or Discord, where I can ask questions and get answers quickly.
Initial Technical Interview
This is the first technical interview where we ask developers to explain their technical skills in detail. We also ask them to describe each project they have worked on, including their role in each project.
The goal here is to evaluate if they have the skills we are looking for and if those skills match what they mentioned on their resume or application when they applied.
Code Review
If the candidate passes the first technical interview, we ask them to share their code or GitHub repositories. If someone is not willing to share their code, it is a red flag, and you can disqualify that candidate. However, in some cases, the candidate might have signed NDAs, so you can ask them to share their screen and go over the code.
This step is non-negotiable; you must review their code before you hire them because people might be able to sell themselves to you, but the code never lies.
Reference Check
This has made my life so much easier when it comes to attitude, behavior, and the overall quality of the experience working with developers. What I do is ask the candidate to share with me the contact details of the people or companies they have worked with in the past. They can share their emails, phone numbers, or even LinkedIn profiles—anything that will help me get in touch with them. I then reach out and ask them that I am planning to hire this candidate. I use the following script:
Hey [Name]
I am [Your Name] from [Your Company].
I am considering hiring [Candidates’s Name] for a project. I wanted to reach out and ask how was your experience working with them? Did you face any issues skill wise/personality wise?
Thanks
Technical Test
Once I have completed the reference check and there isn’t anything concerning about the candidate, we send them the test that we created initially at the start of the process.
Final Technical Interview
This is the final technical interview where I bring in my CTO and senior developers to evaluate the candidate on the test they have completed. We ask questions related to the job and the project they will be working on.
Final Call
This is the call where I have already decided to hire them. Therefore, in this call, I just casually chat with them, telling them more about our background, culture, vision, and work environment. I also finalize the salary if it is a full-time employee or the fixed cost if it is a contract-based project. Additionally, I communicate our working process and other relevant information before the onboarding call. Onboarding a developer is a whole other process, which I will share at another time in a separate article.
On the other hand, if a candidate does not pass a certain stage of the hiring process, we respectfully and politely communicate that they haven't been selected immediately.
I personally manage this entire hiring process on notion and you can duplicate the our template for free.
Note: If you want any help with set up or need a step by step guide on using this notion template then send me an email at talha@nalikes.com
I hope this was insightful and will help you hire the right developer for your web3 startup. I know it’s a long process which might take weeks or even months to find the right candidate but that is the price you have to pay if you plan to build a successful startup in the web3 space.
This process is highly tailored to our current needs; however, as we scale, this process will evolve, but the foundation will remain the same.
Feel free to share your insights or experience on hiring in the web3 space in the comments.
If you want to skip all these time-consuming steps, you can work directly with our studio. We have developed and launched more than 50 web3 products, some of which have acquired thousands of users, raised millions in funding, and are generating revenue to date.
Thank you for reading!
See you in the next blog.
Thanks For sharing. By reading this i learned a lot of new things.