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

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 McMahonApr 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. SobralJul 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 MastreanMay 17 '10 at 18:38

3

This is about PROGRAMMERS, not PROGRAMMING. Thus, off-topic altogether.
–
bmarguliesMay 30 '10 at 22:14

137 Answers
137

Some of these have been mentioned before, while others seem to have been skipped over...

A bluetooth headset - preferably one that multi-pairs with my desk phone and my cell phone and lets me listen to music in stereo. Less is more, right? I don't want to have to keep switching headsets to answer different phones or listen to my music, and I definitely don't want to have to hold the receiver while I try and continue my daily work - and I don't want half a dozen gadgets cluttering up my desk, the fewer the better.

O'Reilly Subscription - I think this costs me $40 a month which I'd rather not pay for myself, but I refuse to live without it, so I do.

MSDN License - The one with all the nifty stuff like Expression Studio, Visual Studio Team Edition etc. This currently costs me a small fortune, it would be nice if it came as a perk of my job!

Software - Don't give me hassle about purchasing software that will make me more productive when I ask - XmlSpy, Icon Workshop, Resharper/CodeRush just buy it and bring it to me when it arrives, the small amount of $$$ it costs, by the time you've wasted a half hour of my time having me write up justification and you've wasted another 10 minutes reading it, we've just spent more than the cost of the software.

Flex Time/Telecommuting - If I arrive late, chances are I didn't leave until late last night, don't quiz me like a five year old where I was at 8:30 when everyone else arrived! Where were you and everyone else at 2am when I left?

Give me leeway to be myself. Putting my feet on my own desk is perfectly acceptable behaviour, as is listening to music, eating, having pop on my desk etc. As long as I'm not disturbing anyone else's workflow and I'm meeting all my deadlines/objectives, that's all that matters.

Home internet connection and VPN privileges - for those work from home days.

Time to think - without questioning what I'm doing "instead of working" - we're programmers, thinking is working, what's more, that's what you pay us for.

Bookshelf - for all my books

Books - to put on said bookshelf.

No micromanaging - I'm an adult, I don't need micromanaging! Give me a task and some kind of idea of the direction you want me to take and leave me to do what you hired me for. If you wanted to do the job yourself, be my guest I can always find something else to do. If I need help, I'll ask.

A forum for answering questions/learning

Training/Seminars/Further Education (i.e. Masters Degrees, PHd's etc)

Life Insurance Policy

Stock Options

RRSP/401K

Occasional Team Building Days - Sailing, War Games, Paintball, whatever you like

i used to work for an employer who would on occasion stock our department mini fridge with caffine (in our senerio it was Mountain Dew).

the most important thing to me was chemistry. having coworkers that were intellegent enough to bounce ideas off of but social enough where we could invite each other to bar bq's.

finally, i think being comfortable. i think the casual dress is a small preface to this, however, good chairs, good screens, performing machines, lowest stress conditions possible. being a developer deadlines are already enough to stress out about.

I'm not the great hacker that most of the people on this site probably are (at least the ones with over 10k rep - I have yet to successfully answer a question after being here for a year). So for me, when I was starting out, I knew that college was, effectively, nothing. And I needed to do all my learning in the real world. Sure I got my CS degree, but I was way behind all the other CS majors because I didn't play with computers when I was young. I had hardly ANY experience with FILE SYSTEMS, for God's sake, before I got to college.

So, how do you create room for growth? To me, I think you have to create a professional, fun, AND academic environment. Professional meaning the usual things you read about in a business-type book (respect, clear expectations, blah blah).

Fun meaning, aside from games, putting together a group of people who can sit in a room together and just shoot the breeze and be mostly laughing.

Academic meaning an environment where everyone is a student and everyone is a teacher. This is probably the most difficult to foster in my opinion for any number of reasons.

I won't claim this is the most important perk, but I know of a company that has season tickets to all the local sports teams, and employees can use the tickets for free on a rotating basis. It's pretty popular.

Casual dress is huge. I work for a large corporation (150K+ employees). When I started we were allowed casual dress and now are not. That is one main reason I am out looking again a year out of college

Definately flexible working hours and lots of training/conferences. Free drinks and video games just seems too trivial.

This may seem a bit contentious but in my first programming job I really struggled for the first month because I had no money. Commuting, even just paying for lunch was a problem and it just made life harder. I couldn't enjoy the job. So maybe a small short-term loan to paid back over the next few months out of the pay-packet might help. Or maybe a one month agreement to pay expenses on production of tickets/receipts.

But mostly you want to find out what their co-ops and internships didn't get them that they wanted, and give them that. I didn't like big companies because I wanted a real voice in the way things were done. I've been with my small company since undergrad.

Give junior developers what they need to be productive on their tasks, within the bounds of company policy of course, then if possible, grant them what they want, in order to be even more productive. Though this is relative to individual tastes, just reading from the comments above is a good starting point.

WHen I was a young programmer right out of school (its been a while now) the thing that I lucked into were
1) Open Internet connection, no blocked sites except the nasty stuff
2) The ability to advance
3) Challenging work
4) Good hardware, it sucks when the build takes 2 hrs
5) A beer fridge (hard to maintain as the organization grows)
6) great Senior Developers
7) Flexible working hours

As these things became less of a priority at the company I was at, I left too!

My own cool job that is at an Insurance investment company came with the following perks: fully stocked kitchen with soda, coffee, snacks. beer for afterhours, srsly!
'Free lunch fridays' where the entire company has lunch brought in (we have about 30 people).
triple 19' flatscreen monitors for development.
Large screen HD TVs
a good pay and casual work environemnt works well too :)

I was hired at the first place that interviewed me which I was thrilled about. It was a great first job because we got to use bleeding edge technology.

Problem was, my manager was rather disrespectful. I don't know why but it made me leave the company after a 1 1/2 year. I know my manager's manager wasn't too happy with my [ex-]manager. I had hoped to work there longer...

I have graduated 3 years age and I remember how I felt when I was looking for a job.

First, thing that I remember after reading many job postings, is the realization of how little I knew about specific technologies and understanding that I would have to do a lot of learning to become successful in the field. So I applied for positions where they emphasized regular training.

Other thing, that I remember is being worried about being put in a position where I don't get to do much programming. I wanted a position that would have the least amount of repetitive task, because if I am not "creating" I am bored.

Things like private offices, corporate culture and even the pay did not concern me as much. It was my first real job, after having to work everywhere just to keep my tank and stomach full during college, so I basically had little understanding how it works. In fact dress code was the least of my concern; I actually wore tie/slacks to interview, orientation and first 3-4 days of work. In fact I thought it would be nice to work in good clothes. (I guess I am more fashion aware, than most fellow programmers.) Now I wear khakis most of the time and like it.

As I said, this is how I felt when looking for my first job, so this is purely subjective.

Offices and fancy chairs are overrated. Responsibility, visibility and the opportunity to work on something cool and learn are critical to getting and retaining young developers to a non-established company. Fresh out of school, working on something impressive or world-changing was way more important than almost anything else.

Making work feel like college will help keep them in the office more hours, but it won't keep a young hot-shot developer working on dialog boxes for an internal insurance company application.