Imagine yourself hired by a new startup backed with few millions coming from venture capitalists.

Your mission: organize the development of the next killer app.

25 developers is too much to take care of each individually, so what decision(s) you would make to motivate them?

I will appreciate any answers from stock options to free cookies ;)

Of course the trick here (unless you are really a manager of a such startup), is put yourself in the shoes of one of those programmers.

EDIT: it's an imaginary context. The purpose of this story is to stimulate your wishes. I want to capture what motivates developers.

Here's my checklist, in no particular order:


Awesome computers to develop on. At least double the power of the target user,  with plenty of RAM and large/multiple monitors... ~$3 to 5k budget.
Nice headphones for whoever needs them, when they prefer to work to music.
Excellent development tools to work with. This depends somewhat on your target environment, but Visual Studio / Eclipse / whatever is the best for the job. This includes things like continuous integration/build servers.
Fast internet access - perhaps with a caching proxy server to pre-cache things like SO, TheRegister, Reddit, etc
Very few meetings - only what is absolutely necessary and a hard limit on their length (we use a timer); think 'stand-up meeting' like Scrum.
Healthy atmosphere in which to work. Daylight, fresh air options, stable aircon, plants, pictures, good lighting.
10 to 20% downtime to learn something new or flex your skills a little.
A water cooler for each group of desks that is regularly maintained.
Market-competitive salaries with performance-related bonuses, where performance and the remuneration are clearly defined. Performance bonuses would likely be company profit share.
Encourage a collaborative work ethic; have tech debriefs to share learning, rotate people around teams to build their experience.
Free drinks (non-alcoholic).
A fruit basket for healthy snacks that don't ruin lunch.
Establish a level of professional respect from the other parts of the business for the software development department and vice versa. This is a long-term, fuzzy target, but there are ways and means of establishing it.
Clear communication to and from management of expectations and delivery on those expectations.
Clear priorities for work items, reviewed regularly.
Use of best practices in terms of SDLC methodologies - Agile/Scrum, etc.
Clear and documented procedures on what has to be done, why and how for important stuff like release management. Whatever can be automated would be, so this is just the manual bits - there's always some.
Supportive environment for when things don't go so well. No kicking people when they cause bugs, but helping them learn from their mistakes.
24x7 access to the building and remote access for when team members get inspiration outside of normal hours.
Whiteboards for prototyping/thinking out loud.
Celebrations of success - whether a team lunch or a trip to the Grand Prix at the weekend, it's important to recognise great effort and great results.


I would not have:


Nerf guns/frisbees/pool table/toys. The work environment is where we work. There's lots of fun to be had while doing the job without playing soldiers around colleagues that are trying to focus.
Free food - people should take a break to go out and get something to eat.
Internet censorship - I'd leave it up to the individuals to exercise their judgement.

