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.– James McMahonCommented Apr 27, 2009 at 18:58
-
2Shouldn't this be tagged subjective? I'd personally do away with "perks". What purpose would a "perks" tag have?– Daniel C. SobralCommented Jul 15, 2009 at 11:32
-
2Why 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 MastreanCommented May 17, 2010 at 18:38
-
3This is about PROGRAMMERS, not PROGRAMMING. Thus, off-topic altogether.– bmarguliesCommented May 30, 2010 at 22:14
137 Answers
Having worked at some &#!t jobs I have found that one of the nicest things is a training program. Just expecting somebody to pick up the job and be swimming in the first week can be exceptionally frustrating. If you set aside X amount of time and have them up to speed as to how things are done in the work place they feel a lot less out of place when they have to tackle the real issues.
Trust, it might not sound like much but when your just starting out in the field the notion that you take them and their skills seriously, and are going to provide useful feedback can be enormously satisfying.
Training & Certification is a huge plus, it can often make Jr. Programmers feel likes your investing in them. It also helps weed out folks that view programming more as a hobby or something they feel into as opposed to a career.
I really liked the idea of building my own system on a budget above. Its an interesting idea and I think it would attract people, it certainly would me.
Lay out the metrics by which their work will be evaluated.
Then, let them know that they have time and geographical flexibility where they may opt to work from home several days a week (with prior approval of the lead programmer).
In any environment in which programmers don't maintain their own equipment and IT does, making sure that IT helps rather than hinders the programmer. Either a group of IT admins that support programmers as their main responsibility, or a dedicated admin for programmers.
Few things can be more frustrating than having to wait hours or days for simple tech tasks to be completed.
(Of course, it should go without saying that programmers must have root/local admin privileges on their own workstations.)
Another thing: make the day 1 setup for a new programmer a thorough thing. Not something where it takes a day to get their account set up, another day for e-mail to be created, etc. Ideally, everything is set up for them (and tested to work!) so they can then plunge in, start reading source code, start receiving training from their mentors, etc.
Subscription to Safari Library Books Online. Unlimited access to all their books and those of partner publishers, never goes out of date, searchable, training videos, and notes you make are kept forever, even through subscription lapses.
By the way, not all fresh-out-of-college programmers are young, nor are they male. Most are, I grant; but not all. :)
If I were to pick a few perks (as a junior developer) that would make me switch companies:
- Games in the lunchroom, so you can play a bit during morning and afternoon breaks
- Comfortable chair instead of "whatever the leasing company gives us"
- Fridge stocked with beverages
- Getting to order whatever programming books I need
- Non-tolerance for incompetent developers
- Company-sponsored team activities like paintball, lasertag, etc.
- Getting to be around good developers my own age
- Sponsored gym membership
- Flexible starting hours
-
"Non-tolerance for incompetent developers" Not everyone is as good as the next guy. Being professional is about helping others and working as a team.– DyniteCommented Mar 16, 2010 at 15:08
-
A professional environment can't be maintained without... professionals. Some people are simply not meant for software development but manage to stay in the field anyway somehow. See www.thedailywtf.com for reference. Commented Mar 18, 2010 at 9:10
Free headphones (good around-the-ear phones from Sennheiser or even Bose, maybe even noise-canceling ones)!
Anything with caffene in it should be free. Coffee, lattee, candy bars, soda (especially Mountain Dew) etc.
Seriously though, ask anyone who has worked in a place like Microsoft where they have great break rooms close by and they will tell you that they can be a godsend when working late etc.
Substantial times of uninterrupted peace and quiet to get into that highly productive state of "flow" while programming. A noisy office drives productivity down at least 50%.
To add to the list: snacks, and not sugar stuff, but actual energy food, fruits, oats, cheese, salad, sandwiches. May be a pain to set up, but if I had that, I'd be spending more time at work :)
From my perspective the most important thing the job has to enable the employee is the personal growth. Find time to discuss about work and if possible provide them a mentor.
Beside this:
- flexible schedule
- drink
- food
- pleasant working environment
Help them to research all the time in the research interest's of technology leading corporations and new technologies to help them acquire a good knowledge about breakthroughs, discoveries, new tools, etc, and be more creative about their work, just don't make them feel like they don't learn innovative stuff in their environment. Also give them the liberty to finish their programming tasks without restricting them to sit for 8 hours in front of a computer every day. Lockheed Martin gives their employees the liberty to work any time they want if they complete their 40 hours a week.
Scott Adams, who talent was not so much just being funny as being seriously insightful and making us laugh about it, named the OA4 concept. He suggested that companies truly serious about their employees would be OA4 Companies and throw their employees Out At 4pm.
I'm into my 13th year of professional programming now, finally working for myself, doing only what I want with exactly the tools I choose, and getting OA4 is almost impossible. OA2am is currently more like it. But the truth of all-nighters and suchlike 'dedication', (and I pulled a 24 hour special only last week for a client deadline), is that it's just like credit card spending; sooner or later you have to pay it back.
The reward isn't in the perks, it's in the job. Help people do their job well - not compulsively, obsessively, heroically or with guilt. I'm not a better person for busting a gut whatever my feelings suggest; I'm a better person for starting at the same time every day; finishing at the same time every afternoon; and getting plenty of breaks away from the desk. Sometimes you do good work; sometimes you don't. If you follow a healthy routine, you'll do more good work more often. A good company as Adams suggests, would be one that encourages us to be better people.
Hey, anyone want to write some Cocoa with me? I'll let you Out At 4pm! :-)
In my humble oppinion the following is good incentive for new programmers:
- Mentorship from a senior programmer.
- Games and fun team building event activities
- Promote training and certification
- Good software tools and hardware