views:

664

answers:

22

My company is having difficulty attracting the number of software engineers needed to keep up with business. We are in a very competitive market, with neighboring (geographically) companies all competing for the same pool of people.

Realistically, and given the conditions of today's economy, what perks can we offer to attract engineers with roughly 2-10 years of experience? What perk or benefit would entice you join my company, given all else equal?

Assume type of work, salary, health care, retirement, and the like are all equal

Thanks for your help.

+10  A: 

I hate to state the obvious, but relocation package is a must in this case.

Otávio Décio
We're only interested in local candidates.
Elliot
See - and you complain about competing for the same pool of people!
Otávio Décio
+1: agree... it's hard to answer when the question doesn't list the locale. Are you sure geographically neighbouring companies aren't offering help with relocation?
Jarret Hardie
Sure, just spend more money without really changing anything. Good plan.
dwc
Is there an actual reason you're only interested in local candidates? If it's that you don't want to spend for relocation packages, your management is sufficiently screwed up that this thread is pointless.
David Thornley
@David - I agree wholeheartedly.
Otávio Décio
Agreed. If you're limiting yourself to local candidates only but asking about other perks, you're asking the wrong questions.
Kalium
+12  A: 

Flex time! Allow people to work remotely, choose their hours, and days of work.

Jamie
+2  A: 
  • Make the work environment fun! Productive, but fun.
  • Allow use of interesting new technologies.
  • Manage by removing obstacles in the way of employees.
  • Make sure power goes along with responsibility.

There are lots of ways. Most of them involve realizing that developers are motivated by a lot of things, not only money and benefits. Read Peopleware: Productive Projects and Teams for some excellent ideas.

dwc
A: 

Wow, my market would get lots of applications for any jobs. With all the layoffs there's a glut of talent out there. Where are you located? Just curious.

Anyway, I think ranking high on Joel's list will attract the kind of folks you want.

duffymo
Actually, it's harder to hire good people in a down market. See here: http://blog.summation.net/2009/03/why-hiring-is-paradoxically-harder-in-a-downturn.html
Sarah Mei
I re-read that and I'm not sure about its conclusions. I've posted my own question to see if my experiences match up with other folks: http://stackoverflow.com/questions/712117/have-you-found-it-harder-to-hire-in-a-down-market
Sarah Mei
+2  A: 

That's a toughie. If work, salary, and benefits are all equal, what else is there? The only thing I can think of is company culture. Maybe you don't have meetings, have relatively flat corporate hierarchy, etc. Other than that, just come across as nice, smart, fun people with and recruits will want to work with you.

endtime
+5  A: 

QUALITY meals.

Nebakanezer
+7  A: 

Free food.

Gulzar
This is a ploy to keep you in their office working longer hours
George Jempty
+2  A: 
  • flex time

  • not claiming ownership of IP unrelated to your core business (that is, things employees develop on their own time)

  • a product they engineers can believe in/are interested in

  • relatively little red tape to get things done

  • competitive salary

Brian Mitchell
+2  A: 

A good resource for you might be this question. It is more focused on fresh-from-college programmers, but many of the same perks apply to mid-level folks as well. In fact, most of them will be attractive to nearly any developer of the sort you'd actually want to hire.

Matt J
+16  A: 

Individual offices for developers! That's hard to beat.

Also, make sure that your score is high on The Joel Test and state that in your ad. At least that will make more people know what the Joel Test is.


The Joel Test

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?
Evgeny
I thought about finding this link. +1 for doing it.
dwc
Fixed link and numbered list (Markdown uses a special syntax for links, and most HTML (e.g. < br > ) is unnecessary :)
Matt J
Thanks Matt. Definitely should have done that myself ... :)
Evgeny
No problem whatsoever :-)
Matt J
+6  A: 
  • Flexibility: time, location, team organization That is, working from home, working at odd hours, working 4 days a week, working from the office in the other town, working from the lawn, working with the guys from the other team next door, being allowed to take projects from other teams if you have the skills

  • A relaxed yet challenging work environment Unless you meet clients or investors, nobody cares what sort of clothes you come in to work, as long as they are decent, nobody cares you are taking a 2h nap in the middle of the day, or going shopping, nobody cares if you need to bring your puppy or kid in the office today, as long as the work is done... because it's interesting, challenging work and only results matter.

  • Appreciation, career evolution, networking If you know your hard work, dedication, and team building is going to be rewarded, by managers and a company spirit that cares for individual employees, and understands that their skills are the company's primary assets, then I think the recruiter's work is half done.

Varkhan
+4  A: 

Beer. In the office.

Edit: For all you nay-sayers out there, I am 100% serious. I wrote this with one in hand, in fact.

davethegr8
It would attract people, and hence be a competitive advantages. It might have disadvantages, of course.
David Thornley
Do you use unit testing and version management software as a safety net?
Andrew Grimm
It's not very often that we do this, but it's sure nice when it happens. It's more indicative of a great office culture.
davethegr8
A: 

Flexible work hours Oppurtunity to learn Competetive salary Allow to work remotely

Java Guy
A: 

The things I've liked about jobs have been the work (which you really can't control), and the management attitude. Most software engineers like to get stuff done. If management is focused on getting stuff done, and making it easier, I like it a lot better.

Therefore, eliminate as many nonproductive things and irrelevant requirements as you can. If somebody wants to work in shorts and T-shirt, at odd hours and odd places, what should be important is that that person gets stuff done. (Obviously, there's limits to this. Most shops need some equivalent of face time, which suggests core times to be in one particular place.)

Provide good quality furniture and comfortable offices (you typically want the office to be somewhere the employee wants to be, rather than a place to stay away from as much as possible). Be a little lavish in allowing the employees to get what they want. In US markets, giving each employee $1K or so to spend on work-related stuff will pay off much more than the 1% or so it adds to employee costs to the business.

Ask your best people what they like, what they don't like, what they want, what their favorite job was like, and what they'd consider a dream job. Use this for clues.

David Thornley
A: 

Could you emphasize a corporate culture that is open and looking for those good developers to help take the company up another step? Professional development opportunities developing in something?

Flex time and vacation may be another idea along with the usual annual bonus if that is factored into the salary.

Another factor is from where are you trying to get candidates? Local user groups may not be a bad idea for trying to get a certain level of developer, IMO. Local colleges and universities may be another idea as some places may have graduates that have a couple years of experience under their belt already, or at least University of Waterloo's Co-op program had the potential for that to be the case.

"Perks for new programmers" is a question that may have some useful answers.

JB King
+3  A: 

I think your absolute best bet are two things, one of which is very easy to control, and the other is much much harder:

  • The greatest possible hardware/software - this is a no brainer, and cheap if you consider it as just value for the company in having productive employees
  • A senior developer that they can learn from - having this person in their field is double plus, but just about any senior developer who really cares about mentoring is worth its weight in gold.
aronchick
+1 for the senior developer, but in most places, the senior developer that is there is a self proclaimed "guru" ... and by guru, I am TheDailyWTF.com guru.
Martin
Nice point... though even a TheDailyWTF.com guru is better than a bunch of people who couldn't care less about code quality. However, the deeper people's experiences get, the more "genuine" a senior dev is going to have to be to attract them.
aronchick
+3  A: 

When I hired someone last year, I gave them

  1. Access to their own MSDN subscription
  2. An unlimited subscription to Safari Books Online
  3. 3-4 hrs of R&D work per week.
  4. Gym membership

Obviously that's on top of a new PC with dual monitors.

I felt the above 4 items would attract people who would be productive in this role, and anybody who wasn't right for the role wouldn't care about these things.

And as you might expect, in retrospect, the 3-4 hrs of R&D was very difficult to get value out of.

John MacIntyre
Were you being sarcastic or serious with the last sentence?
Andrew Grimm
John MacIntyre
+3  A: 

20% time available for open source work. It's a win-win: I get to contribute to projects I'm interested in, and you get good exposure (via my work) as a great employer.

Sarah Mei
A: 

Personal relationships. Really.

ilya.devyatovsky
A: 

Two words: Beautiful Code.

I want to work with code that is easy to understand and work with and doesn't make me cringe and send emails to The daily WTF. It also shows that you understand that good code is worth the effort, put time in to make it happen and you have some great talent that I can learn from.

StevenWilkins
I can sell "Beautiful Code" all I want during an IV, but does that truly attract a good developer? I think the other perks referenced in this question are more pragmatic.
Elliot
@Elliot - I agree that it's not pragmatic but I'd prefer to think of my answer as an "addition" to the other answers. I can't tell you if it would attract good developers, I don't have any evidence of it, but neither do most (any?) of the answers here. I'm only speaking for myself, and I may not be the greatest developer in the world but I consider myself competent. I value great code and it would attract me to the position (that's why I wrote it in the first person).
StevenWilkins
A: 

Car related perks. For example, paying for their car insurance.

Davie
A: 
  • Good mentorship
  • 20% time for open source projects or own ideas(Google like).

Those two would be the best in my eye's

Carl Bergquist