Before you can give your new developer Github access and she can start cranking out code for your amazing product, you must first source enough candidates for the gig.
Finding enough local developers to interview takes more effort than most people realize!
The challenge of sourcing local talent leads to a pivotal question: “Am I okay with hiring remote?”
If the answer is yes, then sourcing online makes the most sense. We’ll cover web-based sourcing strategies in a future post.
For now, let’s explore several strategies for finding gems in your local market. The most effective strategy often varies from city to city, so we’ll start with what has worked for us in Memphis and end with more tactics that can work in cities of all sizes.
How has Clear Function found local developers?
Clear Function is located in Memphis, Tennessee. We have followed the steps below source some amazing developers right here in our own market.
Identify local companies that hire developers. FedEx, International Paper, and AutoZone all have headquarters in Memphis. We have some direct connections inside those companies, so we were able to ask them where and how they hired and pick up new ideas.
Ask what technology those local companies use. The major players in your town probably have proprietary technology stacks, and they must recruit developers who can maintain and grow that tech. For example, many corporations use the .NET framework developed by Microsoft. If your product is built with .NET, then you’re in luck. If you can develop relationships with those companies and learn the basics about their tech, then you can perhaps follow the same sourcing path with your own company.
Contact a recruiting agency. Most of the major players in Memphis work with local recruiters like 1LinkTechnology because they proactively grow a huge database of people organized by geographic location and skillset. If your stack uses modern languages and popular tech, then going to recruiters is the magic button you can press. They can help you find developers no matter where they are located. (Fair warning: If you require new hires to move to your city, then expect to cover their relocation costs and then some. Senior developers get lots of job offers. Yours must be enticing.)
Work the more organic angle too.
Let’s say your go-to guy moved away, and now you need someone new to maintain your web app with Perl.
If your software utilizes older programming languages or less common technologies, then go ahead and talk to recruiters. But at the same time, take a more organic approach to sourcing.
Start asking around.
What this looks like in practice is good, old-fashioned networking.
If fewer developers work with your technology, then those devs can be harder to find. But the silver lining is that they probably congregate both in person and online. They talk to one another and pass work back and forth. In other words, the best way to hire a new Elixir programmer is to ask another one for a referral.
Local meetups and user groups can be goldmines for local talent. Go to them. Talk to people. Shake the tree and see if some names fall out.
Save their names and profile links in a Google Sheet or Evernote. (You’d be surprised how easy it is to forget names. Stay organized, and you’ll thank yourself later.)
Ask for introductions to those developers and invite them out to lunch.
But we’re neglecting the elephant in the room here: If you don’t know much about programming, you probably don’t know many developers.
How do you keep building your list of leads?
Talk to someone in IT.
Most network administrators have developer buddies. They can typically tell you where all the developers are hanging out in town.
Go to startup events.
Another way to build your network is to use your friendly local Internet to hunt down startup events, accelerators, and pitch contests. Ambitious junior- and mid-level developers orbit the startup scene, and even many non-technical founders who are creating digital products may be willing to share contacts with you. (Keep in mind, however, that senior devs who are more “secure” in their expertise and careers are less likely to be out hitting the pavement.)
Startup communities trend toward technologies that have smaller, more close-knit communities rather than the enterprise programming languages like Java and .NET, which many corporations use.
Get on LinkedIn.
In small- and medium-sized markets certain technologies aren’t widely used. For example, we don’t have an abundance of iOS talent in Memphis.
In this situation you must be resourceful and use tools like LinkedIn to do very focused searches and increase your odds of turning up candidates.
- Start a trial of LinkedIn Pro.
- Use the advanced search criteria to find people who self-identify with the skills you need.
- Save their names and profiles links in your Google Sheet.
- Then, send them a quick message asking about their bandwidth for new projects.
Work your network.
Most of the time, however, you’ll use an ordinary approach and talk with lots of folks until your network produces some names.
Short posts on Facebook, LinkedIn, Twitter, and even Google+ might yield results.
“Can anyone recommend an iOS developer?”
“Who should I talk to about an iOS app?”
“Do you know anybody who does mobile development? DM me.”
Add any leads to your Google Sheet.
Decide who will manage the project.
As you start reaching out to solo developers and agencies, it’s best to think through project management. Effective management of software developers involves tons of trial-and-error, particularly for a non-technical manager.
Furthermore, effective management can really only happen after you develop a nuanced and varied skillset. Think about the skills needed to bring any project to a successful conclusion. Then, add to that a second layer of skills required to communicate about using code to create something out of nothing. Add to that a certain expertise gained through experience that enables you to answer important questions like the following, which help to clearly define the ideal project outcome:
- How can we finish this software project on time and on budget?
- What factors might prevent us from doing that?
- How do you ensure that the time your dev bills was actually spend on your project?
- What’s most important—speed-to-market, quality/lack of bugs, or cost? (Hint: You can pick two.)
There’s the issue of quality.
At the end of your project, you obviously expect to receive a working product, but if you’re not a developer yourself, you can’t look over your developer’s shoulder and evaluate the quality of the architecture and code. You’re flying blind.
There’s also the issue of speed.
Push timelines too hard, and you run the risk of alienating the very person who is trying to solve complex problems on your behalf.
But wait too long and you may hear the dreaded words, “Yeah, I haven’t really started. An old client made me an offer I couldn’t refuse, so I’m finishing up that project first.”
This kind of thing does happen. You have to decide whether to cut your losses and go back to sourcing developers, or to stick it out, hoping that your diva developer will deign to make your project his top priority.
And there’s the issue of professionalism.
Professionalism is all over the map in the software development realm. Some devs only know code. They don’t know how to estimate, communicate well, set proper expectations, or in some cases, how to test their own work (eek!). Who is to going to stop them from shipping rickety code that will break in six months? Who is going to call them to the carpet on missed deadlines and poor time management?
Lack of professionalism sabotages as many projects as shoddy code.
So sourcing developers from the right places—ahem not Fiverr—and managing them effectively can mean the difference between spending $100,000 on high-quality software in order to make $1,000,000—or flushing $50,000 before you discover your mistake.
Many people come to regret hiring the fly-by-night freelancer who failed to gather requirements, set expectations, and meet milestones. But perhaps you will have better success than most and connect with the right person via an online freelance marketplace.
Successful outcomes really depend on 1) how good you are at sourcing and vetting developers—more on that later—and 2) how good you are at managing them.
Add local agencies to your list.
Hopefully, you better understand now that managing a development project isn’t as simple as 1-2-3—defining a budget, choosing a date in the distant future, and checking in every once in awhile with your developer. You can do all of those things and still end up with crappy code.
Depending on your needs, you might not want to source an individual developer. You may be better off going through someone who keeps a stable of freelancers or someone who manages a team.
Lots of good developers prefer a salaried position to freelancing. With that in mind, you should also add local agencies to your Google Sheet.
Agencies can handle both the development and the project management. The dollar per hour figure is typically higher, but you also typically see higher ROI.
Let’s say your web app will require approximately 1000 development hours. A single dev working full-time on your project will work roughly 35 hours per week. S/he will need 28.5 weeks, or around seven months and some change, to ship the software product.
But even with their extra communication “overhead,” three good agency developers, working in tandem 35 hours per week, may well be five times faster than one mid-level freelance developer. They could build the same product in just 6-8 weeks.
In the realm of software, 19 weeks is a long time. This timeframe represents a huge opportunity cost to your product and your business. The longer it takes to finish, the longer it is not making money.
By hiring a team, you can dramatically accelerate your speed to market. You can get feedback from real users, iterate sooner, and hopefully cashflow your software that much faster.
Keep in mind that all of the above assumes that your first freelancer finishes the project, which is often not the case. In all likelihood, you will run a gauntlet of mishaps with freelance developers before you find one who can successfully ship functional software.
Okay. Time to get started.
Software development is hard. Really hard. With that said, we want you to succeed at it.
Sourcing the best developers your city has to offer is only the first step on a long journey. Take the time right now to create a new Google Sheet, try to remember whom you already know, and start working that network.
Who knows, you might meet your diamond in the rough at the very next startup event.
Don’t hesitate to reach out to us with any questions: firstname.lastname@example.org.