前 Airbnb 技术经理带你揭秘硅谷开发

技术人如何进阶管理?前 Airbnb 技术经理朱赟,揭秘硅谷技术实战,带你探索行之有效的管理方法。

1、如何做好 Code Review?- 来自硅谷的最佳实践

Code Review 主要是在软件开发的过程中,对源代码进行同级评审,其目的是找出并修正软件开发过程中出现的错误,保证软件质量,提高开发者自身水平。

和国内的工程师聊天,发现国内公司做代码评审的比例并不算高,这可能和各公司的工程师文化有关系。不过硅谷稍具规模的公司,代码评审的流程都是比较规范的,模式也差不多。以下是硅谷的 Code Review 流程图,已整理给你。

2、硅谷互联网公司的开发流程是什么样子的?

之前我的很多文章里或多或少涉及过这一方面的内容,最近我又全程参与并负责了两个大项目,对流程有了更深一步的理解,今天就在专栏里系统分享给你。

总的说来,开发流程包括这么几个阶段:

1、OKR 的设立
2、主项目及其子项目的确立
3、每个子项目的生命周期
4、主项目的生命周期
5、收尾、维护、复盘。

3、从 1 到 N 都需要进行的业务拆分 - 来自硅谷的最佳实践

系统拆分并不是做一道单选题,在进行系统拆分和服务化之前,我们需要综合考虑各种因素,找到平衡点:

1、你的业务量是否足够大,逻辑是否足够复杂以至于必须进行系统拆分。水平扩展是不是已经不起作用了?代码的相互影响、部署时间过长真的是系统的切肤之痛么?如果答案都是肯定的,那么你就应该进行系统拆分了。
2、对于服务化的架构,你的开发人员多少经验,能否正确驾驭而不是让本文中提到的问题成为拦路虎么?
3、系统拆分是一个“从一到多容易,从多到一困难”的过程,这个过程几乎是不可逆的。在做拆分计划的时候,一定要慎之又慎。

4、硅谷见闻:为什么要有 7 至 8 轮面试?

朋友偶然问我:“听说 Airbnb 的面试一共有七八轮,这是不是真的?”我回答这是真的。其实硅谷的公司大部分都会有多轮的面试,这主要包括了算法编程、系统设计、工作经验等。

1、算法编程:考察编程的硬功夫
2、系统设计:给候选人一个系统设计的场景,根据自己的能力和经验去架构整个系统
3、工作经验面试:与候选人聊他做过的项目,深入了解和挖掘候选人的技能树

因为不同题目考察的知识点和解决问题能力的侧重点不同,两轮可以更全面地进行评估;更重要的是,面试官也是人,难免有一些主观看法,进行两轮面试,两个人的反馈意见就可以相互有个参考。有的时候,两轮面试官意见相悖,加试一轮的情况也并不少见。可能也会有面试官经验不足,我们也会进行交叉面试,可以尽可能避免“冤案”的发生。

总之:招人需谨慎,要对面试者和公司负责。