Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I intend on hiring 2-3 junior programmers right out of college. Aside from cash, what is the most important perk for a young programmer? Is it games at work? I want to be creative... I want some good ideas

share

migrated from stackoverflow.com Sep 9 '11 at 13:40

This question came from our site for professional and enthusiast programmers.

locked by Yannis Rizos Mar 13 '12 at 20:30

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

2  
"what be creative", I was going to edit that, but I have no idea whet you were going for there. –  James McMahon Apr 27 '09 at 18:58
2  
Shouldn't this be tagged subjective? I'd personally do away with "perks". What purpose would a "perks" tag have? –  Daniel C. Sobral Jul 15 '09 at 11:32
2  
Why would this be tagged subjective? There are techniques that work and some that don't backed by research and measured against strict criteria. That's objective. –  Anthony Mastrean May 17 '10 at 18:38
3  
This is about PROGRAMMERS, not PROGRAMMING. Thus, off-topic altogether. –  bmargulies May 30 '10 at 22:14
show 7 more comments

137 Answers 137

In my experience, good programmers want to program with as few distractions as possible. Some of these are more relevant to big companies, and I'm not sure where you work, but here are some examples:

  • Casual dress code: Young programmers in particular will have a tough time avoiding resentment of a strict dress code. "I'm just going to sit at my desk all day--why do I need to wear slacks/polos/other uncomfortable business clothes?" In my opinion, this is half rebellion and half honest productivity-seeking: It really is much easier to program in jeans and a t-shirt than slacks and a formal button-down. The question you probably need to ask yourself is if the potential productivity gain and morale boost is worth the potential loss of "professional" atmosphere. It all depends on your situation... there are startups and Fortune 500 companies out there which allow jeans & t-shirts.
  • Few meetings: Almost nothing is more distracting than a constant stream of meetings. Try to avoid team-wide "status meetings" that could be carried out via individual e-mails or conversations. Programmers like it when their employer lets them program.
  • Experienced coworkers: Good programmers want to improve. If any of your other employees have contributed to big open source projects, or have worked individually on some particularly successful internal projects, let your prospectives know!
  • Private offices: This is rarely practical anywhere but venture-capitalized startups, but if you can offer candidates their own offices, they'll leave the interview with hearts in their eyes. Programming is so much easier when you aren't distracted by foot traffic and people singing happy-birthday one cube over.
  • Cool stuff: If you can afford it, subsidize games for lunch breaks and post-work hang out sessions.
  • Best practices: This will ensnare good programmers and intimidate less experienced ones: Show that your candidates will be working with reliable, sane version control, and that there are coding standards about unit tests or inheritance or anything. Organization is important.
  • Don't nickel-and-dime: If you can be flexible with hours, do it! No one likes having to clock out every time they go to the restroom; it feels like you're not being valued as an employee.
  • Dual monitors: Instant win for almost any programmer who's worked with dual monitors before.
share
5  
I'd say mentoring would be right up there, though that goes with the experienced programmers bit. –  Daemin Sep 19 '08 at 14:15
5  
A good PC, ideally with fast hard disks. No point having them watching a spinning cursor and letting their attention wander. For a small cost you'll be keeping them working without them even knowing you did it! Besides, most of us like shiny new toys! –  Ray Hayes Sep 19 '08 at 19:05
7  
A good PC makes a big difference. Nobody likes to work with only 1GB of RAM... :( –  apandit Sep 19 '08 at 20:39
44  
+1 for dual monitors –  alex Dec 22 '08 at 4:58
46  
+1 for casual dress code –  Tanmoy Jan 29 '09 at 4:18
show 20 more comments

A quality chair aeron chair

share
26  
Has anyone out there noticed how it's next to impossible to crack off a silent one when sitting on an Aeron? –  ConcernedOfTunbridgeWells Nov 20 '08 at 23:29
4  
@NXC: +1 dietary fiber. –  John Dunagan Dec 18 '08 at 20:38
2  
I have one of these chairs at home, and it was worth every penny. (Which is a good thing, because it cost about 100,000 pennies.) –  Kyralessa Apr 2 '09 at 2:02
1  
A good chair is vital for health. Maybe it doesn't need to be an Aeron, but a bad chair will put you in pain and destroy your life. It's also quite possible that an employer not providing a decent chair would face future lawsuits for harming their workers. –  Donal Fellows May 30 '10 at 13:11
show 11 more comments
  • Admin rights to their PCs
  • An internet connection that's not gimped by bizzaro proxy rules
  • Dual Monitors
  • Work from home privileges
  • A soda fountain (not a drinking fountain that dispenses soda instead of water ala Brawndo, but like you'd use at the Taco Bell to refill your drink)

    soda fountain

share
12  
What's wrong with Brawndo? It's got what plants crave. –  toast Sep 19 '08 at 2:05
17  
Great point on Admin rights - would have never thought of that! Nothing more crippling than not being able to install productivity tools... –  agartzke Sep 20 '08 at 16:50
53  
Free Coke might seem like a good perk - but it's not doing your staff any favours in the health department. Healthy brains are more productive brains! –  slim Dec 19 '08 at 11:52
12  
admin rights - this seems so basic that I'd question the sense of companies that deny it - I'd assume that either the staff was mostly incompetent or that the management was paranoid - But this is like demanding that chairs be clean - if you've got to ask for this you've got bigger problems. –  Steve B. Dec 30 '08 at 23:01
9  
I'd agree with free healthy drinks, like orange juice, and a selection of herbal teas, but not easily accessible junk. –  Andrei Taranchenko Apr 12 '09 at 3:32
show 12 more comments

The opportunity to work alongside experienced programmers.

share
show 3 more comments

I always love going to conferences and training and consider that a perk. Not all companies pay to have their devs continue to learn. There's always more to learn. You benefit because they are learning more. They benefit from that too, but also have fun and get away from things for a couple of days and get to mingle with other devs.

share
show 2 more comments
  • Give them each a budget and let them configure their own computer setup. Make them submit a plan for what they intend to purchase. Talk over the plan with them. It will be a great way to kick things off.

  • Give them a budget for a cell phone and unlimited plan that the company will pay for.

  • Pay for their home Internet service.

Little things like these they will show their friends to the response of, "Cool - I wish my company did that!"

share
59  
I don't want Internet paid for. Then they could claim everything I did anywhere on the Internet was company property. Screw that. –  jmucchiello Jan 24 '09 at 10:48
11  
I also wouldn't want a company to pay for my internet access. They might feel like they have a right to decide what company/plan I subscribe to, and what I can do with it. –  Joshua Carmody Feb 5 '09 at 19:15
9  
Just pay me more and let me choose. Then I can decide the provider and services I want as well as not risk the company trying to claim rights to code I wrote on my own hardware, at home, on my own time. –  Matthew Whited Jun 12 '09 at 15:14
show 4 more comments

The type of people you'd like to hire tends to be a first-order concern when deciding what sort of perks to offer. For the programmer who's thinking about or in the process of raising a family, paternity leave, company matching of adoption funds up to $X/year, flexible vacation and working hours, and a sense of job security may be much more attractive than a soda machine and free Segways for all. You mention that you're looking for "junior" or "young" programmers, but many young folks do still fall into this category.

I sense, however, that by "young", you might mean "too young to be into that whole 'work-life balance' thing". Let's call this 'The Google Strategy'. The idea here is to make it so it just doesn't make sense to their analytical minds to ever leave work. Have on-site services like free food, drink, and laundry, provide gathering places for informal conversations. Make them feel like they're the rock stars of the company, and they'll repay you with long hours and hard work. The good news for you is that these types of perks don't cost you much at all relative to the increased hours they'll be willing to put in. The bad news is that this model tends not to be sustainable, and this dot-com era "irrational exuberance" no longer satisfies your programmers when they start to want to take vacations, get married and go on a long honeymoon, have kids, and so forth. At that point, they want flexibility, more vacation time, a 401k, etc. Besides the first one, these all cost significant coin.

Here's the most important point though: if you'd like to hire the absolute brightest people you can find, don't try to outsmart them. Odds are, the really sharp ones will be a little less interested in the size of the Free Red Bull Fridge and the number of air hockey tables at their disposal, than whether you'll value them as an asset to the company and as an individual (both in terms of compensation and employer/employee relations in general), whether you have a sustainable business model/plan, whether your work really excites them, and whether your work really excites you. I'd suggest reading a couple essays on Joel On Software, he treats the subject of hiring good programmers in a fair amount of detail ("Smart, and Gets Things Done", I think, is the name of one of the essays).

While your question certainly isn't without merit, and providing a work environment with some of the same perks as your competitors will make your sales pitch somewhat easier, the only people that will be truly swayed by these kinds of things are not the people you want the success of your small company to depend on. Good developers want to feel like they're making a contribution to something that matters, like their skills are valued and put to good use, like they are responsible to their peers and to themselves. Focus on having a truly great, dynamic company that does great work, and that treats its technical people with respect (things like private offices help here, too), and you'll really attract the type of people you're looking for.

(Thanks to Thomas Kammeyer for a tip on the last paragraph!)

share
1  
You're absolutely right. However, for what I consider to be at least a slight majority at this time (unfortunately), it's a nontraditional benefit worth looking into. I advocate treating people of any gender, race, age, etc. equitably, and this is one way to do that. –  Matt J Nov 21 '08 at 8:05
6  
This is the best answer I've seen here... one thing possibly to add: making them feel as if they are making a definite, positive contribution to the work that's got everyone so excited. People don't want to feel important so much as needed. Lean into intrinsic motivators. –  Thomas Kammeyer Jan 28 '09 at 17:14
show 3 more comments

Two flat-screen monitors, an optical mouse -- two things I don't currently have -- and each their own whiteboard with a few markers.

share
24  
You're using a ball mouse? What is this? 1998? –  shoosh Sep 19 '08 at 0:53
16  
Jeff Atwood suggests that a keyboard and mouse are basic tools you should own yourself: codinghorror.com/blog/archives/000666.html (see point three) –  Aydsman Sep 19 '08 at 1:18
1  
I brought in my own mouse because the supplied one only had two buttons and a wheel. I cant believe youre using a ball! –  Karl Dec 3 '08 at 19:53
1  
+1 I wish I had a whiteboard, I've got a cordless laser mouse which is great - even if it is my own. –  BenAlabaster Apr 2 '09 at 0:12
5  
+1 for whiteboards –  My Alter Ego Jul 15 '09 at 11:35
show 11 more comments

Being able to work remotely + flexible hours, Tech books give-a-way, and lots of love!

share
1  
Ditto on working remotely, but you need to make sure they are "in it".. Prob after a 6-12 month probation period perhaps? I REALLY wish I could work from home, I actually get a lot more done. –  Rob Cooper Sep 18 '08 at 20:43
show 6 more comments

A boss who would ask this question.

share
add comment

Philip Greenspun wrote about this once. He suggested making the office a better place to be than home, which is easier for young programmers. For example, domestic hardware that someone living alone cannot justify: expensive coffee machine, pool table, huge TV with DVDs to watch.

Make the office more sociable: put beer in the fridge and have a drink together at the end of the day. Provide better food (easy for people who can't cook): get deli deliveries or a caterer.

share
1  
We only have 15 employees, and we have tested the beer on nearly all of them. –  Peter Hilton Feb 2 '09 at 23:29
9  
Isn't beer an insurance liability? I'm from the UK originally, so I'll drink at any opportunity. I can't believe it's frowned upon over here in North America to have a beer over lunch. +1 for the beer! –  BenAlabaster Apr 2 '09 at 0:14
4  
My team meets for a beer (regular or root) in the office once or twice a week for the past eight years, usually for a half hour to an hour. It's always the leaf nodes in the organization - mostly dev and test - and while it's totally informal and relaxed we get a lot of problems hashed out. It helps the new people get comfortable with us. Somebody just has to take the corporate amex card to costco once a month to restock the fridge, and it is well worth it. –  fatcat1111 Apr 27 '09 at 18:20
show 6 more comments

Casual dress (for voting)

share
add comment

give them responsibilities and some degree of freedom.

make them feel like they are developing something for themselves, with passion

share
show 1 more comment

Work from home. (for voting)

share
add comment

Private offices (for voting)

share
3  
You can communicate even if you're in different rooms. –  Sasha Jan 29 '09 at 5:19
2  
I find that an office full of developers is great, but being one of just a couple of developers in an office full of other random people is a constantly distracting pain in the a$$. So +1 for private offices, and +1 for open plan offices dedicated to developers. -1 for general open plan offices. –  BenAlabaster Apr 2 '09 at 0:23
2  
@slim: Disagree. You can collaborate via umpteen desktop sharing and conferencing tools. Add video if you really want to. Devs only benefit from proximity when working on the same work unit; and are often tasked to things too small for two people, so they become a distraction. –  tsilb Apr 27 '09 at 22:12
show 4 more comments

be flexible about the starting hour.

share
9  
I can't count the amount of clients that have complained at me that I don't get in early enough when I stroll in at 10am instead of 7:30am like other departments. Why don't they understand that programmers are nocturnal? –  BenAlabaster Apr 2 '09 at 0:29
5  
Yeah, this is priceless for me. I can avoid the rush hour commute, which on London's tube system is quite painful, especially in summer. –  JeeBee Jul 15 '09 at 11:50
show 2 more comments

I'm currently slightly experienced but I still call myself junior. Here is what I appreciate of my employer:

  • Buys me books. I have a diverse taste from C# to perl to C to Asm to database design to tsql etc. Book prices vary from $20 to $50. This usually requires a PO and approval and such.
  • Allows me to critique current projects. I've re-written a few project to be MUCH cleaner through the experience I gain. Each time I document why I made those changes. Every now and then I re-write my re-writes. It's amazing to see how much you change. I do this one on my own. I initiated it.
  • A fast computer and a 24" monitor. This actually helps a lot, but for any developer. Less frustration and more code on the screen. Monitor also rotates for those kinds of days.
share
1  
I have to admit, even though I have 3 x 19" monitors on my desk which I love, my last client gave me 2 x 30" monitors. I do miss being able to have my solution explorer, properties window and toolbox windows open and still be able to read my code without having to scroll right... –  BenAlabaster Apr 2 '09 at 0:21
2  
Totally agree. Editing code on a vertically tilted monitor is addictive, even though weird at first. –  Andrei Taranchenko Apr 12 '09 at 3:41
show 3 more comments

This is a sort of negative answer.

Don't give the office more entertainment than home. No TV, video games or beer. The office is for work and that is why I go to the office. I go home for video games and TV.

Don't bother with team outings. It's not relaxing. It's just more work. If I wanted to go somewhere to have fun, I'd go there with my own family or friends. Or I would stay home and sleep late. No doubt some people believe everyone else in the office wants to be friends and spend all their time hanging out. It isn't true. Sorry.

The same is true about company meals. I like to go out and away from the office for lunch and dinner. If there is a lunch meeting at the office, I will be making plans to leave work an hour early (with exceptions for crunch time, which had better not last more than a month or two out of each year.)

share
show 6 more comments

I'm surprised the cynics amongst us haven't said 'non brain-dead leadership'!

Attracting young people with toys is a bit patronising, better to say:

"Yeah so we could offer you lots of new shiny toys, but how about we guarantee you no PHBs instead?"

;-)

share
4  
If you actually tell them at the interview that you don't have brain dead leadership, they'd probably not believe you - if they do they're insufficiently cyncical to survive and you don't want them ;) Better to demonstrate your quality leadership by not having stupid policies like dress codes. –  Mark Baker Sep 30 '08 at 15:01
4  
Attracting programmers with toys might be patronizing, but when you've got all the toys sitting on your desk, who cares? :P –  BenAlabaster Apr 2 '09 at 0:26
show 2 more comments

Invite your whole team to the restaurant of their choice every Friday for lunch. A former boss of mine used to do just that and it really helped team bonding.

If budget doesn't allow it, you can do it once every two weeks or once a month. But think of the value of having closer team members.

share
7  
Twelve o'clock Tuesday Tasty Tacos 'n Team Talk? –  Zack Peterson Sep 19 '08 at 16:43
show 3 more comments

Programmers need vacation. Lots of it. Four weeks a year to start. Minimum.

share
2  
4 weeks - 20 days, that's the bare minimum required by law in the UK (bank holidays are extra, so 28 days of holiday for a 5 day week). Most professionals get more holidays - 25 days + bank holidays is typical, 30 days quite common once you've got experience. The productivity benefits are high, with well rested, non-resentful employees. –  JeeBee Jul 15 '09 at 11:52
5  
This is the #1 thing I hate about being an American. :( Companies here think they're insanely generous if they give you three weeks. –  Kyralessa Jan 4 '10 at 19:21
1  
@Kyraleesa I hear that. I used to work at a place that gave you 2 and acted like you were lazy if you used it all. They wouldn't roll it over to the following year, and they would even have 'blackout' dates in november and december because they knew IN ADVANCE that they would mismanage things to the point of being way behind. I'm constantly tempted to move to Europe. –  LoveMeSomeCode Sep 14 '10 at 18:45
show 4 more comments

Matthew 7:12

Therefore all things whatsoever ye would that men should do to you, do ye even so to them: for this is the law and the prophets.

Mohammed

The most righteous of men is the one who is glad that men should have what is pleasing to himself, and who dislikes for them what is for him disagreeable

Confucius - Analects XV.24

Never impose on others what you would not choose for yourself.

share
10  
Scripture in StackOverflow? I'm impressed! +1 –  MrValdez Jan 25 '09 at 1:18
2  
Romanian proverb : Ce tie nu-ti place, altuia nu-i face (What you don't like don't do to another) –  Andrei Rinea Feb 2 '09 at 1:05
3  
Golden Rule: Do unto others as you would have others do unto you. –  Sixty4Bit Jul 9 '09 at 23:40
add comment

A career path. Not that they necessarily have to follow it, but give them the thought that they don't have to be a junior forever, and show them that there are opportunities in the company. Give them an idea of what it takes to advance.

share
show 2 more comments

Good hardware: I'd be very interested if I was told that I would get a desktop system (WinXP is still my system of choice) and a Linux server box. Something I have root on and can run services on (local at a minimum, world visible would be nice.) A Virtual private server in the company data center instead of dedicated hardware would also work.

Another thing that would be nice would be access to good references: "We will buy you any books that are apropos to your job!" same with software to some point, "if it's under $60, we will just get it."

Edit: large screenS on pivot stands, good chairs, white boards, etc.

share
show 3 more comments

Lets them, on company time, do some private projects (things that could be useful for the company, but things they get to pick)

share
1  
I write software all the time that assists me to get my job done rather than directly writing the actual apps... is this what you're talking about? For instance, I'm frequently asked to do things that would take me hours if I didn't spend time automating it. –  BenAlabaster Apr 2 '09 at 0:26
1  
No, I'm thinking of "hobby" projects. –  BCS Apr 2 '09 at 0:43
3  
Google does this IIRC –  Alex Bagnolini Nov 8 '09 at 0:32
add comment

Actually, Joel Spolsky has a really good article on this subject that I refer to from time to time:

Joel on Attracting Developers

EDIT: I read Joel's book on hiring devs, Smart and Gets Things Done. In the book, he says that this article is an embarassing bubble-era relic and he has learned a lot since then. I don't think the blog post is all bad, but it's true that the book is a lot more sophisticated.

share
show 2 more comments

Treat them as peers

share
show 1 more comment

The access to training and mentors. The things that Junior developers want is pretty much what every programmer that I know wants. They want to work in a relaxed and flexible environment with people who are at least as smart as them if not smarter. They want to feel like they are a part of something. They want to constantly be learning.

Make sure that you have a training/book budget. Make sure that they are always learning and always have something interesting to work on. Make sure that you do team building or some kind of thing like that on a fairly regular bases. Lunch and learns are an increasingly popular tool these days.

One thing that Junior Developers might like more than more Senior developers is the use of cutting edge or even bleeding edge technology. Be careful about this one, cause it can byte you in the butt, but it always helps.

share
add comment
  • Casual dress code and office environment
  • Flexible hours
  • Allow listening to music while working (earphones allowed)
  • Multi-monitor/powerful workstations
  • Skilled/experienced co-workers/bosses
  • Code reviews done by those co-workers/bosses
  • Being able to work on creative projects that they come up with, and having them reviewed by those skilled co-workers/bosses (Most valuable perk!)
share
1  
What? There are places that don't allow listening to music? Woah. –  Ted Percival Sep 23 '08 at 0:53
show 3 more comments

My company has purchased an O'Reilly Safari Online account for each of our developers. I have access to thousands of books online at any time.

We also have training videos available at online from CBT Nuggets but I find their content limited.

Also, some productivity tools, for Visual Studio, such as CodeRush/Refactor Pro or Resharper

Quality Coffee in-house.

share
show 1 more comment