打造Facebook
员工的忠诚,只是文化认同的附属
科技公司通常不会一味强调员工对公司对忠诚度,更多的是考虑公司本身有什么值得让员工留下来。尝试用产品、理念、理想、期权、薪酬、福利等方面来吸引员工形成自然的忠诚。一个人热爱一家公司是对公司文化的认同,忠诚,只是文化的附属品。
大公司病
随着公司规模的增大,人员和部门的增加,公司难免出现大公司病:
- 部门墙造成严重内耗
- 管理层级加深并出现官僚文化
- 由领导层中央集权式管理
- 缺少工程师文化
- 局部利益大于公司整体利益
Facebook的面试流程
大部分的招聘并不针对具体用人部门,更多的考察对核心价值观的认同,通用技术能力,系统整体设计能力,以及沟通交流能力
常见的面试流程:
- 1分钟大致介绍本次面试,主要是帮助面试者消除紧张感
- 4分钟面试官自我介绍(1分钟),3分钟留给应聘者进行自我介绍,面试是双方平等的相互选择,尊重面试者的知情权
- 3-5分钟回答为什么对facebook感兴趣,主要考察应聘者的目的以及对公司价值观的理解,只追求对核心价值观的认同,识别那些只关注经济收入的应聘者。
- 10-15分钟针对面试者过往项目进行了解和提问,通过star原则考察面试者的表达能力、技术能力、总结能力等方面。
- 20分钟集中在具体技术点进行深入提问
- 5分钟给应聘者自由问答,可以进一步考察应聘者的求值目的,并尊重其选择权。
在面试过程中,需要考察面试者的沟通能力,学习意愿,团队协作能力,考察具体技术问题而非智力问答。
在面试过程和结果反馈时,一定要尊重面试者,既能体现公司对人才的尊重,也能产生良好的口碑,吸引更多的人才。
招聘标准 —— 只和最好的人合作
- 技术性问题用来了解是否一流
- 文化性问题用来了解是否合适
一流人才是尽其所知,用其所长,学其所不能;完成目标并远超预期的人。 他们的本能是挑战自我,超越别人的期望,超越自己的期望
- 一流人才喜欢互设榜样
- 一流人才喜欢互相挑战
- 一流人才愿意被委以重任
想要保持团队的质量,一定要做到:
- Hire Slow - 谨慎招认,拒绝平庸,不要妥协
- Fire Fast - 快速淘汰不适合员工,避免对整个团队带来负面影响
新兵训练营
facebook的新员工不会被直接分配到具体部门,而是统一在新兵训练营中进行6周的统一培训。
新兵训练营的几个目的:
- 帮助新员工融入公司,熟悉公司产品、结识同事、快速融入产品发布流程当中。
- 帮助新员工充分了解各个产品和项目组,提供充分的时间给新员工和用人组进行相互了解,促进双方的最佳匹配
在新兵训练营期间,每位新员工都会拥有一位导师,其主要目的是:
- 一对一的进行定期沟通,主要是进行文化、方法、思维的传递
- 引导新员工向正确的方向进行努力和尝试
- 对新员工进行评价,帮助他们解决问题,使其发挥出应有的价值
- 促进新员工与更多项目组进行接触,帮助他们筛选和选择
- 最终目的:帮助他们找到合适的组
新兵训练营同样是对导师的观察和培养,在这个过程中锻炼其沟通能力和管理能力,帮助导师向技术经理方向发展。
黑客文化
facebook是由黑客创立的公司,其诞生背景决定了它的文化基因。
黑客文化最核心的价值观是所有信息都应该是自由传播的,其驱动力是不断的学习和再创造,黑客们充满娱乐精神,并且勇于挑战不可能
黑客意味着:
- 理想主义者
- 希望对世界作出贡献
- 挑战能力的极限
- 持续改进和衍变创新
- 亲身实践、积极进取
- 精英为王
工程师驱动的文化
在产品研发上,工程师与产品经理所起到的主导作用比例是60:40;而后台系统则是100:0
在产品开发过程中,各种角色进行充分的讨论,过程中充满了争执、辩论和尝试,最终各方妥协达成一致的目标。在整个过程中,工程师充分参与目标和计划的制定,以此来激发工程师的责任感和主动性,使得他们充分围绕着产品进行思考
产品开发的三个原则
- 迅速发布,进行检测(Move Fast and Monitor Closely),通过灰度发布快速试错并明确产品方向,而不是一次性追求完美
- 坦然面对不确定性(Be Comfortable with Uncertainly),允许一些不确定性,快速进行尝试并根据实际反馈决定继续还是停止,而不是陷入无休无止的讨论当中。
- 不追求极致,应该不断的发布以达成目标(Done is Better than Perfect, Stay Focused and Keep Shipping),基于软件产品自身的特点,允许产品通过持续的改进而逐渐达到极致。
Hack-A-Month计划
工程师再逐渐习惯某一个岗位的工作之后,难免会产生厌倦或缺少激情,特别是对于新知识充满渴望的工程师。这种情绪长期积累下来,很容易导致工程师离开公司,一旦到了这一步,往往已经很难挽回。
Fackbook的Hack-A-Month计划正是为了解决这一问题,及早发现逐渐失去激情的工程师,并且主动帮助他们找到新的方向和工作组,为公司保住优秀的人才。
Hack-A-Month的执行也需要遵循一些规则:
- 当前岗位上必须坚持一年,避免浅尝则止
- 必须证明他是一名优秀的工程师,即在当前岗位上获得良好的绩效
- 研发经理主动发现并推动,着眼于公司整体利益而非工作组的局部利益
- 如果是员工主动提出的,经理要积极配合并帮助他找到新的组
- 经理要帮助员工交接工作并且安排到新组去工作
- 如果换组不成功,可以回到原组工作,并且下一次换组要间隔半年以上
Hack-A-Month不仅能够保持工程师的激情,而且从公司角度有效的保护整体利益。Hack-A-Month帮助员工以最小的代价进行新的体验和选择,如果尝试失败,由有后悔的余地回归原本的工作,同时由可以安心的期待新的机会。
人员流失是任何一个公司都头疼的问题,与其被动的担忧和猜疑,不如主动发现和解决,帮助工程师在公司内部进行尝试并在制度上为他提供后援,只有这样才能真正留住人心。
如何有效管理团队
领导者最重要的工作是激发和帮助员工,让他们更加优秀,要为团队成员树立起高的期望并加以权衡,在团队的真实极限中找到一个可持续的驱动力来激励员工超越自我。
作为领导者最重要的工作就是:帮助员工找到他们的长处,帮助他们创建条件来发挥自己的长处,不断激励他们来超越自己的想象。
最为团队领导者,要为团队树立足够高的期望,让团队能够感受到挑战,由不至于油尽灯枯。当团队成员完成挑战时,能够得到极大的锻炼,并且充分满足成就感。
在工作任务分配的时候,要考虑每个人的特点,并且在彻底委托和紧密监控之间找到合适的平衡点。
在任务分配时,需要考虑:
- 个人的兴趣点,充分满足工程师的个人意愿
- 项目所需的经验和优势,为项目提供最大的价值
如果两者能够完美的匹配,自然能够最大化个人和团队的收益,但情况往往不会如此理想。在大多数情况中,以员工个人意愿为主,特别是在一个存在大量“牛人”的团队中。世事无绝对,实际的侧重点要以实际的团队情况为准。
对于委托和监控,需要因人而异。
- 如果有足够的信任,自然可以全权委托
- 如果尚未建立足够的信任,可以先进行一定的关注,随着逐步建立信任,逐步降低关注频率和控制程度
- 在监控的过程中,要注意方式方法,避免伤害到对方的自尊心
一对一的会面
领导者要定期与每一位下述执行一对一会面,会面的主题包含三个方面:
- 具体的技术问题和解决方案的讨论
- 个人成长或发展的讨论
- 公司的一些政策变化或组织结构调整
理想中的话题应该是第二种,而不是其他。领导者及时发现员工的兴趣点、优势、弱点、问题等,帮助他们创造发挥空间、解决个人困难,为他们的个人成长充分创建条件。
另外,对于一对一会面要足够重视:
- 要有预约和准备
- 尽量避免随意取消
- 主角是员工,以倾听为主
- 给出的建议都要给出具体的实例和证据
- 关注事后的行动,以此才能建立长期的信任关系
导师文化
在美国长期存在导师文化:
- 双方是真正的朋友,愿意不求回报的帮助你提高
- 在某一领域帮助你提高,为你指引方向,而不是解决具体问题
- 要积极主动的寻找并提出请求
- 对于导师要心怀感激
- 要认真对待导师的建议,记录、总结并经常与导师讨论
Facebook的产品开发流程
- Picture the Vision and Set the Goals
- Collect Ideas and Prioritize
- Align Across Teams
- Let others Know
- Design Product
- Pinpoint the Person
- Scrum
- Synchronize the Report Status
- Launch and Monitor
描绘远景 设置目标
在每一件事情开始之前,都要设立一个远景和目标。后续的一切行为都要围绕这一目标进行,避免偏离。
在描绘远景的时候要从几个角度考虑:
- 为什么要设立这个目标?
- 这件事情完成之后回事什么样子?
- 如何实现这个目标?
通过这几个方向的思考,不但可以明确这件事情是否具有意义,并且逐渐使目标具体化和量化。
在制定目标的过程中,遵循SMART原则:
- S - Specified 目标是具体的,避免行动的时候无法形成有效的指导,同时便于评判结果
- M - Measurable 目标是量化和可以度量的,不仅勇于评判结果,而且在行动过程中可以有效的监测进展
- A - Aggressive 保持一定的挑战性,使得团队充分发挥潜力,同时能够有效的保持团队的激情和创造力
- R - Realistic 目标要切实可行,否则团队无法看见希望也不会全心全意的执行
- T - Time-bound 没有时间限制的目标没有任何意义,也无法让人紧张的投入其中
收集想法并排出优先次序
对于较大的目标,通常为产生含多的想法或步骤。在有限的时间内是无法全部尝试和达成的。对于所有的想法,要由工程师们根据具体目标、实际情况等方面进行有效的思考和分析,分辨出重要程度和优先级,正确作出选择和决断。
在这里,要有效的区分两个步骤:“提出想法”和“分析想法”
- 提出想法时,要充分的集思广益,让大家肆无忌惮的提出想法,避免过早的陷入细节或者争论当中
- 分析想法时,根据最终的目标找到最有价值的Top N想法,根据2/8法则,找到20%最有价值的想法来尝试。在这里要结合过往经验、分析讨论、有效数据进行合理的抉择。
在确定优先级之后,时间分配上facebook遵循6-2-2法则:
- 6 放在具体工作上,快速实现已经确定的想法
- 2 放在系统架构和质量保证上,保持产品的稳定性和可持续性
- 2 放在有风险、有争议,可能带来颠覆成果的事情上,以此来保持团队的创造力,也是对未来的投资和尝试
跨团队沟通
在实际项目中,跨团队沟通更主要为了保证以下几点:
- 各方对于项目目标有共通的认识
- 有效的协调各智能部门的资源,保证目标顺利完成
- 保证各个团队对于目标的重要性有共同的认识
- 保证各组之间的时间安排一致
告知所有可能关心的人
在进行了一切有效准备和计划之后,使用会议、邮件等形式告知所有相关人。
目的是为了让各方在项目目标上达成共识,获取有效的资源,并且为后续的讨论提供一个有效的基础。
设计产品
产品的计划要始终围绕着功能、时间、预算、质量来进行。
在实际执行时,一定要快速完成可用版本,避免耗时耗力的最终版本。在现在的市场背景下,要能够快速的推出产品,验证概念是否可行,市场是否接受,根据实际反馈或监测数据来决策继续或是终止。在初始版本的设计过程中,需要预留一定的弹性,通常是3-10倍。
在实际操作时,通常做法是:
- 快速作出原型
- 召集工程师、设计师、产品经理进行讨论,尽可能的收集意见进行分析和讨论
- 讨论的过程要适可而止,有争议的想法通过动手尝试来进行验证
- 讨论的目的除了征集想法,也能够有效的利用大家的经验,保证想法的可行性,并且没有明显的设计缺陷
对于产品设计原则,可以考虑以下几点:
- 不要过度设计,避免耗费过多或者走错路线
- 产品越简单越好,但不意味着简陋
- 自己做出来但产品,自己必须是用户
- 产品要确实有用
- 不追求完美,而是通过快速但尝试、反馈、改进这样但循环迭代来趋近于完美
- 保留最基本的质量底线
指定项目负责人
为每一个具体任务指定明确的责任人,他要负责:
- 承担项目责任
- 跟踪项目进展
- 推动项目完成
- 协调周边资源
定期碰头会
其内容主要是通报项目进展和所遇到的困难。
实际的讨论周期,要结合项目性质、紧急程度等多方情况来确定周期和时长。
重点是要及早的发现风险并帮助解决困难。
了解进度 汇总报告
作为项目经理,要定期的收集组内的重点项目进展,其目的主要有两个:
- 及时发现风险,并协调资源解决困难
- 总结和反思,为后续的行动作出有效的改进或指导
执行时,要注意以下几点:
- 简洁易懂
- 有数据支撑
- 只涉及最重要的3-5个项目
发布产品 监测数据
产品发布的过程可以简单的理解为:发布前评估 - 发布并监测数据 - 反思总结
- 发布前评估 可以通过多种形式进行,在发布前尽可能的降低项目发布风险
- 发布并监测数据 发布时可以采用灰度发布来限制范围和影响,监测数据主要观察系统级的数据和发布后的用户面影响。数据的监控能力是要在产品设计阶段就要进行分析、设计和实现的。
- 反思总结 使用3W1H方法对出现的问题、出现的结果等方面进行分析,作为日后行为的指导