过去的一年,出差较多。由紧张到坦然,由焦虑到安逸,几个月的时间算是勉强的坚持下来了。到有些心得,胡乱记记。
1、现场模拟环境的搭建,工程人员必须要提前做好准备。
凡事预则立,不预则废。异常是像我这样的一开始就缺乏实际经验的工程人员,最好能在出发前能在自我的机器上头对现场的环境做一个模拟的搭建。这个搭建过程,不是说跟现场环境搭建的一模一样,也不是说必须将环境完好的搭建下来,由于自我机器配置有限,这样也是不可能的(如果公司有条件能够供给服务器进行搭建最好)。我们需要做的是在这个过程中对一些知识点进行提前的熟悉,例如系统的安装配置,数据库的安装配置,tomcat的应用,集群的部署等。在这个过程中,我们要尽量的找到自我薄弱的地方,然后找到相关资料学习加固。
2、出差前,准备好相关工具,系统安装介质,各种测试工具等。
对于工程人员,要尽可能多的了解各种工具的使用,如snmp工具,corba测试工具等。这个需要在平时积累。对于外省的项目,工程人员在出发前,要准备好需要使用的工具安装介质。对于系统安装盘,数据库安装盘,若用户已购买正版软件,这些东西用户应当具备。但我国很多企业没有正版意识,所以我们在出差前各种安装光盘务必要带齐。即使没有光盘,镜像文件也必须要具备。例如,例如在苏州出差过程中,计划系统用rhel5.5,但服务器厂家说dellR720的磁阵不能识别rhel5.5,需要用rhel5.8以上。幸好我的机器上头具备大部分rhel版本系统,临时刻录解决问题。
另外,最好是多带几台笔记本电脑。方便公司研发同事远程连接过来。
3、工程人员必须要善于记录实施过程中遇到的问题,最好有个做笔记的工具。
这是我工作以来养成的一个好习惯。找一个好的做笔记工具,平时的一些学习笔记,工作事项,进行分类记录。很多技术的东西,做了一遍后,一段时间后就会生疏。平时多记录,在工作的时候,能够提高效率,异常是在没有外网的情景下。人生就是慢慢积累沉淀的过程,各方各面,别靠记忆力,靠一个好的做笔记工具,呵呵。当然,做笔记也要讲求方法,这一点是我要加强。
4、对于不熟悉的技能知识,在必须时间还不能解决的话,必须要及时的与人沟通,寻求解决方法,先做好工作,再探究技术问题。
对于工程实施维护人员,需要尽可能的扩宽知识面,尽可能掌握多的技术本事。在IT行业,那多于牛毛的技术,对于初出者来说,常常是增加了广度,却缺乏了深度。所以,我们在工程实施过程常常会遇到苦难或者模棱两可的问题。应对这种情景,首先要坚持一颗淡定的心态。不能钻牛角尖的耗在不熟悉的技术问题上头,最重要的先想办法解决问题,保证工程进度。解决的办法就是与懂得该技术的同事沟通,协助解决。另外,工程人员还要清楚什么问题找什么人。这一点可能需要项目经理提前协调好。
5、接口程序问题多。
接口程序版本的问题,我觉得是一个很大的问题。测试人员发过来的程序,常常运行报错,让研发同事看了后,发现是程序版本发错了。但有时候发过来的正确版本的程序,程序也无法正常运行。程序出了问题,若工程人员找研发人员修改、调试程序,程序修改正常后,其版本则又与公司版本不一致,若以后用到其他项目还会有同样的问题。若工程人员找测试人员反馈问题,再由测试人员反馈给研发人员,这个过程能够控制版本的一致性,可是解决问题周期较长。对于像苏州这样很急的项目,这样势必拖延工期。但从公司产品化进程角度讲,后一种方法比前一种好。要保证质量,需要时间保证。
对于已经连接过的接口程序或者连接很多的程序,工程人员要尽量做到高效完成。对于没有接过的程序,有问题要即使反馈给接口研发。对外省项目,如果有新开发的程序(如,苏广的机顶盒相关程序),最好是能派研发人员进行现场开发测试。
6、程序升级,功能验证问题
程序的升级,功能验证主要说的事界面升级的问题。由于是产品化的东西,所以常常在升级完后会有很多剩余的功能键,这些可能需要需求同事进行核查,然后给出清单让工程同时进行屏蔽。另外,任何升级都要先做好备份,保证升级失败能够回退。升级完成需要及时的进行功能验证,验证的过程要根据测试同事给的功能清单逐条验证。验证不经过的,及时邮件反馈给测试很研发同事。
7、数据核对问题
数据的正确性是直接关系到系统上线。采集上来的数据必须实时的与厂家网管系统坚持一致。要对数据进行核对,首先我们要保证自我的接口采集程序都正常无间断的运行了一段时间,并且程序无报错情景。若程序无故停掉,或者有明显报错,都可能导致数据不准确。这就要求,我们的守护程序都要配置完整,开机自启动要配置完善等。其次,在接口程序都正常情景下,选择一个时间段,核对这个时间段里面厂家系统数据库量是否与我们系统数据量是否一致。最终,不论核对是否有误差,均做记录。此外,对于核对有不一致情景,工程人员需要进行问题核查,或者将问题描述清楚发给研发同事。直到解决问题后,再重新进行核对。问题没有解决,没必要重复核对。事实上,苏州项目,目前的数据还存在很大问题。
8、与用户或厂家交流沟通。
交流与沟通,是不容忽视的。搞技术的人,往往以技术为大,而忽略说话的重要。事实上,有些事情,经过与用户交流就能够解决。例如,苏州出差中,有两个地区的拓扑图原计划是分开画,但连个拓扑有共用的网元,对于在一个拓扑中用到了的网元,是无法再用到另外一个拓扑中的。这个问题,如果要修改程序代码,则需要额外的时间。但多次找用户沟通后,用户同意,只要画的好看,可将两个拓扑图画在一齐。这个问题,就经过沟通解决了,免去了代码重开发的时间。
如何去与用户交流,我也不得全法。在这方面,我也常常缺乏经验,缺少底气。出差多了,各种各样的用户都碰见过。有的平易近人,有的也咄咄逼人。有时觉得,交流最终,并不是项目本身的问题,而成了谁强谁若的问题。事实上,我们在用户面前,总是弱势。所以,出差的人员,需要有强大的心理承受本事和一颗平和的心。
9、工程若不能按期完成,最好提前做好预计,加大公司人员的投入量或与用户协商。
出了几个月的差,最让人不爽的事就是工期延长和连续的加班到深夜。技术原因,用户原因,厂家原因,现场环境原因,都可能使计划赶不上变化。对于苏州项目来说,时间是十分紧的。为了能按时完成计划任务,常常加班到很晚,但即使这样也还是不能按要求的时间完成任务。既然时间已经固定,人员已经分配好,暂不谈论时间是否合理,人员本事是否足够,若工程预计不能按期完成,则需要加大公司人员突入量或者由管理者与用户协商沟通延迟工期。不能等到最终用户检查完成情景时候,再去向用户解释。如果这样,我们就一向处于一种被动状态。
10、工程人员要做好文档的编写。
文档的编写同样是一件很重要和有意义的事情。有系统部署文档,技术性文档等。文档记录了所有实施部署的工作情景,完成哪些东西,哪些还没完成,都应当在文档中表现出来。一、有利于自我对工程进度的一个把握,平时维护能够参照。二、文档交给用户,算是对用户的一种交代。对于这种省外项目,实施完成后,我们是不负责维护的,所以,维护文档和技术文档就要写的详细交给用户。三、工作交接,文档对系统环境的熟悉很重要。
文档要在实施过程中不断更新,这是我常常不能做到的。总是到最终采取修改文档,才发现很多都忘掉了。异常是写一些技术文档。其实,写文档的过程也是一种回忆的过程,这样能够加深印象。
11、对于用户提的新需求。
要明白,用户的需求总是无止境的。用户的要求总是很严格的。用户总要求我们能做的十分的好。但事实总是不如人意。用户在熟悉的过程中,总会提出一些新的需求。用户提的新需求也不是都是合理的,但现场的工程人员,对于用户提出的新需求,都要做好记录,不了解的地方需要与公司的需求分析师沟通。最好是能一位专门的需求分析师来统一收集用户提的新需求,不合理的由其及时向用户解释。
以前读大学的时候,没法好好的学习技术理论方面的知识,毕业时连什么是E-R图都不清楚,在毕业设计的答辩会上出尽了洋相。但软件工程的书籍还是泛读了一些。我记得,对于一个软件工程,我们应当花更多的时间放在需求和测试上头,开发的时间其实很少。异常是对于产品化的软件,需求和测试更需要做好。需求需要做到更细致,找到产品已有功能与用户需求功能的差异性,这个过程要尽可能细。测试也一样。一个大的软件公司,部门分的较多,一套软件往往时多个部门联合开发完成,有的负责界面,有的负责后台,有的负责数据模型,有的负责接口。就像生产不一样的零件,来组装一台机器。但这个衔接不是那么容易,出的问题会很多。所以,要想一套软件的完美无缺,内部的沟通交流也要做到天衣无缝。
一不细心,进入了一个通信软件的行业。慢慢的,我逐渐的了解了这些是什么,我需要学习些什么。上头写的十几点,是我去年出差以来的一些想法,抓着头皮,凑出了这些没有丝毫文采的文字。可能还有点夸夸其谈,或过于梦想。这些也并非都是正确的,我相信必须存在问题。但有什么关系呢,我还在继续的工作,继续的去思考和总结。