What sort of benefits do you currently enjoy? What benefits are most attractive to you? What sort of benefits can smaller, less wealthy companies realistically offer their top developers?
Smaller companies have the advantage of greater flexibility
in their hiring terms. There's no fixed payscales, rigid
hierarchies or corporate policies that need to be maintained
company-wide. This gives small companies room to
out flank the big ones by offering whatever it is that
the new hires may want. The desirable perks will vary
from person to person so Google's project day and
MS's door won't appeal to everyone they would like.
In my case, I chose to work for a small company that
would allow me to work part-time and remotely
(even travelling internationally), was supportive of
open source, had a nice staff and great coffee.