您的位置:首页 > 编程语言

我的编程之路(二)

2008-03-18 21:01 190 查看
2001年,这一年我开始转向PC的软件开发,也从一个大公司转到一个小公司进行软件开发。记得那个小公司,我刚到时还没有成立,我是第一个员工,算起经理才三个人,公司的办公地方就是一套三房一厅的地方。在这样的小公司里,经理是主管销售和策划,我是负责设计和开发产品,既当软件开发工程师,又当软件测试人员,还当软件培训人员。为了适应多种角色,我开始每天晚上都看书,以便学习到多种技能。也是在那时,我开始每个月买一到两本书,并且都是晚上把书看完,白天起来就是写代码。这段时间里,编程技术提高了不少,比如COM,C++模板,STL的使用,也开始慢慢使用了。还接触到当时最时髦的XML技术,进行DOM分析和事件型分析技术。由于当时主要开发网络通讯工具,所以网络的研究比较深入。从TCP到UDP都得非常熟悉,使用到的P2P技术也需要最先进的,比如突破局部网的防火墙技术,就有好几种。文字通讯、语音通讯、视频通讯一样不少,为了快速地实现语音通讯,还得研究ADPCM编码,RTP协议。在这一年里,要学习的技术也太多了,全部精力都在学习和工作之上。

2002年到2004年,在这三年里又从一个小公司转到大公司去开发软件。在那个公司里,主要开发银行的信用卡软件。对于银行的软件,需要的稳定性和质量都是非常高的。在这个公司里,软件开发人员应算不少了,C++开发人员有7个人,测试人员有3个人,系统分析员有3个人,数据库设计有2个人,Web开发人员有5个人,项目经理有5个人。面对这25个人的软件开发团队,使用一个种全新的软件开发方法。整个软件开发的过程都是以项目制进行的,也就是说项目经理对业务非常了解,经过三个月左右时间来写出一份详细的功能说明书,然后再把整个功能分成若干模块。模块的功能定义非常清晰,把这些模块功能说明书下发到相关软件开发人员手上,让软件开发人员有三天左右的时间来设计整个模块。比如写一个C++的模块时,软件开发人员需要把整个C++模块画出框架流程图,并且把界面布局描述清楚,还要所有软件开发人员在项目经理面前把自己设计计划和时间在会议室的白板上写出来,让所有参加会议的人全部看得懂为止。这样下来,就会把编写代码计划全部定出来,决定所有预估的时间。根据所有工作人员的计划生成甘特图,把进度图发送给所有相关的开发人员。虽然测试人员只有3个人,但他们全部跟踪整个开发过程,比如让他们写测试程序,写构造测试数据的程序,还有巨大量数据测试的准备,异常数据测试的准备工作等等。测试人员可以把界面上每个功能都测试得很仔细,还需要把业务流程也进行测试,测试出来的BUG实在也是太多了,每一次改进都会稳定很多。在这几年里,学习项目管理与测试的重要性。

2005年春天到了一个相当大的软件公司工作,在这个公司里,总共有300人左右,刚刚C和C++开发人员就有50人。这么多开发人员,也是分成几个小组的,每组10个人,比如像网络服务器组,客户端组,IM客户端组,数据库服务器组,基础组件组。大公司一般都把工作分得相当细,比如像VSS版本管理就有一个人专门管理,并且只有这个人才可以发布软件的版本和安装程序的制作。当然这个人还需要管理所有开发的文档,并且维护文档的完整性以及源程序的安全性工作,像每个星期就备份一次源程序和文档。开发人员比较多,因此交流的成本也比较高,还好在这个公司里可以使用一切先进的IM工具,比如像QQ,MSN等进行人员交流和通讯。像一个10人的工作组里,开会经常是在QQ或者MSN上就解决,这样节省了大量时间,比如去订会议室还需要等安排,在QQ上所有会议记录都会备案到历史会议记录里。使用QQ可以让所有公司员工之间进行平等交流,无论是项目经理,还是老板都随时交流,提出所有建议,一经采纳都是有奖的。对于一个有100多人的大办公室,居然一天里听不到几个人在说话的,全是听到键盘的声音。如果不使用QQ这样的即时工具,每个人都起来说一句话,就像一条街道了,这样对于深入思考工作的人员来说都是一种极坏的工作环境,打断深入工作的意境。这也就是说为什么编程人员在夜深人静时可以快速地写出代码来。对于软件开发公司来说,保持安静环境是非常重要的。从这个公司里学习到大公司小组化的软件开发,使用即时通讯工具提高工作效率,减少交流成本,增加软件开发人员的技术交流,对于整个团队的技术提高非常快速的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: