Messages: 23074

Enregistré le: 19 Avr 2002

Message le Ven Mar 25, 2005 20:52

Vous savez sûrement que tous les employés de Google sont incités à travailler 20% de leur temps sur des projets perso. Ca a pas mal marché pour l'instant car Google News et Gmail viennent de là (Orkut aussi).

Joe Beda nous livre ses commentaires sur le fonctionnement du développment de logiciels chez Google :
Tony posts some comments about 20% time at Google and how it might not work at other companies like MS. Scoble responds based on how he *thinks* 20% time works. In the comments Tony backs down because he doesn't have specific knowledge of how things work at Microsoft. I'd like to add some more comments to this conversation.

The Google model of development is more than just information sharing and the ability to switch projects. Here are the important points as I've seen.

1. There is, by and large, only one code base at Google. This has many advantages. Most obvious is that it is really easy to look at and contribute to code in other projects without having to talk to anyone, get special permissions or fill out forms in triplicate. That is just the tip of the iceberg, though. Having one codebase means that there is a very high degree of code sharing. Need to base 64 encode/decode something? No problem, there is a standard Google routine for that. Found a bug? Just fix it and check it in after getting it code reviewed by a documented owner. One of the reasons that environments like Perl, Python, C#, Java, etc. flourish is that they have large and well through out libraries of useful code. For a variety of reasons, C++ has never had this. (I could theorize but that would be off topic.) Google has solved this problem by building up a large library of well documented and easy to integrate code. This not only lowers the bar for new projects but makes it easy to switch projects as you don't have to learn new conventions.
2. Switching teams at Google is a very fluid process. An engineer can be 40% on one project, 40% on something completely different and 20% on his or her own thing. That mix can be adjusted as project requirements change. Switching groups should also not have an affect on your annual review score because of arbitrary team politics. Joining a new group is more about find a good mutual fit then going through HR and a formal interview loop. When there is an important project that needs to be staffed the groups and execs will evangelize that need and someone who is interested is bound to step up. If it is critical to the business and no one is stepping up (I don't know if this has occurred or not) then I imagine it would go come down to a personal appeal by the management team.
3. The intranet in Google is super transparent. Teams are actively encouraged to share the most intimate details of their projects with the rest of the company. This happens through tech talks, design docs, lunch table conversations, etc. When two teams are doing similar things, people start with the assumption that they must have their reasons and that the situation will be worked out in time. There isn't a huge push to over optimize and have only one solution for each problem. This means that there isn't an adversarial relationship between teams that can lead to long standing animosities and information hiding.
4. There is a big difference between pet projects being permitted and being encouraged. At Google it is actively encouraged for engineers to do a 20% project. This isn't a matter of doing something in your spare time, but more of actively making time for it. Heck, I don't have a good 20% project yet and I need one. If I don't come up with something I'm sure it could negatively impact my review.
5. The intrapersonal environment at Google is very energizing. When someone comes up with a new idea, the most common response is excitement and a brainstorming session. Politics and who owns what area rarely enter into it. I don't think that I've seen anyone really raise their voice and get into a huge knockdown drag out fight since coming to Google.

Can 20% time work at other companies? I'm sure that there are going to be others that try. However, I think that it is important to realize that it is a result of an environment and philosophy to development more than a cause. I don't think that it is something that can be imposed in an independent way.

I'd like to stress that these comments are my own and aren't any sort of official word from Google. Please don't draw any grand conclusions of corporate strategy and such.
3 Réponses
Messages: 826

Enregistré le: 25 Jan 2003

Message le Sam Mar 26, 2005 0:39

Impressionant ! 40 40 20 !
La formule magique qu'il faudrait pouvoir appliquer en direction de projets...
J'ai juste un doute sur les 20%... comment argumenter face à une Direction Générale ? ou simplement, comment contrôler...
En tous cas, une bonne leçon de management !


PS : En plus, non seulement ça a l'air de marcher, mais en plus c'est hypra cool :wink:
Messages: 37919

Enregistré le: 7 Juil 2004

Message le Sam Mar 26, 2005 1:56

kendos a écrit:J'ai juste un doute sur les 20%... comment argumenter face à une Direction Générale ? ou simplement, comment contrôler...
En tous cas, une bonne leçon de management !


Par exemple une journée ou alors une après-midi libre mais ou l'on reste dans l'enceinte de l'entreprise ?
Cela m'interesse comme idée si vous avez des points de vues :wink:
Messages: 602

Enregistré le: 4 Sep 2004

Message le Sam Mar 26, 2005 11:39

Le 'turn over'
Ce n'est pas bien grave, si ce n'est ce manque de continuité remarqué par les clients. Pour lutter contre ces départs, les salaires peuvent être 'artificiellement' maintenus à un niveau plus élevé que le marché, mais la limite est vite atteinte. Pour quelles raisons les salariés quittent-ils une société ? Ils sont souvent poussés par une recherche de nouveauté, de projets portant sur des sujets différents (enrichissement professionnel).