摘自《一个阿里巴巴码农的六年回眸》
… …省略若干段落。
总结几句话:技术耐得住寂寞,低谷积累高峰冲刺,主动改变一切,找到自己的特点,没有问题的时候最可怕,不同阶段追求不同的收获,先听再说,永远都要清楚你到底要什么!
下面是自己的一些问答,觉得不靠谱的一笑而过。
一、怎么看待老板?
老板就像老婆,他能容忍你的个性就是最大的幸福,不要期望他成为你的老妈,对你百般照顾。要换老板的时候看看离开了他是否一样找不到“幸福”,如果是,那么问题在你,“离不离婚”其实不是那么重要。
二、怎么看待技术重复造轮子?
码农那么多,有时候重复造轮子也不一定是坏事,也许比直接拿别人的东西来用要靠谱,毕竟高P不会分工资给你的兄弟。原则就是对产品负责,对人负责,两句话很简单,作技术老大的自己把控和判断。(做不到只能说明你还处于被技术玩的阶段)
三、怎么看待开源?
当年写了一个 Memcached 的客户端,阿里软件一直在用,就一直维护和更新,到了淘宝用 Tair 了,那个就废弃不更新了。有时候对于国内的公司的开源,我更倾向于叫做“晒代码”,只有自己参与,一旦自己不用就 Over 了。授之以鱼不如授之以渔,多把设计细节和代码片段分析说明作详细了就好了,至于开源,对于一般的业务或平台团队投入成本太大了(一来自己都保证不了几时内部都不用了,二来开源和晒代码最大的差别就是易用性和文档及长期更新),专职做基础设施的团队可以(操作系统,数据库,存储等)。TOP 技术分享月结束以后会把几个核心系统的设计和细节优化代码说明晒出来。
四、怎么看待晋升?
对晋升的人来说:
1. 有时候不多想反而就成了。(因为你脑子只有一个,想多了这个,该想的就没想了)2.挫折未必是坏事。(我唯一一次被一棒子打回来的时候,头晕目眩,现场什么都好,结果就不给理由的说 no,但最后老大一句话点醒:如果不能承受这样的结果,你的心胸就还不够那个 level)
对 Leader 来说:
1. 给兄弟们创造更好的环境,你不是管人来的,你是来“创收”的,管人谁都会,“创收”才是真本事。2.让兄弟放心的去做事,自己做好各种准备来帮助到他们。(了解晋升真实的考核目标和需求)
一句话:人都要养家糊口,都要付出得到肯定,以心相待。
五、怎么看待带人?
我告诉自己最多就只能带 20 个人左右(现在就这个极限了),一个团队必然工作有差异之分,但是让每个人都能够满意和满足就需要让所有人认同这个团队要做的事情,以及每一步的结果都是团队的结果,这个时候个人觉得靠“管”其实不太靠谱,更多的是靠“感染”。“感染”能力随着精力分散到技术和业务中一定是有限的,当然梯队化的感染需要每个梯队环节都能够做到位,那么就牛叉了。
一句话:先让自己相信,别人才会相信,每个人都相信了,人就不是“管”出来的。(理想很美好,现实很骨干,有时候自己就说服不了自己)
六、怎么看待技术兼顾业务?
我第一个小软件也是修改了 flash 文件将操作光驱的代码植入,然后调研了各种业务场景,最后成功的传播出去并操纵了一把,那时我就默默的感到传播才是关键。今天也是如此,我和每个程序员包括我老板一样担心我自己分心到业务上是否会废了自己的“武功”,其实取决于:1.你到底 code 了多少代码?(你会因为一个月用叉子吃饭忘记怎么用筷子么)2.你到底是喜欢写代码做技术,还是为了生活所迫?(后者无论你写多少代码还是一个没内功的人)3.写了 10 年代码以后你留下的只有那些代码和技术入门文档,还是有更多的设计理解。(你用了 hadoop 除了会配置,会修改部分性能代码,对他适用场景的理解,整个流程的瓶颈点设计,所有分布式都纠结的问题是否有感知)这么多年了,为什么只有那些 paper 不断的给人启示去做更多的工程化内容,因为用筷子吃面和叉子吃面没那么大的区别。(关键是吃的人怎么理解面难吃的原因)
所以,前面1,2,3都是你在码农时候做到了,那对业务的理解只会让你如虎添翼(重要的是更多去学习和倾听,放空自己的程序员经历,做个用户)
七、怎么缓解项目总监和开发的矛盾?
开发角色:
1. 开发要把项目总监的客户作为客户,而不是把项目总监作为客户,就和走棋一样,你会比他更能主动的把控下一招的变化,不会纠结于项目总监不断的变化。2.量化!如果产品无法量化结果,无非就是需求不明确,所以追问。
项目总监角色:
1. 数字是基础但不是全部。2.多一点兴趣爱好,多一点思考。blog 当年如果没有浏览量这个数字会怎么样?微博为啥要搞个双向关注才可以评论的设置?音乐播放器如何在用户不点击 like 反向收到用户喜好行为?
八、怎么看待平台产品?
先要活下来,服务好一个产品线,如果没有任何其他产品线过来,那么就不要在乎平台的称呼,留好口子就可以了。当有多个产品接入,同样要活下来,因为脱离单一业务线为了更好的平衡个体需求和平台发展,但重要的是要找到自己有群聚价值(也就是只有集成在一个平台上,多个业务得到的平台功能才会最大化),这样就业务方就不会独自建立平台来快速响应需求。最后如果业务非常繁荣,那么更多的考虑为业务方挖掘业务价值,而不要聚焦于平台,帮助别人就是帮助自己。(这是平台永远都正确的说法)
九、如何学习技术?
不用急着什么都学,珍惜每一次不同工作的机会,挖深做细,几年以后回过头来原来自己积攒了那么多!xml 解析分成几种模式,各种解析的优劣?http 1.1 协议中的 Header 中的缓存设置,返回头里面的 trunked 什么用途?分布式计算关键问题是什么(调度,协同,数据交互)?应用压力测试瓶颈如何评定,导致瓶颈的代码所属操作可能分成哪几类? …… 要留下更多疑问背后的答案,而不仅仅是那一点代码,那一些入门文档。
码农活下来很容易,活的好不容易,好像各行各业都是这样,所以码农和其他行业的人一样,技能仅仅是一方面,更重要的是人的素质和能力,你要活的被动,那么生活就会赶着你走,你要活的主动,那么你就可以走走看看。
结语:今天上午爬山回家,公交车上看到一对夫妻都是盲人,心里一阵感慨,如果自己看不到,还有活着的勇气么,因为我们今天那么脆弱的抱怨很多事情,当你看不见的时候那是怎么能够抗得住的打击。
原文:http://news.cnblogs.com/n/160411/
另外有篇文章也可以读读:http://www.cnblogs.com/watsonyin/archive/2012/10/22/2734741.html