技术带头人:
1) 清楚的远景。没有清楚的远景,只有强大技术能力的团队,就像盲人骑瞎马,还使劲用鞭子抽打,让马快跑。 看起来一度非常拉风,但后来免不了人仰马翻。
2)信任团队,把大方向弄清楚之后,把其他事情交给团队成员去搞清楚。 如果带头人详细规定了所有细节,那么团队成员干得还有什么劲呢?
3)避免“微观管理”。当你担心或者没有安全感的时候,你当然会希望把所有细节都搞清楚,但是这样反而会出乱子。
优秀的程序员
1.在抽象思维 (world of symbols) 中得心应手的人。
2.就是“热情”, 我们有时也说 "passion for technology".
你要在场景中, 对话中感觉对方的“热情”。
如果一个念了5-7年计算机专业的人,不能 “两眼放光”地给你讲他自己最得意,最激动人心的项目或算法,不能回答你的深入提问,除了老师的作业和实验室老板叫做的项目之外,没有别的想法。 你觉得这种人有多少 “热情”?
3.写很多程序。
世界上难的问题/程序很少, 如果一个人的代码看起来很难,这通常意味着程序员没有想清楚,
如果你必须用很复杂的代码,把它包装起来。
4.程序是用来给人读的。
如果效率很重要,我会用一些小技巧。 这些技巧会误导读代码的人,你得加上注释,或者类似的东西标注一下,让它更可读。
写程序不是仅仅把程序写出来,而是要让你写的程序可读,可维护,并且高效。 优化正确的程序要比改正已优化(但是有错)的程序要容易。
5.避免过早优化。
6.应聘者有没有刨根问底,好奇心, 准确的思维? 能快速地学习么? 是否对很多东西都有兴趣? 是否有很广泛的基础?
7.他们更多的是“我只要懂得我需要的,就可以开始干活了”, 而不是“我得完全理解某个领域,才能开始”。
8 面试 :不喜欢用智力题目,要依赖于面对面的问答来判断这个应聘者是否能够和团队合得来,更重要的是,让他们在黑板上写代码,看看他们是否真的能“说到做到”。
9 好的程序员精通一种语言后,就会触类旁通,能学好所有语言。
10 好记性对一个好程序员很重要。
11 聪明的人会互相欣赏,评价。 我不想通过智力题来判断程序员,我们给应聘者相当实际的问题,而不是那些奇怪的智力题或者数学题。
12 程序员的表达能力,说服能力好奇心很重要;