You started off by saying that in most organizations there's a dedicated team of engineers (usually tech leads or seniors) who use their free time or a committee to oversee initiatives and guidelines to propagate best practices. From the way the article is written it sounds like you're saying you do something else, but you're example of having 20%ers doing this seems the same as "free time" to me. I know we have Communities of Practice, where everyone interested in these type of strategies and idea sharing can contribute to this. Are you saying Google does something different or just sharing examples of your specific implementation of the industry norm?
First, let me clarify what I meant about my (personal) experience regarding other organizations. I think it's rare for there to be anybody actually dedicated to this. In my experience, at most companies, it's some random good citizen who pushes this sort of thing, not as an official part of their job, and sometimes not even as a senior engineer. Sometimes they get some support from a few other people. It's almost never an organized function that is supported by the company. Sometimes the champion even leaves or gets too busy, and then the whole thing kind of just gets dropped.
When it _is_ a supported function, the focus frequently ends up being on testing and tooling or on a specific language, rather than on what we primarily focus on in code health around refactoring, simplicity, practices, etc. I'm not saying that this is true everywhere, but this is my experience with many organizations.
In contrast, at Google, Code Health is an official group that is recognized by the company. The people who work on it can be recognized and rewarded for their contributions. We have a significant influence, when we want to use it. There are people who work full time on code health, as well.
I think that, as I'm able to publish more specifics of what the various parts of Code Health do, some how of we are different might become clearer. However, if you have any specific questions about what Code Health is and how it functions, please let me know! :-)
Thanks for the reply Max, I can definitely relate to the point you made about champions taking it on themselves and sometimes letting it drop when they leave or get too busy. We have communities of practice, which are really interested parties but are also recognized and encouraged within our company, that determine for the company what our standards are and consider it part of our culture that we stay attentive to this. So I guess we're saying the same thing. We prefer to have the groups more focused than general and communicate with each other. We also read your blog, so I'm sure that as a group we'll have some great discussion around what you guys are doing and what we can do better. Thanks for sharing.
You started off by saying that in most organizations there's a dedicated team of engineers (usually tech leads or seniors) who use their free time or a committee to oversee initiatives and guidelines to propagate best practices. From the way the article is written it sounds like you're saying you do something else, but you're example of having 20%ers doing this seems the same as "free time" to me. I know we have Communities of Practice, where everyone interested in these type of strategies and idea sharing can contribute to this. Are you saying Google does something different or just sharing examples of your specific implementation of the industry norm?
ReplyDeleteHey Paul.
DeleteFirst, let me clarify what I meant about my (personal) experience regarding other organizations. I think it's rare for there to be anybody actually dedicated to this. In my experience, at most companies, it's some random good citizen who pushes this sort of thing, not as an official part of their job, and sometimes not even as a senior engineer. Sometimes they get some support from a few other people. It's almost never an organized function that is supported by the company. Sometimes the champion even leaves or gets too busy, and then the whole thing kind of just gets dropped.
When it _is_ a supported function, the focus frequently ends up being on testing and tooling or on a specific language, rather than on what we primarily focus on in code health around refactoring, simplicity, practices, etc. I'm not saying that this is true everywhere, but this is my experience with many organizations.
In contrast, at Google, Code Health is an official group that is recognized by the company. The people who work on it can be recognized and rewarded for their contributions. We have a significant influence, when we want to use it. There are people who work full time on code health, as well.
I think that, as I'm able to publish more specifics of what the various parts of Code Health do, some how of we are different might become clearer. However, if you have any specific questions about what Code Health is and how it functions, please let me know! :-)
-Max
Thanks for the reply Max, I can definitely relate to the point you made about champions taking it on themselves and sometimes letting it drop when they leave or get too busy. We have communities of practice, which are really interested parties but are also recognized and encouraged within our company, that determine for the company what our standards are and consider it part of our culture that we stay attentive to this. So I guess we're saying the same thing. We prefer to have the groups more focused than general and communicate with each other. We also read your blog, so I'm sure that as a group we'll have some great discussion around what you guys are doing and what we can do better. Thanks for sharing.
Delete-Paul