I am on a small software development team in a fairly small company. We are in a larger metro area (about three million people), but nowhere near Silicon Valley. I am not in charge of the search, though my boss (who is) clearly listens to my input.

We have a full-time vacancy, and we are having difficulty filling it. In this metro area, most developer hiring appears to be through recruiting firms. However, none of the firms we have engaged have brought us the right candidate, and in general they are bringing us too few candidates anyway. We have considered using Stack Overflow Careers, but right now, there are too few active profiles in our area to justify the (admittedly modest) expenditure. I have asked my "social network" without success.

I am very interested in getting this position filled by someone who will do a good job because, frankly, we're swamped.

What else can I do to help get someone good for this position?

  • 9
    We're dealing with the same thing. The answer is that there is no answer. Good developers are hard to find anywhere, but especially in non-major cities. Keep waiting and hoping. Apr 10, 2012 at 19:43
  • 2
    If it's a senior position, then you need to be prepared for a nationwide search. And this means you need to pitch your area as well as your firm. Apr 10, 2012 at 21:00
  • 4
    As brute as this sounds it is actually true. If salaries are not competitive, forget about attracting quality candidates. You will be stuck forever in the mill of mediocre candidates.
    – atconway
    Apr 10, 2012 at 21:05
  • 5
    We are in the identical scenario too. If location is bad or salaries are not competitive it will be really tough to find good people. Sr. devs are being taken care of by smart companies that recognize talent.
    – atconway
    Apr 10, 2012 at 21:06
  • 9
    Read everything Joel Spolsky has ever written on technical recruiting. Seriously. There's too much to summarize here, but it is all brilliant and effective.
    – hairboat
    Apr 11, 2012 at 0:24

12 Answers 12


As one other comment suggested, you have to explore the possibility that something other than salary and location is hurting your ability to find good talent.

I live and work as a software developer in the greater Pittsburgh area and Allegheny Valley (roughly 2 million people). Like many other smallish urban areas there are the handful of large employers but there are also a good deal of technology startups and CMU initiatives. Beyond this however the pool of software developers is small per capita compared to other areas. There are rarely more than 2 degrees of separation between any two developers, as many of us know and have work with each other or at least in the same company, or we met each other at various local tech council meetings and conferences.

The developers in a small urban area talk.

We generally give each other heads up about the companies that are awesome, the up and coming, the grueling sweatshops, and the chronically understaffed/overcommitted/employee-abusers.

I worked for a few such, lets say, "negatively viewed" companies and found that it actually hurt my career. I like my job with my current boss, but he told me that he almost threw my resume away when he saw that I worked for _____ for 4 years, with the reasoning that anybody who stays there longer than 2 is probably not smart enough to know to escape.

If your company has a negative reputation amongst the developer pool for whatever reason then this may be why you are experiencing trouble finding good candidates even willing to interview with you.

One way I have seen such companies handle this is to sponsor H1B visas to help fill the gap. The talent for the most part can be comparable if you are careful. I have seen this system be abused though as a means to either grossly underpay for talent or a more insidious strategy of basically putting these H1B workers in an extremely tough or demanding situation and holding them hostage by not giving up their sponsorship or delaying and inhibiting any attempt to escape to a new job.


I know that this may not be immediately useful to you in your current search, but Manager Tools strongly recommends maintaining a "bench" of people you know whom you may want to hire in the future and informally learning whatever relevant you can about them ahead of time. Then, when you have an opening, you can go right to the people on your bench who you think are particularly relevant. That you already have a relationship with them will make them much more likely to seriously consider applying.

  • Good overall strategy. I have a very small "bench" at this point myself, but none of those individuals want to make a move right now.
    – Andrew
    Apr 10, 2012 at 20:52
  • 3
    @Andrew (and Isaac), +1. This is how many recruiters find you top talent - just by reaching into their roster of good people (many of whom they may have placed before).
    – hairboat
    Apr 11, 2012 at 0:21
  • 2
    @Andrew: If you offer enough money, one of them will move. May 17, 2012 at 20:54
  • Aren't "talent community" and "talent pool" the more popular terms for this practice?
    – drabsv
    Oct 31, 2013 at 10:42
  • @kevincline - Maybe, but a lot of software devs are more in the "artist" mindset, and care more about doing challenging/rewarding work and being in the "right" environment for them than about the numbers on their paystub. Once a person is making "enough," quality of life at work becomes very important. Oct 19, 2018 at 21:02

There is a clearing price for everything. If you offered a million dollars per year, you would have your pick of the best .NET developers in the country. Since no one will sell at your offered price, you aren't offering enough. You can wait until you find someone who really likes Hastings MN and will take your offer, or you can increase your offer and attract more candidates.

Salaries have increased significantly over the past two or three years. There seems to be an increasing realization of the value of software talent. In Dallas my talented 30-something friends are getting $120K+ as individual contributors.

Salary is above-market according to all the sites that talk about such things, but maybe such sites are wrong.

Those sites are wrong. They are grouping salaries based on experience, not ability. You are not looking for a median 5-7 year software developer (if you were, you wouldn't be posting here), and won't find what you want at the median salary, or even 20% above that.

Do you know anyone who you would like to hire? If not, you need to get out and meet some people. If you do, how much are they being paid? Add 25% to that and see if they will come work for you. If you can't afford that, it's time to revisit your business plan.

  • 1
    This. There appears to be a large pay gap between average developers and great developers these days (to the point that sites like salary.com are fairly useless to the latter group). Which is nice.
    – James Adam
    Oct 31, 2013 at 13:20
  • I have heard (anecdotally) for my career thus far that an average developer is roughly an order of magnitude more effective than a bad one, and a superb developer is another order of magnitude above the average one. Everyone wants top talent, but nobody wants to pay for top talent. What you are experiencing is high demand for something you want, and when things are in high demand with moderate or low supply, you can naturally expect high prices. If people are rejecting offers, try raising the offers.
    – Dan
    Dec 2, 2015 at 23:30

I have no idea how to get the cream of the crop if that is what you are looking for. Most of the smaller companies have very little chance of nabbing them and keeping them for extended periods of time.

But if you are looking for a "normal" developer who:

  1. Might be a little raw but has the potential to get better.
  2. Will tend to be a bit more motivated to learn and get involved.
  3. Might stick around for a while.
  4. Will be good enough to get "normal" jobs done somewhat competently after some learning.

Try schools.

We are a small-ish software house in a small urban area and schools are pretty much the ONLY source of talent. Of course there will be some risks you are taking with fresh graduates and interns but we find that it works well enough for us.

Most won't have the skills necessary right off the bat but they can be taught and are mostly willing to listen. They also come with less cultural baggage and most will stay at least a year (because anything less looks ugly on a resume :P) as long as you will have them.

It works pretty well for us after we figured out that no matter what you do, staff turnover is inevitable. Constantly having two "trainees" taught how to do things correctly makes dealing with it less painful since they can step in and do the job with a short "ramp up" period. They already know most of the general code base, conventions, how we work, what we expect, what we are producing, etc, etc. So it's a lot easier than having to deal with a new developer.

They don't cost a lot and those that work out well (you should be able to tell in a month) are enticed to stay. Those that obviously won't get cut early. So we basically end up with a system that is engineered to deal with 1 or 2 people leaving yearly out of our 12 man developer pool. People come, people go, life goes on.

One side benefit is that when it's time for the next round of graduates, some of the trainees on hand will recommend friends that are typically of a reasonable quality and the students know that you are serious hirers because news travels fast in small communities. After a few years of doing this, we have students that pro-actively approach us for jobs in their senior year and we actually get to pick from the best of the "new" crop because of our reputation. This wouldn't have been possible before we started doing this actively.

  • 5
    And if you're looking at fresh grads, you should also consider internship programs so you can cultivate some of them pre-graduation. If an internship doesn't work out well, you shrug and go on -- it was only for a few months. If it does work out, you can groom that person. Two of our recent hires had more than a year's worth of internship time with us under their belts before they graduated, and then we hired 'em as soon as they graduated. May 15, 2012 at 17:09

Are you doing anything that is cool or challenging once people know about it? Consider making a presentation about that interesting method or project at a local usersgroup meeting and then casually mention that you have an opening.

  • 3
    +1 I drove an hour and a half to interview in a town that was not on my spouses list of top cities, just because a company made a credible claim of considering a language I'd like to learn more of. May 15, 2012 at 13:59

How far out are you going in your search? You might try increasing your range to up to 50 miles (or further, depending on how far you're currently looking). Depending on how the traffic and commuting situation is in your area you can draw people from further away. At my workplace we've got employees coming in from up to two hours away (120 miles).

  • 200 miles on SO Careers with asp.net, sql-server, and c# keywords with active profiles and no students gets me 8 results. If I had my way, telecommuting would be more of an option, but because my employer just had a bad experience with telecommuting (which is why this position is open, though IMO the problem was that the particular employee did not know how to work effectively remotely), the employer is not open to a telecommuting arrangement.
    – Andrew
    Apr 10, 2012 at 21:04
  • +1 for expanding your search. My family of four just moved 162.5 miles for a new position and were looking from Florida to Washington State and Michigan to Texas. I find that companies are often leery of bringing in someone from so far away, but both of my own moves worked out well. I know of others who were looking to and have moved to great benefit for them and their new employer. May 15, 2012 at 13:55

If the most common way of hiring in the market is through a recruiter I would suggest talking to them about the caliber of people and finding out what it would take to get them for you. Unfortunately a lot of recruiters don't have the internal vetting process to get bad candidates out and you will have to drop those and find someone who does same as you would find a developer.

It is possible that the people you are looking for may be worth more then what you are offering. I'd look at Salary.com to get a feel if you are even in the market for what you need.

  • We have been trying what you suggest. Sadly, even after having this talk with recruiters, we're getting no one. I've checked salary sites, including salary.com, and supposedly we're actually above market.
    – Andrew
    Apr 10, 2012 at 21:05
  • 1
    @Andrew If you are above market for your area then you have to go outside your area possibly even out of the country. I would assume you checked the usual suspects: Monster, Dice, etc.
    – Karlson
    Apr 10, 2012 at 21:09
  • You know, you raise a good point with Monster and Dice. In this area, most of the postings on those sites are by recruiters, and recruiters get a lot of their resumes from there as well. But, maybe we need to take matters into our own hands on that front. We'll need a way to stand out from all the recruiter spam -- I don't have an active resume anywhere, but I still get several e-mails nearly every day from recruiters who had my resume from the last time I was active.
    – Andrew
    Apr 10, 2012 at 21:20
  • 1
    @Andrew If you are offering an above market salary and still not attracting good talent, there is something else about your company that makes people not want to work for your company.
    – hairboat
    Apr 11, 2012 at 0:20
  • @AbbyT.Miller Another excellent point. I'm not completely sure what could be causing people to stay away from this company. Like most companies, it's not for everyone, but it should be right for someone. If you have ideas here, they might make a good answer.
    – Andrew
    Apr 11, 2012 at 1:57

My opinion is the opposite of Kevin Cline's. It's not just about money. Even if you raise the amount you'd be willing to pay for a dev, they can still find a place that pays better somewhere else. In fact, if someone decides to work for you because you pay a hefty large sum, it takes only one competitor offering more for you to lose that talent.

I like Meredith's answer best among all the ones so far. There are too many business for to few devs. So a bigger part of the problem is that you are facing some tough competition to get good talents.

Therefore, you have to ask yourself: is your company an Awesome (capital 'A') place to work?

So when you say that you've got an open position that you're having problems filling, then allow me to be blunt: your company sucks. It may be a good place but your region is probably overflowing with better ones.

Ok, so maybe your company doesn't suck. Most probably it is a cool place to work. But that's not the image you are selling.

Do yourself a favor and send your own résumé to other companies around the state. See what they have to offer. Pay special attention to what they have that you don't.

For example, a casual dress code. Devs usually don't have to interface with the client, so there is no need for them to wear a tie. And people absolutely hate having to dress up to work. Most devs in the world now are between 18-35, so this is double true for them. And not having to dress up is such a cool thing that a casual dress code is sold as a perk of the job. Think about it: if people actually liked wearing suits, startups and cool places to work would advertise "we have a formal dress code! Come work dressed as a lawyer with us!". However, what you see in job ads is actually the opposite of that. Only people with large sticks up their asses like formal dress codes, so if your devs don't have to talk to the client directly, drop it.

You may think this is silly, but think about it. If two competing companies in the same street offer the same salary, same working hours, same benefits and all, and the only difference is that in company A you have to dress up and in company B you don't... I would choose B 10 out of 10 times.

Another thing to consider is flexible time. Do you make your guys punch cards? Punch yourself in the face if you do. Only tech support should ever have to work in a fixed time. And even then, if tech support is a large enough team, I say they can organize themselves so that they can have flex too, as long as they compromise to have at least a capable response team during normal work hours.

Pay devs for their productivity, not for being punctual. Just look around. Even here in The Workplace you'll find discussions about this. Flexible time may be just about the most important perk for devs when they go choosing jobs.

Does your office look like a factory? By this I mean, does your staff work in cubicles? This is a major red flag for many people when they first look at where they may have to spend half of their waking time for the foreseeable future. The more your workplace looks like Dilbert's, the deeper in nightsoil you are.

If, on the other hand, you actually think your office environment is nice and friendly, include that in the job ad! You have no idea how much difference a picture of the office can make when you're looking for people. I say this by personal experience. If your office looks like a nice place to be and you include a photo of it in your advertisement, the amount of people sending résumés will be multiplied. I used to give presentations on how to get good talents around here, and I always stressed this point out. Companies have given me feedback on this, with their results. Some places started receiving double the ammount of applications, most got around 4x more, and one place who really had this environment which was lit naturally by day (glass walls), many plants inside, bean bags for those who didn't want to work on a chair etc. got 15x more applicants.

Last but not least... The most important thing in the end of the day is looking at your own current staff. Are they happy to work for you, or are they stressed out? Do they work for you because they find your company worthwhile, or are they working for you just because they feel they are in a career deadend but can't get a better job anywhere else?

People have networks. They talk to their peers. If your guys like their jobs, people will know your company is a good place to work, by word of mouth. But if your staff is unhappy, any effort you undertake into making the company seem like a nice place will have the opposite effect. People will know it's not true.

This is not even close to an exhaustive list - these are just the basics nowaday. If you've got those points covered, then it's time to go up a level and see what perks your competition is offering. Food for thought.


My company is in a similar situation. It's only recently that our business has grown to the point that we can afford recruiters, and we still prefer to hire direct when we can.

As others have said, more salary is never going to hurt, although you need to be careful that you don't upset existing employees who didn't get as generous an offer.

I think of recruiting for a small company as being the analog of job searching. You need to network, and to get your story out where potential candidates are.

Sponsoring user groups is a good technique, or at least encouraging existing employees to join and present at them.

Tweets, Facebooks, and blogs can be a great way to get your story out if you management will allow them to speak with a human voice. This is hard for a lot of managers.

We go to a lot of job fairs. These can be tiring, but we've found a number of great employees that way.

If you're Google then good candidates may be beating down your doors, I wouldn't know.

I do know that if you are small growing company you need to have a very proactive recruiting effort if you want to have a chance at the best candidates.

ETA: You are no doubt aware that only one out of a hundred of the people who call themselves 'recruiters' are really doing anything other than collecting every resume they can find and throwing the resumes at any job opening that could remotely be related to the candidates qualifications.

To find a good recruiter your senior management (CEO, CTO, ect) needs to get out and network with other senior managers. That's the best way to find a decent recruiter if you end up going down that path.

  • 2
    If worry about upsetting your current developers, I suggest you review their compensation before they wake up and realize how much money they are leaving on the table. If you are worried about upsetting the non-developers, they may have to get over it. They don't complain because your legal counsel costs $250/hour. Things cost what they cost, and if they think programmers are overpaid, they should change careers. May 17, 2012 at 17:15
  • There are very few good software recruiters. About 99% just sift online resumes and make cold calls. It will take as long to find a good recruiter as it will take to hire a developer. May 17, 2012 at 18:32
  • @kevin cline - good point, I edited the answer to include my take on recruiters. May 18, 2012 at 19:40

I've made this point in other forums, but I'll repeat it here:

bls.gov shows that, by their count, there are essentially 1.3 million programmers in the US. Certain reality checks indicate this is too low, a more realistic number is 2 million. BLS only counts people with degrees, but a lot of developers don't have degrees.

There are supposedly 16 million businesses in the US, and this represents the 60% of the economy that's 'private sector'. So there is, presumably, the equivalent of 11 million 'businesses' in the 'public sector', which one would interpret as municipal governments, school districts, state agencies, military commands, federal agencies, etc. Therefore, roughly speaking, there are 27 million distinct 'organizations' served by 2 million developers.

Probably 80% of the private sector businesses are too small to have in-house staff, leaving, say 3.2 million that want in-house developers. Of course, of that 3.2 million, a few hire tens of thousands and hundreds hire thousands each. Public sector organizations are both more information intensive and more effective at extracting money out of 'customers', therefore about 30% of them (say, 3.3 million) might be able to employ developers. Again, some agencies are large enough that they want hundreds or thousands. So taking a Wild Ass Guess we have 6.5 million distinct organizations trying to hire out of a pool of 2 million. Whether these numbers are precise is less important than whether it is possible to establish the scale of supply vs demand.

A bit of keyword searching turns up evidence that the 'real' developer pool in India is about 2.6 million. One is left with the impression that the sum of developer talent in India, the US, and Europe is not enough to supply the US market alone, much less the combined markets of the Americas, Europe, and South Asia.

One of the most desperate markets in North America is Toronto. One of the areas where developers have a hard time finding work is in the Atlantic Coast area of Florida - some of this is driven by NASA layoffs, a lot more of it due to do with the fact that people don't want to leave - they're rather starve in Florida than freeze with a full belly pumping oil in North Dakota.

Consider the idea of setting up a 'sister city' - Melbourne, FL might be a good place to start. Recruit in the area, and if possible create an office there so that those people can stay put. Note this gives someone a business writeoff excuse to be in Florida, particularly as no one mistakes Melbourne for Disney World. Other areas that might also have potential is the Gulf Coast from Florida to Texas. Find large urban areas with educated workforces that are underutilized. Albuquerque may be another candidate, but watch for the flying saucers. One gets paranoid when burly people wearing dark suits and dark glasses seem to glow in the dark.

If you can create a 'summer haven' for people that are otherwise baking in the heat (Austin, Houston, etc.) you might get 'on site' during the warmer months. Software development doesn't seem seasonal, but maybe it would make sense.

  • I think there were also a lot of layoffs at Cisco recently in North Carolina. There are also a lot of sacrificial firings coming for healthcare.gov and you may be able to find a current government employee or contractor who isn't willing to wait for the next government shutdown or is tired of being furloughed. Nov 1, 2013 at 23:31

When there's a scarcity of candidates, you would obviously need to expand your channels beyond the currently unemployed. Generally you have two more options:

  • recent university graduates;
  • developers already working somewhere else.

How do you make your company appealing to university graduates? - any internship program organised well, would do. You must give plenty of opportunity to young people to learn and you must be cautious not to engage their internship time with routine work or without a capable mentor. It is important not to mistake an internship program for a means for cheap labour. The internship program is your incubator for new employees and would not and should not come cheap as an investment.

How do you make your company appealing enough to make developers already working somewhere else switch? - sloppy thinking points at increasing the salary. While that is a factor, it is not the key one. There is plenty research on this, just google "motivation factors on the workplace" or something like that. Here is the big question - how much do you consider HR activities to make the core of your business. My personal philosophy is that for any enterprise HR should be a mandatory activity of focus, regardless of the main area of business. If you currently think that your daily duties include managing employees, communicating with clients and keeping an eye on the financial balance, then I say, they should include thinking day and night how to attract and retain talent, as well. And if you accept and implement such a philosophy, then you'd easily come to ideas what else you could offer in order to entice capable employees to switch their current jobs to your company.


When searching for candidates on Stack Overflow Careers or anywhere else, include passive profiles. Many good developers in your area are probably not actively looking for new jobs. You should seek them out rather than waiting for them to come to you.

Send them a simple invitation:

"Saw your great resume on Stack Overflow...we also use ASP.NET, Sql
Server, etc...can I buy you lunch this week?"

Also, include candidates that are willing to relocate to your area. Search for developers who attended your local university or who grew up in you area. Find someone who is stuck paying high rent in Silicon Valley and wants to move back closer to family and friends.

Not the answer you're looking for? Browse other questions tagged .