﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-读万卷书不如行千里路，经验的积累又不是一蹴而就的，不但需要知识的沉积，还需要长久经验的总结升华-文章分类-休闲吧</title><link>http://www.blogjava.net/liujw/category/9645.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 08:21:09 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 08:21:09 GMT</pubDate><ttl>60</ttl><item><title>百度技术副总裁畅谈工程师成长</title><link>http://www.blogjava.net/liujw/articles/39785.html</link><dc:creator>刘军伟</dc:creator><author>刘军伟</author><pubDate>Fri, 07 Apr 2006 04:27:00 GMT</pubDate><guid>http://www.blogjava.net/liujw/articles/39785.html</guid><wfw:comment>http://www.blogjava.net/liujw/comments/39785.html</wfw:comment><comments>http://www.blogjava.net/liujw/articles/39785.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liujw/comments/commentRss/39785.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liujw/services/trackbacks/39785.html</trackback:ping><description><![CDATA[原文：<a href="http://news.csdn.net/news/newstopic/21/21283.shtml">http://news.csdn.net/news/newstopic/21/21283.shtml</a><br /><br />刘建国：百度公司副总裁，副教授。1988年毕业于西安交通大学计算机科学工程系软件专业，1991年毕业于北京大学计算机科学技术系，获计算机网络方向硕士学位。1997年起，担任北京大学计算机系计算机网络和分布式系统研究室副主任，1999年被评为副教授。2000年1月加盟百度，现任百度公司技术副总裁，负责公司与技术和工程有关的规划、研究和管理。<br /><br />从北大计算机系的教授到现在百度公司的技术副总裁，从最初带领六七个奠基工程师到现在管理一百多人的工程师队伍，这个过程和转变让我在管理、技术、做人、做事等等方面获益良多。尤其是在如何管理工程师团队方面，积累了许多宝贵的经验，希望在此与大家分享。<br /><br /><br />世界上存在很多管理理念和理论，但工程师的管理还是具有一定的特殊性。软件工程师是个非常特殊的群体。他们的特点很鲜明，比如聪明、科学严谨、不事张扬、自尊心极强、非常内秀。工程师善于和机器打交道，但不太擅长和人打交道，沟通技巧稍显欠缺，甚至有时看起来棱角过于分明。<br /><br /><br />因此，所有的技术管理方法必须和工程师的特点契合，否则注定是要失败的。百度公司刚创始的时候，我可以和工程师直接沟通，不存在什么问题。但随着技术团队规模的增加，就需要制定一些政策和流程，而且要根据工程师的特点来制定。工程师喜欢公平、公正、公开，最痛恨暗箱操作，所以要把很多事情事先约定清楚。比如绩效怎样评估，奖金怎么计算，职称标准是什么，奖励惩罚怎样进行。在制定过程中大家可以对这些规则挑战，但一旦确定下来，所有人都必须遵守。我们的政策是非常透明的，工程师做的怎么样，按照事先制定的规则一条条地对照，奖金和绩效评估都按照标准做，大家没有什么话说。<br /><br /><br />百度的工程师都抱着一个信条：“技术能够改变世界”，认为通过自己的技术影响大众生活是一件很自豪的事情，这是一个很重要的信仰。在一个以技术为导向的公司中，如果没有这种很高的信仰，就很难有发自内心的工作热情和提高技术水平的动力。在百度，当工程师想到自己所从事的工作是在改变一亿网民的生活时，内心便有一种莫名的激动和强烈的责任感，激励自己把每件工作做好。我本人也有这种强烈的感觉。2001年百度对外提供搜索引擎服务后，每天都有用户发来大量正面反馈，感谢百度如何帮他们找到了工作、学习、生活中需要的资料，如何丰富了他们的业余生活，有的网民甚至写诗赞美百度。去年我去厦门参加全国数据库学术会议时，在会上做了一个关于中文搜索引擎技术的主题演讲，许多参会的老师和学生很感兴趣，反映很热烈，这些都让我非常有成就感。<br /><br /><br />我一直持有一个信念，工程师应该是自我管理型的。好的工程师一般都有强烈的责任心，他们能够自我激励。作为管理者，应该充分相信他们，相信他们可以自己管理好自己的工作，不应该设置一大堆条条框框。例如对工程师应该实行弹性工作制，不要规定必须几点钟上班，几点钟下班。非要让一个夜猫子早上9点钟上班，晚上5点钟下班，一点意义都没有，因为他上班的时候效率会很低。对工程师来讲，你越是信任他们，他们就越自觉，越不会乱来。当然这种管理要有相应的配套措施，例如绩效评估要以结果导向，不管在什么时间工作，以什么方式工作，只要按照原来的承诺保质、保量、及时地完成了任务就可以。<br /><br /><br />工程师需要给予培训和成长的机会。虽然外来的培训和讲座很重要，但更多的时候还是要自我培训，因为从实践中学到的知识才更加深刻。我们常常会遇到这样的情况：培训的时候，觉得讲师讲的特别有道理，但回去之后就忘了，下一次听到时，又觉得很有道理，但往往没有从培训中真正学到东西。在百度我们强调自我培训。我们会给工程师压很重的担子，他们经过努力完成后，经过提炼、总结，水平会得到很大的提高，这样学到的东西会永生不忘。<br /><br /><br />要给工程师提供自我培训的机会，就要求管理者能够鼓励尝试、容忍失败，但我们要求同样的错误不能犯第二次。如何实现呢？百度建立了一套案例分析制度。出了问题我们就必须坐下来分析原因，是管理问题、流程问题、人员问题还是技术问题，探讨以后如何改进才能避免问题再次发生，并且立即采取行动。经验和经历的差别就在于总结与否。很多人只有经历没有经验，永远都成长不了。<br /><br /><br />总结的过程就是自我培训的过程，就是实现螺旋式上升的过程。例如，一个新系统上线出现了一些问题，所有与这个上线有关的人就要分析出现问题的原因：研发本身有什么质量问题，研发过程为什么没有发现，测试中为什么没有发现，上线后有没有可能更快发现，流程有没有问题，工程师有没有问题等等，把问题分析的越透彻，越能够找出解决问题之道。这是百度一个非常重要的技术文化。<br /><br /><br />对工程师来讲，科学面前人人平等。在百度，不管是普通的程序员，高级程序员，还是经理，技术总监，甚至是副总裁、总裁大家在讨论问题的时候都是平等的，没有任何等级的区别，一切以事实、数据、逻辑为准。工程技术有自己的客观规律，只有尊重这个规律，工程师才能够无所顾忌和畅所欲言，大家的积极性和创造性才能够发挥。在争论一个问题的时候，我并没有觉得我是一个副总裁，工程师也没有觉得他是一个员工，大家可以就问题争论到面红耳赤而没有任何不悦的感觉。<br /><br /><br />职业规划也是非常重要的一环，目的是希望大家把技术做得更深、更精。在制定职业阶梯的过程中，会遇到非常多的实际问题。比如，既然要把技术分成不同的级别，就需要定义很多评价标准。一个软件工程师和一个高级软件工程师如何区别？我们的经验是按照工作的规模和难度，比如其负责的是单纯的编码还是包含设计，编码的规模是很小的系统还是比较大的系统。测试工程师也是如此，做的是测试案例的设计还是执行，测试用例是针对什么系统规模的。按照这种思想，我们把规模分成了子模块、模块、子系统、系统等级别，不同的工程师职称对应不同的级别。<br /><br /><br />当然，有些评价标准很难完全精确、完全客观。比如，我们会经常面对很多世界性的技术难题，需要很多技术攻关，而不是单纯的产品实现。这个难度就很难用一套标准评价。但即便如此，我们仍然需要这样一个框架，因为它比没有任何依据要强得多。<br />最初的职业规范制定，我们用了大概半年的时间，以后经过三年的逐步完善，最终覆盖了所有工程师角色，形成了一个比较完整、统一的评价体系。现在我们的技术阶梯已经有开发、研究、测试、配置、质量保证、系统运行、技术支持、文档等九大系列、五十七个职称。这个职称体系，对百度工程师的职业生涯规划，对百度的技术管理具有非常重要的作用。我觉得这个体系尤其对百度这样的技术公司，具有非常重大的意义。我们的职称是和待遇挂钩的，最高技术职称的工程师薪水可能比技术副总裁的薪水还高。在百度，工程师根本不用顾及国内甚嚣尘上的说法：“中国程序员做到30岁就是天花板了，就必须转管理了”，只要对技术感兴趣，并且有能力钻研，他就可以在百度做技术做到退休。现在，百度这套制度实行了三年多，工程师非常满意。<br /><br /><br />对工程师未来职业发展如何选择，我也有一些建议和体会。首先，工程师一定要根据自己的兴趣和特长来选择。很多人不一定对管理感兴趣。我认为，管理类职位其实很像一个后勤部长，是要给大家创造一种更好的工作环境，他（她）要给大家买饼干饮料，安排体育活动，协调各种关系，和各种性格的人打交道，这些都是很烦杂的事情。工程师需要问问自己，你是不是善于和人沟通，是不是愿意去做这些琐碎的事情。<br /><br /><br />对公司的技术管理者来说，还要善于发现一个人适合做管理还是技术，是否具有某方面发展的潜质，然后要主动的培养他。百度技术部先后为公司培养了五个总监。每个人都有不同的特点。比如我曾经让我们一个技术总监管过系统运行组，但后来发现他很不适合，因为系统运行需要很多系统和网络方面的知识，需要做很多预先的安排和监控工作，计划性不强，随时都要准备处理异常情况。这实际上和他的知识结构、性格特征不吻合，他当时做的也不开心。后来我让他改做开发管理，他就做的很好。管理者一定要知人善任，把正确的人放到合适的位置上，才能发挥他们的聪明才智，而且出现问题就要及时进行调整。<br /><br /><br />对技术管理者来说，要善于管理比自己更聪明、更优秀的人。百度有很多优秀工程师，他们在不同的技术领域有很深的造诣，只有把这些工程师的积极性调动起来，百度才能够研发出伟大的产品，创造出世界一流的技术，提供用户喜爱的服务。作为管理者，要转变思想，勇于探索，有意识地创造一种环境让工程师更愉快地工作和成长，只有这样，团队才有活力，才有战斗力。<br /><br /><img src ="http://www.blogjava.net/liujw/aggbug/39785.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liujw/" target="_blank">刘军伟</a> 2006-04-07 12:27 <a href="http://www.blogjava.net/liujw/articles/39785.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员的10种级别</title><link>http://www.blogjava.net/liujw/articles/39784.html</link><dc:creator>刘军伟</dc:creator><author>刘军伟</author><pubDate>Fri, 07 Apr 2006 04:25:00 GMT</pubDate><guid>http://www.blogjava.net/liujw/articles/39784.html</guid><wfw:comment>http://www.blogjava.net/liujw/comments/39784.html</wfw:comment><comments>http://www.blogjava.net/liujw/articles/39784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liujw/comments/commentRss/39784.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liujw/services/trackbacks/39784.html</trackback:ping><description><![CDATA[
		<font face="Arial">程序员的10种级别 <br />  <br />第一级：神人，天资过人而又是技术狂热者同时还拥有过人的商业头脑，高瞻远瞩，技术过人，大器也。如丁磊，求伯君。 <br /><br />第二级：高人，有天赋，技术过人但没有过人的商业头脑，通常此类人不是顶尖黑客就是技术总监之流。 <br /><br />第三级：牛人，技术精湛，熟悉行业知识，敢于创新，有自己的公司和软件产品。 <br /><br />第四级：工头，技术精湛，有领导团队的能力，此类人大公司项目经理居多。 <br /><br />第五级：技术工人，技术精湛，熟悉行业知识但领导能力欠加，此类人大多为系分人员或资深程序员，基本上桀骜不逊，自视清高，不愿于一般技术人员为伍，在论坛上基本以高手面目出现。 <br /><br />第六级：熟练工人，技术有广度无深度，喜欢钻研但浅尝辄止。此类人大多为老程序员，其中一部分喜欢利用工具去查找网上有漏洞的服务器，干点坏事以获取成绩感。如果心情好，在论坛上他们会回答菜鸟的大部分问题。此级别为软件业苦力的重要组成部分。 <br /><br />第七级：工人，某些技术较熟练但缺乏深度和广度，此类人大多为程序员级别，经常在论坛上提问偶尔也回答菜鸟的问题。为软件产业苦力的主要组成部分。 <br /><br />第八级：菜鸟，入门时间不长，在论坛上会反复提问很初级的问题，有一种唐僧的精神。虽然招人烦但基本很可爱。只要认真钻研，一两年后就能升级到上一层。 <br /><br />第九级：大忽悠，利用中国教育的弊病，顶着一顶高学历的帽子，在小公司里混个软件部经理，设计不行，代码不行，只会胡乱支配下属，拍领导马屁，在领导面前胡吹海侃，把自己打扮成技术高手的模样。把勾心斗角的办公室文化引入技术部门，实在龌龊！ <br /><br />第十级：驴或傻X，会写SELECT语句就说自己精通ORALCE，连寄存器有几种都不知道就说自己懂汇编，建议全部送到日本当IT产业工人，挣了日本人的钱还严重打击日本的软件业！ <br /><br />其中又以前两级和后两级最为难得，其余级别只要努力，皆有可能达到。 </font>
		<br />
<img src ="http://www.blogjava.net/liujw/aggbug/39784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liujw/" target="_blank">刘军伟</a> 2006-04-07 12:25 <a href="http://www.blogjava.net/liujw/articles/39784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>