我们一开始准备做 VS Code,Anders 也是积极的推动者,他虽然自己不做,但他觉得这对我们来说是一个非常重要的领域去介入。他的这种前瞻性,对战略的把握,实际上对他的程序员生涯是非常重要的,如果没有这种战略的把握,没有这种前瞻性,他不可能在我们公司做到和全球资深副总裁同样的级别。但是同时作为一个程序员来说,他又是一个非常牛的程序员。 在第一个版本做出来之后,已经有了很多的用户。Anders 看了之后,觉得还可以写得更好。于是他就花了几个月的时间,一个人把 Type 编译器的部分重写了一遍。重写完以后,总代码量只有原来的三分之一,运行速度提升了好几倍。 所以每次有人问起,对程序员的考核标准,要不要用写的总代码量来衡量,我总是会跟他提起海神的这个故事。如果用这种考核标准,能招到海神这样的大牛吗?我认识很多 35 岁、40 岁朝上的程序员,他们对领域的把握、资深的认知是年轻程序员所欠缺、难得的。所以即使他们还是在做程序员这份工作,但也不是像大学毕业的新进同事只写代码。资深的程序员对于公司来说,是非常宝贵的资源。 另外像我们团队里的另一个大神,Erich Gamma,他就跟我说他团队里的人不要超过 20 个人。超过 20 个人,他就要花很大的精力去管理,他希望把时间更多地放在技术上面,然后能够把技术做透。 很多时候中国的文化很看重管理的人数多少,其实并不是管理的人越多越好。Erich Gamma 只管不超过 20 人的团队,Anders Hejlsberg 一个人都不管,但是他们对于产业的影响力却是很多管理大型团队的领导者所难以企及的。 从程序员迈向领导者 不同的企业,它的需求是不太一样的。我只能从微软的角度,从产品的角度谈一谈怎么从技术转向管理。 一般来说,如果技术都做不好,是不会做到管理者的岗位的。因为你一定要有信服力,你一定是技术做得好,被大家所认可,才有机会做到技术主管,步步升迁。微软的技术主管不仅要管人,还要管这个产品的技术实现。 很多时候,团队里的工程师会说想要去做技术管理。通常我会说,你可以去试一下,如果觉得做不好再转回做技术。有的时候,我会更直白地说,你要是做技术,只需要管理好自己一个人,可能升职反而会更快。但如果你做了技术管理,团队没带好、功能没实现,反而会影响到后续的升职和提拔。 微软的工程师有两条线,一条是纯做技术,一条是技术管理。至于微软的项目管理,虽然跟技术管理一样,都是用 Manager 的职称,但是他其实不一是一个真正意义上的领导者(People Manager)。项目管理者更多可能只是一个个人,在统筹项目的进度等等。所以微软里面做团队管理的,基本上都是技术管理。 拿架构师来举例,国外的很多传统的架构师,像微软公司的架构师,其实并不是用职称来反映的,越资深的工程师,本身要负责的问题就越大,然后对此要有一个相应的很大的解决问题的框架,落地其实就是架构了。另一方面,从负责制的角度来说,如果管架构的和主管开发的经理不是一个人,或者有不同的理念,万一最后做出来的产品有性能上的问题或是功能上的问题。究竟是架构不好呢?还是开发不好呢? 所以,一定要在一个认知合一的情况下看问题。程序员转管理岗,并不是条容易的路。 给女性程序员的贴心话 我刚进微软做开发的时候,确实开发组里女程序员数量非常少。那时候不像现在,微软做工程师的华人也是非常少。我刚进开发组的时候,一个大老板问我说:“你高中毕业了吗?看着还像个高中生就来上班了。”我当时还觉得挺没面子的,被别人看成高中生。 我觉得很多时候,女程序员面临的第一个就是对自己的认可。从全球的角度来看,有很多数据支持的一个现象是:对于一个职位的要求,男程序员可能自我审视到满足 60% 就会去申请,但是女程序员很多时候是在达到 85% 甚至 90% 以上,也就是说基本满足要求的情况下才会去申请这个职位。 所以对于女程序员来说,j2直播,第一就是要知道跟男程序员在这种情况下会有不同的反应,很多时候对于自己的自信和自我认可是很重要的。但很多女程序员,在团队里作为新人的时候,会刻意地去控制自己,在研讨会的时候觉得别人的发言都很有逻辑很有道理,认为自己作为一个小白还是多听少说。 (责任编辑:本港台直播) |