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

  • It seems that nobody atachs to what you asked "junior programmers", they all talk about what they want.
    – Lucas S.
    Commented Sep 19, 2008 at 3:26
  • 2
    "what be creative", I was going to edit that, but I have no idea whet you were going for there. Commented Apr 27, 2009 at 18:58
  • 2
    Shouldn't this be tagged subjective? I'd personally do away with "perks". What purpose would a "perks" tag have? Commented Jul 15, 2009 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. Commented May 17, 2010 at 18:38
  • 3
    This is about PROGRAMMERS, not PROGRAMMING. Thus, off-topic altogether.
    – bmargulies
    Commented May 30, 2010 at 22:14

137 Answers 137

2 3 4 5

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.
  • 5
    I'd say mentoring would be right up there, though that goes with the experienced programmers bit. Commented Sep 19, 2008 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
    Commented Sep 19, 2008 at 19:05
  • 7
    A good PC makes a big difference. Nobody likes to work with only 1GB of RAM... :(
    – apandit
    Commented Sep 19, 2008 at 20:39
  • 1
    "There are startups and Fortune 500 companies out there which allow jeans & t-shirts." Too true. Microsoft's dress code is beyond casual: most developers wear shorts during the summer, and Seattle is very much a sandals culture, too.
    – Brad Wilson
    Commented Sep 21, 2008 at 5:25
  • 2
    I must have been really lucky with my first job right out of university. I got every single one of those perks plus a quad-core PC. I'm a web developer, why do I need a quad-core PC? Who cares...? Good benefits were also important to me. I've been out of college for 8 months.
    – KyleFarris
    Commented Apr 13, 2009 at 15:11

A quality chair aeron chair http://www.hermanmiller.com/hm/content/product_showroom/products/images/P_AER_L146_W.jpg

  • My company had a building constructed recently. We moved in several months ago. One of the features was smaller cubicals. I didn't mind too much because they gave me one of these chairs.
    – CrashCodes
    Commented Sep 19, 2008 at 14:55
  • 26
    Has anyone out there noticed how it's next to impossible to crack off a silent one when sitting on an Aeron? Commented Nov 20, 2008 at 23:29
  • 4
    @NXC: +1 dietary fiber.
    – John Dunagan
    Commented Dec 18, 2008 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
    Commented Apr 2, 2009 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. Commented May 30, 2010 at 13:11
  • 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

  • 12
    What's wrong with Brawndo? It's got what plants crave.
    – toast
    Commented Sep 19, 2008 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
    Commented Sep 20, 2008 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
    Commented Dec 19, 2008 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.
    Commented Dec 30, 2008 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
    Commented Apr 12, 2009 at 3:32

The opportunity to work alongside experienced programmers.

  • Having a good mentor is very important for jr developers. Commented Sep 18, 2008 at 20:26
  • +1 Definitely - I wouldn't say it's just important for jr devs either. I find it invaluable being able to bounce ideas off other experienced programmers - even of the same callibre. Even if it's just so they can tell me I'm being retarded. Commented Apr 2, 2009 at 0:09
  • +1 - This is useful for getting a feel for the environment. How do other developers work here so that I can fit in well?
    – JB King
    Commented Sep 2, 2009 at 16:39

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.

  • To be honest, I consider it more of a right.
    – TraumaPony
    Commented Sep 20, 2008 at 2:46
  • You're both right, and I could not agree more with either of you.
    – John Dunagan
    Commented Dec 18, 2008 at 20:37
  • 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!"

  • Too bad I never convinced anyone to go for point one.... ;-)
    – Bob Cross
    Commented Sep 21, 2008 at 1:50
  • Cell phone is pointless if they don't have t ouse it for the job. But work @ home privileges with internet paid would be nice.
    – pmlarocque
    Commented Oct 9, 2008 at 19:46
  • 59
    I don't want Internet paid for. Then they could claim everything I did anywhere on the Internet was company property. Screw that. Commented Jan 24, 2009 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. Commented Feb 5, 2009 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. Commented Jun 12, 2009 at 15:14

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!)

  • @Matt J - this is spot on. The me generation mentality of "what can you give me because I deserve it" really needs to go away. Those of the me generation that you describe in your last paragraph will the successful ones in the long term. Commented Sep 21, 2008 at 15:13
  • Paternity leave? Not all programmers are male, young or otherwise.
    – kajaco
    Commented Nov 20, 2008 at 23:18
  • 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
    Commented Nov 21, 2008 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
    Commented Jan 28, 2009 at 17:14
  • Actually, Joel expanded the Smart, and Gets Things Done essay into an entire book: amazon.com/Smart-Gets-Things-Done-Technical/dp/1590598385
    – Cyclops
    Commented May 30, 2010 at 14:09

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

  • 24
    You're using a ball mouse? What is this? 1998?
    – shoosh
    Commented Sep 19, 2008 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
    Commented Sep 19, 2008 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
    Commented Dec 3, 2008 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. Commented Apr 2, 2009 at 0:12
  • 1
    Well integrated virtual desktops on a 24" (or 30") monitor (Linux, Mac OS X) beat dual monitors of a slightly smaller size and no virtual desktop (Windows). I am only ever looking at one monitor at a time, it's just that switching applications in Windows sucks, and XP at work isn't getting upgraded soon.
    – JeeBee
    Commented Jul 15, 2009 at 11:42

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

  • Ditto on the Books
    – BCS
    Commented Sep 18, 2008 at 20:39
  • 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
    Commented Sep 18, 2008 at 20:43
  • +1 for the books, I love my books. I probably spend more on books than on my utility bills... Commented Apr 2, 2009 at 0:14
  • @balabaster Books are training materials. So it's a win-win if companies give them away to employees :-)
    – MarlonRibunal
    Commented Apr 2, 2009 at 22:26
  • Books? What century are you living in?
    – tsilb
    Commented Apr 27, 2009 at 22:11

A boss who would ask this question.


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.

  • Are you sure beer is safe for any employee? I mean I won't drink my mind and do nasty stuff but how about lil' Joe that you not even know? Commented Feb 2, 2009 at 0:57
  • 1
    We only have 15 employees, and we have tested the beer on nearly all of them.
    – Peter Hilton
    Commented Feb 2, 2009 at 23:29
  • Not being able to justify an expensive coffee machine is a case of flawed priorities.
    – Arafangion
    Commented Mar 18, 2009 at 4: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! Commented Apr 2, 2009 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
    Commented Apr 27, 2009 at 18:20

Casual dress (for voting)


give them responsibilities and some degree of freedom.

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

  • I second this, some feeling of excitement and getting personal benefit from the work goes a long way towards keeping new people within the company.
    – jjrv
    Commented Sep 18, 2008 at 20:48

Work from home. (for voting)


Private offices (for voting)

  • for voting make it community please Commented Sep 18, 2008 at 21:39
  • downvote: good development needs teamwork. Private offices counter teamwork. Hell, even tall cube partitions counter teamwork.
    – slim
    Commented Dec 19, 2008 at 11:54
  • 3
    You can communicate even if you're in different rooms.
    – Sasha
    Commented Jan 29, 2009 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. Commented Apr 2, 2009 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
    Commented Apr 27, 2009 at 22:12

be flexible about the starting hour.

  • 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? Commented Apr 2, 2009 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
    Commented Jul 15, 2009 at 11:50
  • Another vote from me, as with JeeBee this is very useful for working in London but it does rely on a certain amount of trust. Commented Aug 11, 2009 at 15:58
  • I cannot upvote this enough.. Commented Oct 13, 2010 at 19:38

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.
  • I think 24" monitors are waste unless you have to edit large images; for development work its more cost-effective to get lots of cheap 19" monitors. I have 4x19"s in portrait mode, gives me a 4096x1280 desktop.
    – Matt Howells
    Commented Sep 18, 2008 at 21:17
  • I'm not sure if you are right Matt because you will end up buying more or more expensive video cards as a result.
    – minty
    Commented Sep 20, 2008 at 17:42
  • Why have multiple monitors when you can just have one huge one with multiple windows on it. Editing large images? I can fit 3 browser windows on my monitor... Or 2 browsers and a text editor. Or... more commonly. A terminal, a browser, a text editor and an email client.
    – rfunduk
    Commented Feb 3, 2009 at 15:12
  • 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... Commented Apr 2, 2009 at 0:21
  • 2
    Totally agree. Editing code on a vertically tilted monitor is addictive, even though weird at first.
    – Andrei Taranchenko
    Commented Apr 12, 2009 at 3:41

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.)

  • Its not negative.
    – Optimal Solutions
    Commented Sep 22, 2008 at 2:11
  • Yeah, this answer is very good. :| Commented Feb 2, 2009 at 1:04
  • You didn't go as far as saying a certain level of smart dress is better than totally casual and scruffy, as it's a mental reminder that you're not at home dozing on the sofa. But yes, +1 for injecting some reality.
    – JeeBee
    Commented Jul 15, 2009 at 11:55
  • Agree with you on organised team-outings, I find those draining. But having good amenities at work (even if it's just a decent kitchen/lounge are with no games) does provide a better environment for you to at least get to know your co-workers a bit better.
    – Esti
    Commented Sep 21, 2009 at 7:46
  • Schedule outings that are manditory. Those are fun: i.e. whitewater rafting
    – monksy
    Commented Nov 15, 2009 at 18:10

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?"


  • Does 'non brain-dead leadership' actually exist?? :-) Commented Sep 19, 2008 at 13:21
  • Yeah. Let's keep this realistic! :) Commented Sep 19, 2008 at 16:44
  • 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
    Commented Sep 30, 2008 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 Commented Apr 2, 2009 at 0:26

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.

  • We doe Thursday at my work.
    – BCS
    Commented Sep 18, 2008 at 22:12
  • Then you're missing the very catchy name "free food friday" :)
    – Gilles
    Commented Sep 18, 2008 at 22:14
  • 7
    Twelve o'clock Tuesday Tasty Tacos 'n Team Talk? Commented Sep 19, 2008 at 16:43
  • @Gilles "Free food fursday" works
    – Matthew Lock
    Commented Aug 26, 2009 at 5:13

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

  • In Norway most programmers have 5, and some even 6 weeks. 4 is the minimum required by law.
    – Espo
    Commented Sep 21, 2008 at 13:27
  • In Australia, 4 weeks is the minumum. After 10 years (!) you get 13 weeks 'long service' leave - paid.
    – CAD bloke
    Commented Sep 22, 2008 at 7:28
  • 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
    Commented Jul 15, 2009 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
    Commented Jan 4, 2010 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. Commented Sep 14, 2010 at 18:45

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.


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.

  • 10
    Scripture in StackOverflow? I'm impressed! +1
    – MrValdez
    Commented Jan 25, 2009 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) Commented Feb 2, 2009 at 1:05
  • 3
    Golden Rule: Do unto others as you would have others do unto you.
    – Sixty4Bit
    Commented Jul 9, 2009 at 23:40

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.

  • Its very motivating to have examples of the kind of developer you want to become, and some guidance/structure on how to get there. Commented Jun 20, 2009 at 5:42
  • Wouldn't attract a starting junior; they tend to consider having a job at all to be their career path. OTOH, for anyone after their first job, career path is definitely the big attractor (or they'll be someone that you can't retain anyway.) Commented May 30, 2010 at 13:17

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.

  • You can use Virtual Box or similar for running a test server system. This gives you the option to have lots of differently-configured (in terms of software) test systems, but only need one physical system.
    – rjmunro
    Commented Dec 6, 2008 at 17:53
  • The XP box is because I like the XP GUI (and lots of XP GUI apps) and the linux box because I like the *nux command line and environment. I'd go for a VM slice as long as it's big enough to do real processing on (like run my own MySQL server on).
    – BCS
    Commented Dec 6, 2008 at 19:25
  • clarification; nether the Linux nor the XP box would be a test system. They would both be dev systems.
    – BCS
    Commented Dec 7, 2008 at 21:07

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

  • 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. Commented Apr 2, 2009 at 0:26
  • 1
    No, I'm thinking of "hobby" projects.
    – BCS
    Commented Apr 2, 2009 at 0:43
  • 3
    Google does this IIRC Commented Nov 8, 2009 at 0:32

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.

  • you didn't notice most of this advice so far stems directly from Joel's blog?
    – Mark Lubin
    Commented Oct 23, 2008 at 0:42
  • It needed saying, though. Asked and answered, if you will.
    – John Dunagan
    Commented Dec 18, 2008 at 20:41

Treat them as peers

  • I cant stand the "well hes just a level one" comments. If my ideas are wrong or dont work tell me why and educate me, dont belittle me
    – Adam Lerman
    Commented Sep 18, 2008 at 22:51

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.

  • 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!)
  • 1
    What? There are places that don't allow listening to music? Woah.
    – Ted Percival
    Commented Sep 23, 2008 at 0:53
  • Oh yes, there sure are. Spent 3 days in one, never again! Commented Nov 28, 2008 at 15:43
  • Ouch, 3 days without my music... if someone had said "no music/headphones to me", I'd have been out the door. You hire me for my talent, education, insight etc. As long as I'm meeting/beating my goals/objectives/deadlines/budgets, how I get there is not up for debate. Commented Apr 2, 2009 at 0:32
  • That's indeed shocking. What company was that? There should be a blacklist.
    – user3287
    Commented Apr 2, 2009 at 1:52

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.

  • my company has recently purchased all the devs pluralsight subscriptions. the content is excellent
    – benPearce
    Commented May 28, 2011 at 6:48
2 3 4 5