然而进入大学的时候,见到、听到和感受到的q没有自己想象的那么理想。印象最q一句就是:应用数学图有其名Q实际上什么也学不刎ͼ学数学不够基数学专业的hQ学计算机更是与CS的h差之甚远。不同版本的l验和心得让自己茫然了好几天。不q学院领g再强调搞计算机最的h都是学数学出w和某一个师兄的话“自pvd作用”最l得自己清醒过来,其实只要自己努力和主动,一切都是可以自׃导的?/SPAN>
管刚入大学时经历了落选“基地班”的打击Q但我很快振作v来。整理了一些师兄师姐的教导Q确定了大学阶段的目标:前两q努力学好专业知识,打好数学基础Q我始终怿数学基础是非帔R要的Q,q利用空余时间学习计机知识Q从W三q开始寻扑֮跉|会积累计机目l验。相比于那些从小有Z学习计算机的同龄人,我着实属于“晚辈”的h物了Q但我相信通过自己的努力,一定可以I补以前落下的基础?/SPAN>
q运的是Q我们宿?/SPAN>10个h大部分都是“计机q”,在他们的影响下,我对计算机编E的兴趣来浓Qƈ且在大一暑假我就获得了实늚Z。通过舍友介绍Q我q入了计中心雨人工作室Q后来{?/SPAN>ERP实验室)学习和实c在那期_我参与了不少企业应用pȝ的开发和实施Q部|Ӏ培训)Q从那时开始,我学会了如何?/SPAN>Basic?/SPAN>Pascal来编写各U小E序Q学会了如何?/SPAN>VB?/SPAN>Delphi来编写数据库应用E序Q从Access?/SPAN>SQL ServerQ我逐渐体会到数据库的作用。尽一开始编写的E序和设计的用户界面q显E嫩Q但不断得到客户的认可让我这个晚成的~程人员颇有成就感,也得我对企业应用开发兴渐。或许是因ؓ从一开始我接触的编E是企业应用Q数据库应用Q的开发,我将自己的目标锁定在企业应用领域。n边的同学有的Ҏ戏开发非常感兴趣Q有的则喜欢~写各种pȝ工具甚至是小病毒Q而我则深深“爱”上了企业应用开发。很多h对企业应用开发很不屑Q他们认为那无非是利用各种RAD工具拖拖控gQ在已经生成的代码框架上填填单的几行代码Q完全没有算法,没有M技术含量。刚开始接触数据库应用pȝ开发时Q我也生了cMx。但与客L沟通我生了责Q感,我当时的x是:管我所做的工作是简单的Q但q样可以为客户带来便利,正是q种单的x使我坚持下来Qƈ能够重新认识企业应用开发。随着自己学的东西来多Q水q也不断提高Q我发现企业应用E序q不是简单的界面+代码Q这里面涉及的东西太多了。如何我做出来的应用程序能更好地满_L真实需求?如何使我的开发工作更有效率?如何使开发工作按时完成?……一pd的问题一直在脑v中回旋,我发觉对软g开发了解的多Q脑中的问题也p多?/SPAN>
我的处女作品是一个进销存YӞ是我独立Z个Y件公司开发的。当时Y件公司的l理是我的客户Q他提出需求(Ҏ他的客户需求)Q我Ҏ需求设计、开发出满要求的Y件。当时接CQ务的时候是大二暑假的开始,记得那个暑假我用自己的奖学金和家教所得的׃来第一台电脑(4000多元Q,然后开始了我的开发历E。之前,我曾lؓ一个服装租赁公司开发了一个服装租赁系l,但由于各U原因最l没有被用户使用Q据说是用计机pȝ太麻烦,呵呵Q,所以这个进销存Y件是我的W一个被客户使用的作品。开发服装租赁系l的l历让我学习了数据库知识?/SPAN>Delphi工具的用,也了解了软g工程的一些知识,知道了什么叫需求分析,什么叫pȝ设计Q什么叫开发,试和实施。当Ӟ当时的专业课E学习Q务还是比较重Q对软g工程学习只是依靠自学Q所以不够系l,知道的比较表面,不过也会依样画葫芦了。当旉求分析还是比较详l了Q虽然没有编写很正规的需求分析规范说明书Q但对客L需求还是了解得比较l致。在后来与客户面寚w接触Ӟ看到客户对系l的认可Q我觉得自己很伟大,我终于体会到“科学技术是W一生力”的真正含义了,呵呵。整个进销存Y件的开发量Q包括数据库l构设计、界面的设计和代码编写)q是蛮大的,由我一个没什么经验的开发h员用两个月时间开发,实难住了我Q特别是里面一些业务逻辑Q比如先q先出,后进先出{结方式让当时的我很是头痛。在那段旉里,我经历了各种各样开发h员的生活Qؓ了找Z个问题所在不?/SPAN>DEBUGQؓ了完成手中的工作通宵达旦Qؓ解决了一个难题而欢呼雀跃;为得Cl理的赞赏而美滋好一阵子Q……开发工作是辛苦的,但收获却是非常大。书本上学到的Y件工E知识是抽象的,但通过开发这个进销存YӞ我加׃对Y件工E各个阶D늚理解Q虽然还是很肤浅Q而且也许q很片面Q但光所l历的事情让我积累了不少的经验,我懂得了如何L好地与客戗项目经理交;认识C规范开发和各种文档的重要性(坚持写开发文档得Cl理的赞赏,q也为后来省下了不少ȝQ系l交付后Q很接到经理的骚扰电话Q呵呵)。当时经理说的一句话让我印象很深刻,也一直陪伴着我:开发应用程序不是关在屋子里埋头写理想的代码Q而是要保持与用户的不断沟通,时刻让自q开发往正确的方向前q。靠自己惌出来的程序再妙也是没有M价值的。从感受到自q软g为用户带来了工作效率的提升开始,我就瞄准了企业应用开发这个领域。虽然当时的认识比较模糊Q脑中还没有pȝ架构的概念,知识体系q是很不完善Q缺乏相兌机基础知识的支持,但我感觉C息技术在企业应用领域会v革命性的作用Q而且l不止数据库应用那么单?/SPAN>
随着参与的项目越来越多,范围来广Q学到的知识也越来越q泛Q对信息技术的认识也越来越深。开发进销存Y件的成功让我得到了计中心一位教授的赏识Q我因此也得C加入正式目l的Z。第一个系l的开发完全是“个雄主义”行为,管我也试图贯彻软g工程的思想Q但l对体验不到团队合作Q除了与客户和经理的沟通外。所以听到可以加入项目组的消息,我的心情是非常激动的Q当时只是大?/SPAN>刚开始,而我已经初步实现了自q目标Q向更高的层ơ前q?/SPAN>
在雨人工作室学习期间Q我参与的项目集中在企业MIS和一?/SPAN>WEB应用。在Windows环境下,利用Delphi作ؓ开发工PMS SQL Server为后台数据库Q开发各U?/SPAN>C/Sl构的信息管理系l。当时的我作Z个开发h员,主要负责一些设计(数据库结构设计、系l框架设计和前端用户界面Q和coding工作。由于项目组成员不是很多Q同时又?/SPAN>part-time jobQ有时更是几个项目在w,着实体会到了一?/SPAN>programmer的艰辛,但也实学到了很?/SPAN>programming skillsQ积累了不少programmer的经验。忙?/SPAN>coding的同Ӟ我意识到计算机基知识的重要,辅修计算Y件专业的评Q认真学习别为枯燥乏味的OO?/SPAN>Data Structure?/SPAN>Software Engineering{等基础评。虽然到现在已经不能完全C当时学的知识Q但学到的一些思想、算法和技巧都在潜U默化媄响着我的工作?/SPAN>
大二、大三两q是非常艰苦的,学习dJ重Q我学好每一门数学,我知道本U头两年的数学课E是非常重要的;同时我也疯狂学习计算机知识,q过做项目去理解体会学到的知识。那两年旉里,我感觉到自己的进步非常大。其间我也经常听C些反调,那些喜欢底层~程工作的同学都在劝我学一些更高深、更底层的知识(他们认ؓ我如此聪明的头脑d那么“简单”的应用开发,真的太浪费了Q,我也曄动摇q,但在|上论坛?/SPAN>BBS上我与“大䏀们讨论交流Q同时也l常扑օ叔R面一些经验丰富的E序员沟通,我坚定了我的路线Q小型的企业应用开发从E序员角度来说似乎没有那些与Windows API相关的底层编E那么复杂,但真正要保证旉保证质量开发出一个满企业需要的pȝQ却是非怸Ҏ的,q是一w常有挑战性的工作Q而且意义非同一般?/SPAN>IT发展到现在,很多技术已l非常成熟,我们应该站在前h的肩膀上,可能利用先q的技术帮助企业提高生产力。随着参与的项目越来越大,来复杂,我发现即使是企业应用开发工作,也不是象很多人所惌的那L单,需要考虑的东西越来越多,不再只是实现了要求的功能?/SPAN>OK了,需要考虑与已有资源(包括软硬件资源)的整合,同时一些在系l上表现不明昄因素也越来越军_着一个项目的成功与否Q比如性能、可l护性、适应性等{。当时开发进销存Y件时Q只要找C一个第三方控g实现了所要求的功能就兴奋异常Q后来开发较大型目时就不再那么Ҏ了,需要考虑pȝ采取的架构(C/SQ?/SPAN>B/SQ两者相l合Q、开发^台、数据库q_Q同时还得费心机考虑q种设计或实现方法是否会影响pȝ速度或性能Q是否可以重用,需求发生变化时是否Ҏ修改Q等{。后来才真正体会C个系lMl构的不合理Q会D各种各样的问题,从用戯度来看,会生重复工作等问题Q从pȝ角度来看Q会D致命的速度、性能问题。而后者很可能D目的失败,一个经常导致服务器或客LL的系l如何让用户接受Q?/SPAN>
在大三、大四两q_参加了一?/SPAN>MIS?/SPAN>MRPII?/SPAN>ERP目Q有的可以称得上是成功的目Q但大部分却很难UC为成功(无论是进度还是质量都与理惛_之甚q)。原因是多方面的Q主要有以下几点Q?/SPAN>1、项目管理乱,没有规范的项目管理导致代码质量低下、进度不断gq;2、分析h员不够重视需求分析,没有很好C解客L真正需求,~Z对相兌业的必要知识Q导致最l的pȝ不能很好地满_L要求Q这也得相当数量的中小型企业对信息pȝ产生了怀疑;3、系l设计h员计机知识不全面,不了解最新的技术,Dpȝ沿用q时的技术和pȝl构Q同时忽视重用性导致不断的重复开发;4、开发h员只考虑能否实现Q而没有考虑如何更好地实玎ͼ忽视代码的效率、性能{问题?/SPAN>
01q项目组一直采?/SPAN>C/Sl构为各U行业的企业、工厂开发管理系l(MIS?/SPAN>MRPII?/SPAN>ERPQ,虽然对企业宣U开发的pȝ属于MRPII?/SPAN>ERP{等Q富丽堂皇,但事实上目l的成员只有技术背景,Ҏ没有理背景Q而且目l中没有l验丰富、高瞻远瞩的行业N、架构师Q设计、开发出来的所?/SPAN>MRPII?/SPAN>ERP实质上就是复杂一些的MISQ根本无法ؓ企业的管理、决{带来帮助,唯一能看到的只是pȝ帮企业管理各U数据、出一些数据统计报表而已。每完成一个项目,有终于可以完工的快感Q但很快p客户的抱怨所ҎQ我也逐渐意识到自׃能再定位?/SPAN>programmer的层ơ了Q一个再优秀?/SPAN>programmerQ也只是能写ZU的代码而已Q却不能Z业提供一个优U的系l?/SPAN>Programmer只能停留在系l的局部,而系l架构师Q?/SPAN>ArchitectQ则肩负着整个pȝ构架的重任,毫无疑问Q架构师对于一个项目的成|L关键的作用。我认识C息技术在企业中的应用来重要,也越来越复杂。随着ERP静寂之后Q?/SPAN>CRM?/SPAN>DPR?/SPAN>e-ERP?/SPAN>e-business{逐渐成ؓ热点Q?/SPAN>J2EE?/SPAN>.NET{新技术也逐渐成ؓE序员的新宠。信息技术已l日新月异,我感到学习更多先q技术的同时Q应该确定新的目标?B>我不再满于做一个优U?/B>programmerQ当时我定了自q目标是成Z个优U的系l架构师Q但首先我会努力让自己成Z名优U的Y件工E师?/SPAN>当时我对架构师的认识是:架构师负责理解系l的业务需求,q创建合理、完善的pȝ体系架构Q架构师也负责通过软g架构来决定主要的技术选择。架构师要求有完善的知识体系Q扎实的技术功底,了解当今行的各cL术和产品?/B>