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