So here’s the scenario: you have a product you want to build, but like most people you are not one of those “coder” types. At a minimum, you need to hire a freelance web developer to bring your idea to life. Ideally, this developer also has the vision and technical know-how to help with product development, too.
This means you face quite a challenge, especially here in Nashville. This isn’t Silicon Valley, where the developers grow on trees. This is Music City, where the only species of trees we grow are “guitar player” and “songwriter.”
If you need development help, you really have two choices: hire a digital agency or go find a unicorn.
In the web business, a unicorn is what we call a developer who can do it all and do it all really, really well. We call them unicorns because they’re almost impossible to find.
That being said, if you lop off the doing-it-well part, you can probably find a person who at least can do it all. But is this unicorn a better option than going with a digital agency that might have more up-front costs?
I’ll be the first to admit I’m biased, but the smart move is to choose an agency for your initial product development needs. Here are five reasons why:
1) Finding a unicorn is hard
It’s hard enough just to find a developer-for-hire, but finding a unicorn can present an entirely different set of challenges.
Outside of trolling coffee shops, your best bet to find a developer is to look online. But generally speaking, individual developers don’t have the same SEO juice that an established firm will have. They might have a simple resume site, but marketing and visibility is more of an afterthought. Personally, if I didn’t work in this industry, I’m not even sure I would know how to find talented freelance developers. You might be able to find a freelancer on an outsourcing site, but that experience always feels so overwhelming– to say nothing of the quality or communication issues you will inevitably face.
In a company’s early stages, you’d be better off focusing on your business, rather than a unicorn hunt.
2) Vetting a unicorn is hard
Even if you found a bonanza of developers somewhere, how do you know who is good, who is great and who might be your unicorn? Do you know whether or not the alphabet soup of skills in his/her resume is what you need to accomplish your goal? More importantly, do you care? You just want someone who can execute the idea you have.
The tricky part about vetting a potential developer is knowing if the developer is telling the truth or exaggerating. I could tell you I’m an expert in Java and bombard you with various official-sounding terms. You would have no way of knowing that, at least at this point in my career, I have not written a single line of Java– and I’m not even a good liar.
I’m not saying that freelancers are crooks and thieves. I know many freelance developers who are talented, honest, and hard-working people. I’ve just noticed they tend to have trouble having bosses.
If you’re fastidious, you can ask for references or to see other client work the developer has done. But at the end of the day, you, with your limited budget and your big idea, likely do not have the skills and experience necessary to accurately vet software developers.
3) Keeping a unicorn is hard
There are many reasons to be a freelance developer. Most will probably tell you they do it for the freedom. What does that really mean?
In my profession, freedom means two things: not working on projects you don’t want to work on and not working for people you don’t want to work for. (Remember what I said about unicorns and bosses?) What freelancer freedom means for you is that the moment you or your project becomes unpleasant or boring, your unicorn can simply move on.
Freedom is great for unicorns and terrible for you.
4) Continuity between unicorns is hard
If you think hiring a freelancer to build your project from the start (“green field”) is difficult, finding a freelancer to maintain and/or rescue your half-finished (“brown field”) product is nearly impossible. The market is so good right now that freelancers don’t have to take on the gargantuan task of picking up after the last developer, if they are even able to. Unicorns can just wait for the next “green field” opportunity and enjoy their freedom.
But let’s say you do find another freelancer willing to pick up your project. How much time do you think you will have to spend bringing him/her up-to-speed? Did your previous developer keep detailed and current documentation on the way your app works and plans for the future? Spoiler alert: he/she didn’t. You know how I know? Freelancers never, ever, ever plan for the next developer. That kind of thing is always the first thing overboard when there aren’t enough hours in the day — and there are never enough hours in the day.
Even if your old unicorn could find the time to keep detailed documentation, the amount of knowledge that must be passed from one person to another in this scenario is too great for the written word. I get chills just thinking about finding myself in that situation.
5) Being a true unicorn is hard
Above all else, I am a developer. My skillset leans heavily towards application development and not any of the other things that go into product development. Thankfully for me and the clients my agency serves, I do not have to do project management/UX/design/budgeting/billing, as well as looking for more work at the same time. I spend my time doing what I’m good at: web development.
When you hire a unicorn for product development, you are asking one person to wear multiple hats. Not only is it extremely difficult to find a unicorn who can do all of those things well, but it is nearly impossible to do it all at once. We’ve all heard the stories of “communication black out,” where developers just don’t respond for a while. Well, any time a unicorn spends answering your emails or creating a report is time he/she isn’t spending on your code base — the very code that you hired them to work on.
Digital agencies to the rescue
Agencies are a great choice for early product development because they solve all the problems listed above with three, general traits: experience, consistency, and diversity.
Agencies are easy to find. In fact, digital agencies are generally falling all over themselves to find new business. Even if you have only heard of one (ahem, Centresource), most agencies will tell you about their competitors if you ask. They also should be able to show you recent work and give you verifiable references of past and current happy clients. This way, you get to leave the developer vetting (and the unicorn hunting) to the agency.
More than anything, you should look for the agency with the experience to understand your vision and the expertise to deliver your product.
Unlike the land of unicorns, agencies use consistency to marginalize the pain of keeping talented developers. Developers come and go, but agencies like Centresource have the experience to manage the turnover with well-tested company standards. This way, if I’m working on your project for my agency and I get hit by a bus, I know the next developer will find comfort in the fact that your project was done the way she expects. The standards, practices, and tools we use allow us to bring developers rapidly up-to-speed. With the support you receive, your agency is your team. And that’s what really matters: having the right people on your team.
With a whole agency working for you, offering a diversity of talents, you receive the sum of its collective expertise. I do Ruby on Rails pretty well, but the projects I work on have the benefit of input from UX Experts, Strategists, and Designers, to name a few. If I run into a problem I have not solved before, chances are someone on the team has been there before. I have task-master Project Managers who keep me focused and under budget. More than that, the Project Managers keep in contact with you, so I can stick to writing code. That is good for your bottom line.
Coming up with a great idea is hard. Executing the technology is hard. I hope finding the right people to help you just got a little easier.