Finding a Developer
The Web App Challenge | January 15th, 2013
I was expecting the process of finding a developer to include browsing lots of Elance profiles while trying to determine how a bulleted list of skills translated into an actual web application. Luckily for me, I never had to do that.
It Started With Teaching
When you teach, people will listen. Giving away information for free builds a following of people who want to help you. Since this project is public, thousands of people are following along to see how it turns out. Many have offered to help in some way. The point is that by sharing what you know, as I have done, you give yourself a competitive advantage. I’m sure that will help many times throughout this project, but it really helped when finding a developer.
In my first post I mentioned I planned to hire a Ruby on Rails developer. I planned to go on Elance or another site, not thinking that I might find the developer I needed just by writing that. Seventeen emails from Rails developers later, I realized a job posting wouldn’t be necessary. But 17 people is a lot. Where to start?
Narrowing The Field
First I added a “Ruby” label in Gmail so I could keep track of all the conversations. Then I waited. My focus the first week was on finding and validating the idea, so I basically ignored all the emails from developers (sorry guys!) until I was ready. Once I was committed to an idea, I started to wade through all the emails.
Out of the 17 replies, three were not a good fit. I sent them a quick email thanking them for their offer, but that I was going a different direction. With 14 remaining (Yea, progress!), I had to narrow the field further.
When finding people to work with, a simple email isn’t much to go from, so I needed to hear more from everyone. I wrote out a quick email and copied and pasted it to each developer, with a few personalized areas depending on the previous conversation. Here’s a sample of one:
Thanks for your offer! I am still looking for a developer. Could you answer a few questions so I can get a better idea of your experience?
- How would you implement a multi-tenant model in a SaaS web app? Have you built one before?
- What’s your preferred method for implementing recurring payments?
- Have you worked with email service providers like MailGun, SendGrid or Postmark?
- What hourly rate would you charge for this project?
- Do you have any experience writing A/B testing software?
Thanks. Look forward to talking with you more soon!
Those questions aren’t particularly clever or anything, just things I wanted to know. Also, reading the responses would give me an idea for how they think, what type of person they are, and if I’d like to work with them. Basically, I needed more material from them, and this was the start.
Here are a few things I was looking for:
- How do they talk about areas they don’t know? For example, most had never worked on A/B tests.
- What services are they already familiar with?
- Have they even built a SaaS app before?
- Will they anticipate issues common with recurring billing? (expired cards, plan changes, etc)
- Do they sound like a person I would like to work with?
Thinking on it now I should have added one or two more especially dumb questions just to see who would take the time to teach me such basic stuff, especially since I am working on learning Rails.
From that email eight of the 14 responded. Six never got back to me, which was just fine. The problem was that the eight who did reply seemed quite good. They were developers who had written guest posts for popular sites, spoken at conferences, and had quite a bit of experience. I emailed back and forth with a handful asking more questions and learning more about them.
The Short List
Next I added another label in Gmail called “Best” (it was a sub-label under “Ruby”). These were the people whose responses I liked the most and who seemed the most likely choices for me to work with, though I still continued discussions with everyone in case my first impression was wrong.
By this time in the process I had a pretty good idea of what my app was going to do and had built wireframes for the major screens. I stored these wireframes in InVision (which is a great tool), so I could just share that link, along with a feature list for the MVP (Minimum Viable Product) with each developer.
I sent this out to everyone and asked for quotes. Since the feature list was in a Google Doc I could sometimes see six or seven people reading through it at the same time. Everyone just showed up as anonymous users, but at least it let everyone know I was talking with a handful of developers.
The quotes that came back ranged from people saying they would build it for free (sometimes for a cut of revenue) up to $40,000. Since I only allocated a budget of $5,000 to get started (something that I will run into quite soon), the high end bids were obviously out. Most bids came in between $3,000 and $7,000.
I chose a developer who was even cheaper than that.
The next step was to have Skype calls or further discussions with each developer who returned a quote. I had four Skype calls and exchanged emails with three others. All were good and had reasonable bids. Thanks to everyone who took the time to talk with me!
For people I really liked I forwarded the conversation to Brennan Dunn, who is advising me on this project. Brennan is a talented Rails developer himself and has hired a lot of developers over the years. Having his opinion gave me confidence that I was hiring the right person.
If you can’t evaluate code quality for someone you want to hire, I recommend that you have a trusted senior developer advise you on that process. Then for your new developer’s first few weeks on the project, have your advisor review each check-in to make sure the developer is as good as you first thought.
The developer I hired is young (still in high school), so he has the least amount of experience of anyone on my short list. I think some other people would have ignored him because of his age, but I am not that old either, so I know what it’s like to be in his position. So I evaluated him fairly, regardless of age, and he is a really strong developer. Once I made the decision to ignore age, who to hire became a much easier decision.
Like many people I started building websites when I was 13. When I was 15 I graduated high school and started to make my money freelancing. At 17 I dropped out of college to focus on designing websites and software full-time. A year later I was hired to lead the software design team at a startup that eventually grew to nearly 90 full-time people.
There are a lot of people who hired me based on ability, ignoring my age, and I really appreciate that. So it would be hypocritical of me to not do the same.
That was the process I followed. Hopefully it helps. We jumped right into building the application last Thursday and have made really quick progress. I actually exceeded my 20 hour limit by 2 hours because I was working so frantically to get markup written so that I wouldn’t be a bottleneck.
Speaking of which, let’s review the time spent for last week:
- Learning Rails: 2 hours (not nearly as much time as I would have liked to spend)
- Design: 5 hours
- Development: 6.5 hours
- Planning: 7 hours (mostly on finding a developer)
- Idea Validation: 3.5 hours
Total: 24 hours (22 when you take out time spent learning Rails, which doesn’t count)
Looks like I already broke my 20 hours a week rule. Oh well. Last week I worked less and there are some upcoming weeks that I will be on vacation, so I’m sure I’ll be below the limit there as well. I guess it shows that I am more committed to making this project a success than I am to following my arbitrary rules.
I have spent $479 so far on development, so I have $4,521 remaining. A lot more of that will go quickly…
926 people are following the Web App Challenge by email. You should too, with the form below.