还剩14页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
且蛋又生了鸡”的错综复杂的关系,从理论上讲当个县长也不成问题目前诸多女士不会烧菜,却能把菜的营养讲得头头是道虽然这是个值得哀叹的社会问题,但我们应当有信心期待假如她们非得每天烧菜不可,那么很快就能把菜烧得又好吃又有营养许多程序员不懂商业,不是智力上的原因,重要是个人爱好和环境所致软件企业的老板应当这样鼓励有灵气的员工“你能把技术做得那么棒,还怕搞不好管理?放心干吧!”确实,诸多技术人员是在工作中领悟怎样管理的,他们通过挫折与磨练,逐渐升为组长、项目经理,乃至成为企业重要的决策者优秀的程序员喜欢与优秀的程序员一起工作,这是一种理想的愿望一种一般的软件企业不也许有非常多的优秀程序员,即便有,他们也不也许每天聚在一起干同一件事并且和睦得无法形容中国自封建社会起就有喜好内斗的风俗习惯,几千年下来早已渗透到社会各个角落,那怕黄河水流断了,估计这民风也会延袭下去要使程序员队伍稳健,必须有合理的等级制度来维护等级制度并不限制自由和民主,它能让自认为聪颖绝顶、谁也不服的人们懂得怎样合作与奋斗就象有了一架梯子,每个人才有机会爬上墙头摘下那向往已久的野花当梯子散成一堆木棍时,只也许造就几种卖炭翁下面我们尝试着建立一种程序员队伍的等级制度把技术水平分为四级,第一级最低,第四级最高第一级技术水平的程序员重要考核编程基本功,规定质量合格(他们重要来自刚毕业的大学生)第二级技术水平的程序员编程质量要高,做过几种软件项目,有数年的工作经验,并能指导新手的工作第三级技术水平的程序员重要考核系统分析与系统设计的能力,规定其技术有足够的深度和广度第四级技术水平的程序员是成功的软件产品的设计师,他不仅技术超群,并且能使技术转化为有价值的商品把管理(这里仅指软件业务的管理,不考虑行政事务)水平也提成四级第零级最低,第三级最高第零级管理水平的人没有管理职务,就是一般员工第一级管理水平的人是开发小组的组长,可带领几名程序员工作第二级管理水平的人是项目经理第三级管理水平的人决定某些产品与否要开发,以及怎样去占领市场每个程序员均有明确的技术级别和管理级别技术级别与管理级别有一定的联络一般地,第一级技术水平的人只能做一般员工;第二级技术水平的人可以当一名组长;第三级技术水平的人可以当一名项目经理;第四级技术水平的人可成为企业产品的决策者如图
2.1所示本书作者目前的技术水平当属第二级,管理水平符合组长的规定作者在读中学和大课时就曾美滋滋地当过课代表,也就是组长级别技术级别管理级决策者项目经理开发组长一般员工图
2.1技术级别与管理级别
2.5向错误与失败学习不管是生活或工作,人们都应当向错误与失败学习,目的是让我们在短暂的健康年华中少出错误、少失败,多做几件对的的对社会有奉献的事导致软件项目失败的原因诸多,假如不去找借口的话,就会发现错误的本源在自己身上知识贫乏、才能低下、经验局限性、骄傲自负……我们必须正视自身的局限性与缺陷,才会学到经验教训可人们常有太多的虚荣,为了克服心理障碍,白白挥霍了诸多本该用于发明的精力假设出错误的人是诚实的并且是勤奋的他乐意不带虚荣地改善自己当这个人忽然面对失败时,也许觉得自己一无是处,也许会不知所措,也许会病急乱投医程序员均有一种共同的体会在调试程序时,时常碰到只有十几行的程序竟会产生上百个编译错误;最终发现这样多的错误其实是由某一行程序错误引起的当我们在工作中碰到挫折时,先要冷静地分析问题(事出有因哪),找出问题的内因与外因内因是最重要的,应当予以最先处理前几年,中国出现了一种叫“法轮功”的邪教,教徒达数百万之多,人民群众深受其害很快前,全国的重要媒体对“法轮功”进行持续数月的声讨与揭发目睹了诸多受害人的哭诉后,相信人们可以明白“法轮功”是邪恶的、反动的但在愤怒与心痛之余,我们不禁要反思为何那么多人轻信邪教?人们与否接受了教训?在电视上看到诸多人确实作了深刻的检讨“我真是懊悔啊,跟错了李洪志(法轮功的头头)这个坏蛋,我对不起社会……后来我一定要听党组织的话,党叫我干什么我就干什么,决不上坏人的当”我觉得这些受害人一点都没有醒悟他只懂得法轮功是个邪教,并不懂得自己为何信了邪教有些事情只要用脑袋去想一想就能辨别是非,可人们就是不去思索,却渴望能跟对“福星”,甘愿把自己的脑袋拴在他人的裤带上莫非这就是人民的纯朴与可爱吗?回忆一下历史,在“文革”时期,亿万人民跟着合法的党组织大干伤天害理的事,一干就是十数年哪!可见世界上哪个人哪个组织都不能保证绝对的英明因此说“迷信”是傻子碰到骗子的成果傻是内因,受骗是外因傻子碰到好人未必能做出好事,傻子碰到另一种骗子就会做出另一件傻事为了不让自己“傻善良的人们应当用脑子去多学某些知识,努力让自己来把握命运,不要急着把毕生托给某个人或某个组织软件人员在遭受项目失败并开始反省时,不要只是就事论事地仅把眼光锁在特定的项目上,吃一堑应当长好几种智才对本书作者刚刚失败过,乐意乘热讲讲感受我在读本科和硕士硕士时,一直信奉“发明性的事业要靠激情来推进”我把这个口号贴在办公室里,并扔掉物理学专业每天编程在读硕士硕士的第一年,我卖出了第一份软件到我读博士硕士的第一年,我心想事成地获得了全国大学生电脑大赛软件展示第一名那时候我自认为翅膀已经硬了,再回忆前些年的艰苦,不禁有“媳妇熬成婆”的悲壮感觉于是我在杭州这个小地方略作宣传,在1997年10月份开了一家软件企业我开始把“振兴民族软件产业”列入日程,并且提前担忧未来钱挣得太多用不完该怎么办六个月之后,我开始为软件产品作宣传,可并没有出现订单如潮、接应不暇的形势(实际上压根就没有反应)我已经意识到市场没找对,但仍觉得软件中的技术很有价值,准备再开创“东方不亮西方亮”的新局面于是我向只有一面之缘尚在北大方正工作的一位朋友求援他是真真的软件高手,当我小心翼翼地展示约10万行C++代码的软件时,他竟在十几分钟内就指出多处重大的设计错误,使我目瞪口呆地意识到整个软件系统的价值为零那种心痛啊,就象眼睁睁看着孩子被狼吃掉同样1998年10月,这位朋友再一次从北京飞到杭州,三下五除二替我把只活了一年的企业给关闭掉他放心不下,觉得我“恶病需用猛药补”,于是意尤未尽地把我捉到北大方正插在他管辖的部门,让我学习怎样做事情北京寒冷的冬天可以营造一种凄凉的气氛,冲去一切可以自我原谅的借口我并不是太爱虚荣的人,懂得这次失败是我的毛病积累到一定水准忍不住喷发出来的成果我绝不能以年龄尚轻不太懂市场与管理为理由轻率地敷衍过去我把自己察觉到的数十个毛病列出来,后来一种一种克服掉……本书的大部分内容取自我在一年前的教训录改错之后,目前我不仅不难过并且挺快乐觉得第一次失败很浪漫,值得怀念刚开始写这本书时,我那位北京的朋友把脚伸到杭州来散步,顺手又给了我几帖药,可以用到我毕业看来缺陷是改不完的,补短和扬长要一起来
2.6提高综合素责前面给软件开发人员加了过多的赞誉一种技术杰出的程序员可以自豪,但不可以目空一切上天不也许赋于一种人太多的长处,以致于他没有表达谦虚的余地我们在求课时也许太功利太挑剔,导致知识构造非常单薄,只怕到了晚年也成不了大器当程序员擅长技术时,还要时刻留心弥补自己并不擅长的非技术才能扬长补短才能提高综合素质假如能回到中课时代,我但愿能把文科学好那时侯盛传“学好数理化,走遍天下都不怕”我读中课时很无知,藐视一切文科,目前懊悔莫及高考语文成绩54分(只比我的期望值低6分)写作文的最高目的就是不逃题,考试前我总是反复祈祷我没干过坏事,保佑我作文不逃题吧!上大学的第一天我居然无法用一般话说出“去洗澡怎么走”,只好晃动澡票与辅导员打哑语中学的历史、地理课也被我糟踏了,考试时只会填写任课老师某年某月某日在我家乡英勇就义,比谁的成绩更靠近零分更让我沮丧的是,这些行径都不是我发明的,我顶多是个跟屁虫而已,一点回忆的自豪感都没有假如上述三个条件同步具有,就请放心失败好了让我们少幻想自己是比尔盖茨,先当好程序员和程序经理・再说
2.1了解程序员初期的程序员干活能从软件直通硬件,个个生猛无比又因他们的作息时间、言行举止与常人不太同样,久而久之就给人们留下了“神秘”、“孤僻”的印象如今软件行业被炒得热火朝天,有能耐的程序员即便躲在大山岳的军工厂里也能被挖出来而更多原本不是程序员的人操起几本“速成”、“二十一天通”等书籍也加入了这个行业目前国内号称有上百万程序员,这支大军鱼龙混杂,已搞不清那些是正规军,那些是民兵游击队了真正的程序员均有如下秉性
一、诚实程序员在学习与工作期间几乎每天与机器打交道,压根就没有受欺骗或欺骗人的机会勤奋的程序员在调试无穷多的程序Bug时,已经深深地接受了“诚实”的教育不诚实的人,他肯定不想做、也做不好程序员有一名市场营销员和一名程序员都在新闻公布会上发言,将一项新技术的消息公布于众市场营销员说“这项技术比电话、晶体管和原子弹三项发明加起来对世界文明的影响都要大”程序员说“这项技术在有限的领域内,在有限的程度上,处理了某些技术性的问题J看来为了让我们的民族愈加诚实,学电脑真的要从娃娃抓起
二、简朴——实用主义有人问一种数学家,一种物理学家和一名程序员“一种盒子有几种面?”数学家回答说“有六个面,由于盒子是长方体J物理学家回答说“有12个面,分为6个外表面和6个内表面程序员回答说“只有两个面,里面放电路板和硬盘,外面放显示屏和键盘”目前虽然最先进的计算机也不具有智能,程序员的基本工作就是把复杂的问题转化为计算机能处理的简朴的程序假如一种问题复杂到连程序员自己都不能理解,他就无法编出程序让更笨的计算机来处理因此程序员信奉“简朴一一实用”主义也有不少做计算机“学问”的人颠倒行事本来几句话、几行程序就能阐明白的事,非得要抬高到理论创新的程度,写成玄乎的文章去评专家或者弄个博士学位所幸在第一线工作的程序员大多是实干的
三、爱憎分明程序员大都喜欢技术挑战,不喜欢搞测试与维护高水平的程序员喜欢与高水平的程序员一起工作,由于他们怕“与臭棋佬下棋,棋越下越臭”程序员大都厌恶拉帮结派、耍政治手腕不信,数一数你认识的程序员,有几种是党派人士?
四、工作单调但不乏味有人问编程大师“程序设计的真正含义是什么?”大师回答说“饿了的时候就吃,困的时候就睡,只要时机恰当就进行程序设计”其实程序员的生活和工作已融为一体,尽管单调却不乏味,还能独享孤单有诗为证我编程三日两耳不闻人声只有硬盘在歌唱结论优秀的程序员没有理由不让人喜欢,他们远比怪僻来得可爱
2.2了解程序经理这里程序经理是指一支程序员队伍的领导者,不管他的职务是开发组长,项目经理,还是部门经理程序经理是技术性的基层或中层干部,是软件企业得以发展的生力军程序经理的选拔是不容草率的事不象有些事业单位,只要政治口号喊得勤快、能左右逢缘不出错误就可混个领导当当也不象某些官僚机构,只有两个人的办公室也要设正主任和副主任假如碰巧正主任姓傅,副主任姓郑,还会斗个没完没了在一种管理混乱的软件企业里,假如某个程序员能大喊大叫并且干劲十足,那他就能成为一名程序经理微软企业在选择经理人员时,总是把他们的技术知识和运用技术去盈利的能力放在首位程序经理一般就是程序员队伍中最聪颖的那个家伙比尔•盖茨曾这样描述聪颖人[Cusumanol996]聪颖人一定反应敏捷,善于接受新事物他能迅速进入一种新领域,给你一种头头是道的解释他提出的问题往往一针见血、击中要害他能及时掌握所学知识,并且博闻强记,他能把本来认为互不相干的领域联络在一起使问题得到处理他富有创新精神与合作精神……好的程序经理应当具有如下几种条件
一、技术水平是程序员队伍中的最高级别每个程序员骨子里头均有一股傲气,假如你不能技压群雄,他们就不会听你指挥一种技术水平较差的人被任命为程序经理真是个悲剧,就象一种略有权势的太监,表面上有人对他点头哈腰,背后却被人藐视
二、能做最多且最难的工作程序经理编程要快且好他人要干一天的活,他半天就能做完,这样才会有精力去搞管理程序经理应负责系统分析、系统设计此类最难的开发工作,并指导不一样水平的程序员把各自的工作做好假如人手不够,程序经理要能同步干几种人的活
三、有人格魅力软件开发是智力创作过程,你不能指望仅通过执行规章制度来产生好的作品诸多软件企业的程序经理都不是管理专业出身的,他们也不也许为了搞好管理而成天玩弄心机技术杰出的程序经理一般少有心术不正的,因此管理的重点应是“以身作则”、“公正待人”假如程序经理在上班时趴在桌上睡觉,其他程序员也会这样干假如程序经剪发既有两个程序员趴在机器旁睡觉,不能只对其中一种大声吼叫“你一编程就想睡觉,看看人家,在睡觉时都想着编程”假如管理者没有人格魅力,就没有人信服你,团体就不会有凝聚力,乌合之众不也许开发出优秀的软件结论一种有活力的软件企业的各级经理都不会这样感慨,“由于我啥也不会干,因此只好当领导」
2.3程序员升为经理后与否还要编程让我们先看看Microsoft企业的系统软件部门与应用软件部门的领导是怎样看待这个问题的[Cusumano1996]WindowsNT
3.0项目的软件经理娄帕雷罗里让他手下的经理们像他同・样每天花二分之一的时间编写代码我在组内制定了许多规则,其中最重要的一条是每个人都得编程,谁也别想坐在那儿发号施令……我发现管理者很轻易失去目的,他们总是无法认识到问题的本质并且反应缓慢假如你一直不放弃编写代码,你就能对项目的进展状况了如指掌,及时发现并处理问题……我大概每天花二分之一的时间编写代码并寻找项目的缺陷作为应用软件领域的经理,克里斯•彼得斯也持同样的见解在他任Word项目总经理时就认为在某些大企业内部,各部门经理把详细操作的层次向下移你一旦当上开发部门经理,很快就会以自己身居高位、日理万机为由放弃编程;同样地,开发小组的组长会以自己重任在肩而不愿编程;至于程序员也会觉得自己十分繁忙、分身无术而不再多编写程序虽然我是270名员工的领导,似乎不再需要做什么详细的工作了,但我还是为Word新版本编写了一种特性程序员升为经理后一定要编程,这个道理已经说得很清晰了最怕的是“虚心接受,坚决不做”;或者仅是做个样子,每天花一分钟时间编程,编译器还没运行完就关掉了
2.4经理与技术队伍的建设假如是经营一种加工厂或一种饭店,经理们可以不必懂技术由于他们的常识,以及通过耳闻目睹或者征询都能处理实践中的问题在软件领域,技术的力量是无穷的,一天之内就可使整个产业发生巨变也许你在商业上很精明,但无法保证自己在技术浪潮中安然无恙软件企业的各级经理最佳既精通技术又懂管理一种杰出的领导,加上一支技术过硬的队伍,才有也许发明业绩不能光指望请来孙子或诸葛亮当教练,就能让弱不禁风的男足去捧世界杯不少人总喜欢自吹中国人很聪颖,最适合搞软件开发可至今也没有做出几种很光彩的软件来,这与十三亿人口不呼应啊新中国历来喜欢与可怜的印度相比较来展现丰富多彩的优越性,可是软件产业没法与人家比工作在第一线的程序员与程序经理应当意识到好兵好将都不是天生的,是后天练出来的;既要学会冷静地分析问题,又要充斥激情地去工作软件企业总但愿能物色到既精通技术又善长商业的优秀人才做经理但已经出名了的优秀人才难以请到,也难以留住因此把企业中的一般员工培养成为优秀人才是重要的举措企业的老板不要对程序员抱有偏见,认为他们只配与机器打交道一种高水平的程序员既然能学好数字逻辑,能理得清晰软件中诸多象“嵌套”此类“鸡生蛋并。
个人认证
优秀文档
获得点赞 0