光阴似箭,日月如梭,转眼之间,我毕业工作都将近两年了。回首往事,我最大的感触就是:时间都去哪儿了呢?
最近,我看到CSDN举办了一个叫做畅想“我的IT成长路”的活动,觉得挺有意思的。作为广大的软件开发工程师中的一员,我和大部分人走过的路都是一样的。我们从学校里面毕业,来到单位上,在经历过无数的挫折之后,从一个懵懂的学生艰难地转变为了职场中人。我们有过懊恼,有过气愤,有过抱怨,有过喜悦,在不知不觉中,我们慢慢地成长起来了。
同时,我也读了《逆袭大学:传给IT学子的正能量》这本电子书,里面的内容都是中国当今大学教育的真实写照,读来让人深思。作为一名通信和计算机专业毕业的学生,我们所面临的问题都是一样的:课程多、难度大,学生多,工作不好找,工作累,等等。面对各种问题,不管是学校还是工作上的,我们都只有一个办法,那就是独立地去面对。
多的不说了,还是来说一下自己的情况吧。我本科毕业于一所普通的“211”大学,专业为通信工程;研究生毕业于国内某颇有名气的邮电类高校,专业为计算机应用技术。研究生毕业之后,我就到了国内一家知名的通讯公司工作,从事多媒体业务的开发工作。工作至今,已经差不多两年了。在这两年时间里,我参加了多个产品版本的开发工作,也被评为了“优秀员工”,同时获得过部门的一些奖励。
本文分为两个部分,第一部分对这两年的开发工作做一个总结,第二部分对未来的成长之路做一个展望。
第一部分 两年开发工作总结
我走出学校的时候和很多人一样,非常的“轻狂”,认为自己在学校里面已经学得够多了,要完成一个软件的开发,简直就是小菜一碟。但在工作中屡次碰壁之后,我才发现自己当时的想法是多么的天真。我们踏上工作岗位,一切几乎都要从零开始。很多在学校里面学到的东西,不仅没有实际的用途,有的甚至还有误导的作用。
我从以下三个方面来进行总结。
第一方面 软件研发流程及注意事项
学校里面只传授具体的专业知识,没有对实际的软件研发流程进行说明,这不能不说是一大缺陷。本人所在的公司很注重研发流程的规范性,以确保产品的质量。
在软件开发的过程中,我们需要注意以下事项:
(1) 一定要遵循编码规范。从学生转变为职场人,最为重要的就是要学会遵守规范。对于软件开发来说,学校里面没有强调编码的规范性,只要一个程序能够运行起来就OK了,这在实际的软件开发项目中是绝对不行的。不光是新员工,很多老员工都不注重代码的编写规范,这不能不说又是中国计算机教育的一大失误。
(2) 一定要对代码进行充分的自测后再提交。我刚参加工作的时候,以为把代码编写完就了事了,但这个观念是极其错误的。软件开发人员对软件质量负有很重大的责任,我们一定要确保拿出去的代码中的问题尽量少。代码能够运行,并不代表它就没有问题,有关逻辑错误等只能通过充分的测试才能够发现。
(3) 要编写好研发相关的文档。在软件开发阶段,我们需要编写的文档包括:详细设计说明文档、单元测试规程/报告文档、集成测试规程/报告文档,及相关的协议和说明文档等。很多开发人员认为自己只需要将代码写好就行了,文档什么的就不用关心了,这是很不好的想法。好的文档有利于程序版本的维护,对于版本升级、查错等都是很有帮助的。
(4) 要有良好的版本管理习惯。所谓的版本,是指产品相关的代码、文档和数据等。在家里的时候,很多人喜欢将东西乱放,正到了需要用的时候却找不到。对于程序版本,很多开发人员也是随便一放就了事。在版本较少的时候,这可能还不是问题。但一旦版本数量增多,要找到某个时间较长的版本就是一件比较麻烦的事情。因此,为了节省时间,提高工作的效率,我们一定要养成好的存放版本的习惯,要规划好自己的计算机硬盘。
第二方面 沟通交流及人际关系处理
软件开发工程师由于专注于做技术,因此大部分确实在人际沟通技能方便略显不足。但在单位上,我们不是孤身一人在工作,有很多事情都要与人沟通、都需要向他人请教,要具备团队意识。
我总结了一下,除了面对面沟通之外,我们可以利用一些通讯工具进行沟通,这些工具包括:邮箱、手机/电话和某些即时通讯工具(像QQ、微信等)。面对面沟通的效果最好,可以将所有的问题说清楚。沟通方式的优先级如图2所示。
有些开发人员就喜欢发邮件,一个问题讨论了大半天都没有结果。这个时候,如果采用面对面沟通的方式,也许几分钟就能够将问题解决掉。
此外,为了信息安全,很多大的软件公司禁止员工使用QQ软件来交流。那么,就只能使用公司内部的即时通讯工具来进行沟通了。
对于搞技术的人来说,人与人之间的关系就相对比较简单,大家坦诚相待,有什么技术方面的问题也是直接说出来。但要注意的是,涉及到版本、需求、评审和现场问题等,我们一定要让自己的上司(也就是项目经理)知道你正在做的事情,如果出现大的问题,他才好给你支招,千万不要一个人硬着头皮去顶。
第三方面 身体锻炼
我将身体锻炼拿出来单独说,是因为这比较的重要。“身体是革命的本钱”,对于软件开发人员来说,尤其如此。
我们长时间地坐在电脑旁边,身体素质也逐渐地变差了。很多同事腰椎、颈椎都出现了问题。这就是锻炼太少的原因。因此,我们一定要改变自己的生活习惯,多出去走动,适当地参加一些体育锻炼。
第二部分 未来展望
对于软件开发人员来说,未来的发展道路有两条:一条是继续在本行业中奋斗,另一条就是转行。对于我来说,我会选择第一条。
在这个知识大爆炸的时代,我们需要的任何知识都可以很快地从网络上获取到,但唯独经验这个东西是需要时间来积累的。对于软件开发来说,很多人认为多少岁之后就干不下去了,必须要另谋出路。
确实,如果单就编写程序来说,年龄大的人是没有优势,因为年轻人毕竟动得要快些。但大家忽略了一点,那就是软件开发也是需要经验的。有很多软件问题,新手看了很久都不一定能够知道,而对于老手来说,也许看一眼就明白问题出在哪里了。所以,我认为,在21世纪,知识不是最重要的,经验比知识更为重要。
我的想法是在若干年之后,我会去当一名传道授业解惑的IT老师,将自己的软件开发经验传递给自己的后辈,让大家在软件开发这条道路上走得更顺畅一点。目前,我已经在做这方面的准备,我会陆续在CSDN博客上发表一系列叫做《让你提前认识软件开发---学长的软件开发经验总结》的文章(http://blog.csdn.net/zhouzhaoxiong1227/article/details/20395131),将自己的软件开发经验总结出来,让更多的人受益,欢迎大家批评指正。
“路漫漫其修远兮,吾将上下而求索”,互联网的精神就是开放,就是分享。通过互联网,我们可以认识更多的人,我们可以从他人身上学到很多东西。那就让我们一起努力,一起体验软件开发这项工作的酸甜苦辣,向着更美好的未来狂奔而去!
谢谢!