admin管理员组文章数量:1531793
2024年3月30日发(作者:)
【“金山”程序员团队的四大修为】金山打字通手机
版2018
这是一部讲述金山企业史的书籍。作为中国最大的通用软件
企业,金山历经坎坷,走过了风风雨雨20年。这是怎样的一个
团队呢?我们从程序员的素质要求一窥金山团队。本文选自该书。
“技术立业”最终依靠的是优秀的技术人员。经过19年的沉
淀和积累,金山目前程序员已经超过1000名,其中包含大量对
技术执着甚至是狂热的编程高手。
金山具有浓郁程序员文化,求伯君和雷军都是程序高手出身。
因此,对于程序员的要求会更高。金山是如何定义并打造这些优
秀程序员的呢?
在求伯君看来,优秀的程序员至少要具有以下品性:第一,
要能吃苦。写程序是一个很辛苦的活,熬夜,加班,吃方便面是
经常的事情;另一种苦是,以前盗版严重,在中国做程序员工资
不会很高,“没法高,高了养不起。”第二,要有天赋。“在中国,
有天赋的程序员很多。”第三,是信念。“失败时要能坚持。像我
就写了很多失败的软件。”第四,要爱这一行。“不给钱都愿意写。”
第五,是团结。“现在程序都很庞大,以光盘为单位。没有合作精
神,一个人做不出什么好软件。我们当时单枪匹马可以成英雄,
现在已经不行了。”第六,要逢上机遇。“我是赶上了电脑刚进入
中国,一切都是空白的机会。”
修为一:坚韧不拔
写程序往往是一个漫长的过程,没有任劳任怨、吃苦耐劳和
不甘寂寞的精神,在日复一日写代码的过程中,很容易中途放弃。
金山的程序员被要求的第一个修为就是个性执着、坚韧不拔。那
些最优秀的程序英雄们都已经用他们的切身经历说明了这一点。
从2003年夏到2004年底,开发网游《封神榜》的烈火工作
室一直处于紧张研发的阶段。原词霸事业部的程序高手、现任烈
火工作室总经理的刘鹏说:“烈火17人两个春节都没有休息,五
一、十一、周六、周日全都在拼,历经13个月。最终公开测试
时,烈火也才达到32人,完全是一帮没有游戏制作经验、只有
梦想和激情的人组建的团队。那时候大家只有三种工作状态:坐
在办公桌前,坐在会议桌前,躺在办公桌下”。刘鹏还透露了一个
“秘密”,就是当初没有招聘一个女孩,在后半夜闷热的办公区大
家都是光膀子度过的。
对技术的狂热追求的同时,往往也伴随着最艰苦卓绝的开发
过程。“很多人把写程序看成是一种生活技能,而不是真心喜欢。
这种后果会导致很难坚持。一些开发人员在面临选择的时候常常
会选择眼前利益以及轻松的工作。但总体上来看,做一个程序员
能吃苦是必要条件之一。”雷军说。
修为二:知识全面
计算机技术日新月异,优秀的软件企业不是在和同行赛跑,
而是在和时间赛跑。微软在全世界已经设立了一大批的研究院钻
研那些未来可能会引领潮流的新技术;GOOGLE允许员工每周花
20%的时间抛开手头工作,从事自己感兴趣的技术研究。
对于程序员而言,在具备坚韧不拔的精神之外,技术全面、
涉猎广泛也是必须具备的修为之一。特别是金山业务线偏多,既
有办公、杀毒、词典等通用软件,又有网游的娱乐软件,还有爱
词霸社区等网站产品,各产品对技术的要求跨度很大。2003年,
为了集中优势兵力打《剑侠情缘网络版》这场歼灭战,雷军抽调
了其它部门8个技术总监中的5个加入到珠海网游研发队伍。他
们虽然做的是普通程序员的代码撰写工作,每个人都能迅速上手
投入到工作当中。最终,《剑网》一举成名。
对于金山的普通程序员而言,哪些技能是必备的呢?雷军在
接受《程序员》杂志采访时说:
“从技术人员的角度来看,我觉得最重要的是数据结构,它最
能体现开发人员的基本素质。
首先是标识名的命名习惯。标识名命名习惯决定程序后期的
可维护性。现在我们看到很多参加奥林匹克竞赛的程序员,常常
能非常快速的写程序,但是做出来的软件很难维护,这就无法应
用到实践的工程和项目当中。
第二是数据结构的定义和常量的定义,这两者对于开发人员
来说是良好的编程习惯。数据结构的定义很大程度上决定了程序
的可维护性和可扩展性。
接下来第三点是算法的说明、描述及测试子程序。
第四点,我们在强调BugFree,也就是调试能力以及编写无
错代码的能力,一定要常常不忘做边界条件判断。
高级一点的开发人员,要注重第五点,程序框架设计的合理
性。
第六点是程序的运行效率,这对于一个开发人员来说,已经
到达一定高度了。更高的境界则是在开发程序的时候,还需要具
备产品规划的能力,换句话说,良好的编程习惯能帮助你走向成
功。”
修为三:完美主义
“优秀的程序员,其实并不在于技能的熟练掌握,而是需要有
良好的素质,有追求完美的精神。真正的好程序员不是为了完成
任务,也不是为了交付产品而工作。他们想要发挥自己的极限,
尽自己的最大努力把程序做得更好。”雷军说。
“热爱编程、个性执着、追求完美”是金山对程序员的要求。
完美主义并非要求“十全十美”,而是在现有的基础上实现“更好”。
在雷军看来,优秀的程序员都应该是完美主义者。
在金山,从求伯君、雷军等曾经是程序高手的管理者,到董
波、陈飞舟、赖立高、吴越等等,在他们的程序生涯中,都是眼
睛里容不得丑陋代码的完美主义。此外还有许多程序员,也许平
时不修边幅,可以整个冬天都穿同一件夹克,但他们的程序却整
洁得让人嫉妒。
不放过任何瑕疵,有任何问题都要修改。陈飞舟曾经有一段
时间,在珠海金山的楼里面三个月没有出来过,便是为了让金山
毒霸的蓝芯引擎更加完美;金山毒霸的刘海峰,曾经无数次修改
程序乃至一个月没有回家睡过觉,直至被称为铁人。正是这些对
程序品质的无止境追求才使得金山历史上不断涌现出深受用户
欢迎的软件和游戏产品。
任何事情其实都有一个度,完美一样有度。所以,追求完美,
是指不断提升拿捏完美的“度”,不断提升程序质量的“度”,是在
追求一种不同的境界。
修为四:团队协作
随着技术发展越来越快,程序越来越庞大。单枪匹马、拿着
10万行代码闯天下的个人英雄的时代已经过去了,团队协作成
为程序开发的基本要求。单个的程序高手也许能够创造出奇迹,
但是不一定能为企业创造出好的业绩。如何让大面积的程序员都
成为高手,对以技术立业为核心战略的金山而言是至关重要的问
题。
并非每个程序员都有天赋异禀,因此通过培训、学习来提高
编程实战、团队协作能力是必不可少的环节。从2007年3月开
始实施的程序员“魔鬼训练营”计划就是一种非常独特的培训方
式;此外,新组建的金山实验室也已经开始探索软件开发的前沿
技术,研究成功将给全公司共享。关于程序员训练营和实验室,
前面已有详细描述,在此不再赘述。
在自己就曾经是程序员的求伯君看来,程序员团队的管理其
实并不容易:“第一,你要尊重人家,知识分子都有一种‘臭脾气’;
第二,要给程序员一个能够发挥的环境,不能卡得太死。写程序
和写文章一样,思路打开了,一天都用不了;没有灵感,一个月
也不一定能写出来。”
令求伯君和雷军骄傲的是:珠海金山的程序员队伍非常稳定,
在金山四五年以上的优秀程序员非常多。这不仅是金山倡导的程
序员文化、互相学习的文化有关,也与金山研发基地的地域选择
有关――这或许是诸多对金山研发队伍之所以稳定的分析报道
中最容易忽略的因素。
一个优秀的、具有团队协作精神的研发团队,既要有足够的
培训提升能力,又要有和谐舒适的工作氛围让人身心愉悦从而保
持队伍的稳定――金山的经验值得借鉴。
版权声明:本文标题:【“金山”程序员团队的四大修为】金山打字通手机版2018 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1711750972a325634.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论