一直觉得软件实施这个职位它一直冲锋陷阵在系统的第一线,因此它需要比较强的综合能力,包括技术能力,业务熟悉能力,沟通谈判能力,临场应变处理突发问题的能力等。如果是PM及其以上的,需要的能力更加全面。那么作为一名基础的软件技术实施人员,我觉得以下几点是基本要求:心态不能不好,技术不能不硬,业务不能不熟,沟通不能不畅。

                                                                                  心态不能不好

    做任何一件事情,心态都是做成这件事情的一个不可忽视的强大的软实力,软件实施工作也一样。在用户现场,可能会遇到各种各样的计划之外的疑难杂症。比如上线初期乙方工作人员态度强硬不配合,比如销售与乙方签订的合同中与实际发往现场的程序功能差入很大,比如你中途接手的项目有很多类似历史数据错误的遗留问题,凡此种种,不一而举。一般来说,是人都会受到周边事物的影响,影响到情绪,进而影响到心态,进而影响到团队,影响到项目。如果造成这样的一种负能量传递,对于项目的进度是百害而无一利的。作为一名合格的软件技术实施人员,即使面对再复杂的现场情况,心态是第一位的,给予自己积极的暗示,稳定好自己的心态,控制好自己情绪,缕清作战思路,进而用这种积极的能量去传递给项目团队才是正确的办法。刚入行的时候,跟随一个项目经理还有其它几个同事到用户现场去上线一个三百万的项目,项目从技术人员入场就一直阻碍重重,开始的时候装Oracle用时过长,然后客户提供的Linux服务器硬盘过小,现场没有人挂载过,然后又是公司发过来的程序三天了还没有部署起来,导致乙方举得项目团队的技术能力不行。最重要的是当时的PM对于这一系列本来并不是很大阻碍的问题,边做也边对项目团队成员发牢骚,使得团队成员也是处于一种军心涣散的状态,严重影响了大家的心态。所以不管现场是有多么的困难,心态尤其重要,这是推进项目稳步前进的一个合理保证。

image.png

                                                                            技术不能不硬

   软件实施离不开技术,因此,我一直认为实施人员必须懂技术,而且是技术知识面要宽,视野要开阔,当然,最理想的状态就是一专多通。所谓一专,就是要求自己特别擅长的技术领域,有自己独到的见解,遇见相关问题能够马上运用起来解决;所谓多通,最起码的和乙方以及与公司其他岗位的相关技术人员沟通起来无障碍。个人认为,下图中是作为一名合格的软件技术实施人员必备必会的技术,公司不同,业务不同而略有差异。数据库,基本要求,就不多说了。操作系统,也是要会的。曾经在一个项目中遇到过一个团队,业务都比较娴熟,但是技术能力稍微薄弱,而乙方负责人则是那种非常注重技术特别是技术安全的人。在系统上线快半个月了,还没有给他们进行数据库的全量备份。因此有一天就对项目经理提起了这件事,并且略显不满。现在回想起来,其实是非常简单的事情。只要对linux的shell脚本稍微熟悉点,写好后放到一个定时任务里就很自然的实现了,而且这也是经常并且必须要做的。(系统[linux],数据库[oracleDBA],网络[路由交换],编程语言[java])

image.png


然后,我们在看看现在主流的市场需求中关于软件实施的技术能力要求,这就比较标准了:

1.掌握软件工程及系统集成的基本知识,了解软件项目的实施过程。具有软件项目实施经验者优先。
2.精通windows server、Linux服务器的安装配置与相关软件的部署与配置。
3.熟悉MySql、Oracle、MS SQL等数据库的部署配置
4.熟悉网络部署。熟悉交换机、路由器基本配置
5.具有良好的技术文档阅读及编写能力,具有基本的英文技术文档的阅读能力。
6.责任心强,具有团队合作精神,能够适应长期性出差。
7.具有小型机、PC服务器、SAN交换机、磁盘阵列相关配置、维护经验者优先。

再看看另外一个:

技术要求:

熟练使用office软件 

至少掌握一种高级编程语言(java/c/c++/python/perl/php etc.)

熟悉Linux系统,熟练掌握常见的shell操作

熟练掌握网络基础

熟练掌握常见的SVN,Git的搭建,命令和操作。

以上两个,是属于实施岗位中技术要求稍微高一点的,但是我认为,这些都是想要一名优秀的技术实施人员所要掌握的。总而言之,实施这个岗位,技术会的多是非常

有好处的,根据公司和市场的实际要求但是也要有一个自己擅长的方向。

                                                                        业务不能不熟

    作为一名合格的软件实施人员,业务当属于重中之重,是应该不断去加强和修炼的一方面。因为业务不熟,就没法和用户沟通,也没法向公司其他技术部门同事很好的传达用户的需求。比如你做财务软件项目的,那么财务会记方面的业务知识一定要非常熟悉,当然这对于刚入行没有接触过财务知识的人起初真的会有点痛苦。因为财务上会有很多专业的财务术语知识,可能你听着老同事和用户再交流的时候你一开始都根本听不懂。但是要慢慢的积累,1>在平常的工作中慢慢的向用户和老同事学习业务知识,如科目,凭证等常用的必须非常熟悉。2>或者,在网上相关文档知识中专业性的去学习下,比如公积金行业的很多业务知识来自住建部标准规范和新出的政策文档,那么这些都可以作为优秀的学习资料。住房公积金金融业务知识主要包括以下几大板块:归集,提取,贷款,开发商,资金,财务,这几个模块之间有非常大的联系,所以能构成非常复杂的业务逻辑关系。当然,每个行业的业务知识都是有自己的一套体系的。所谓业务不能不熟到底要对你所从事的行业的业务知识熟悉到一种什么样的程度呢?本人认为,至少要能做到独立去做前期的需求调研没有问题,其实这也是最基本的。业务知识体系非常庞大,非一日之功,这需要很多年的积累。所以很多软件实施人员最后都成为了实施顾问,因为在一个行业软件待久了,业务知识甚至会比甲方那些做业务的还要熟悉。勤记录,多思考,在系统中多做业务时快速学习业务知识的一个必经道路。

image.png

                                                                        沟通不能不畅

                        

    实施需要非常强的沟通这项能力也是区别于IT行业其他职业其他技术职位如开发,测试,运维一个显著特征。其中这沟通就包括两方面的的沟通,对内和对外。首先讲对外的沟通,即是指我们的用户。对于和用户的沟通,我总结了八个字:不卑不亢,有理有据。所谓不卑不亢,指的是那种特殊复杂的局面,你仍然要能非常镇定的同用户领导沟通,能够安抚他们的情绪,稳定现场的秩序。所谓有理有据,要求同用户的沟通都要是有凭据,有数据来说话的,要是有效的沟通。曾经有一次由于公司程序质量的原因,就引起了刚上线的程序的直接宕机,还好当时的项目经理情商非常高,说话非常有艺术感,第一时间同对方信息科领导告知了这一情况,然后又联系公司马上的解决了这一问题。由于处理得当,挽回了不必要的损失。不卑不亢,有理有据,其实要求同用户沟通的各个方面,包括需求,包括业务培训讲解,包括后期维护功能完善。 然后是对内的沟通,对内的沟通有时候比对外的沟通更加复杂。因为你经常要同多个技术部门沟通,包括开发,测试,运维。有时候大家的工作都比较忙,真的有时候项目现场技术人员得不到公司其他技术的部门的支持是非常痛苦的。一般对于这种情况,应该马上找你的直属领导,然他去进行有效的沟通,或者在公司的项目沟通群里把问题公开说出来,当然要视问题的严重程度来说。只有对内对外都能沟通顺畅,实施工作才能有条不紊的进行。

     本人道行也不够深,仅仅是一家之言。有很多考虑不周或者细节不足之处,还请各位能多多指正,欢迎评论!