Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343213
  • 博文数量: 82
  • 博客积分: 3353
  • 博客等级: 中校
  • 技术积分: 742
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-20 19:13
文章分类

全部博文(82)

文章存档

2015年(1)

2014年(1)

2013年(1)

2012年(12)

2011年(3)

2010年(25)

2009年(37)

2008年(2)

我的朋友

分类: IT职场

2010-03-16 13:18:13

『』 [程序人生]软件从业十年有感

作者:   提交日期:2010-3-15 11:47:08 楼主
  从1997年接触计算机算起,到现在已是十年有余。
  
  从当初的懵懂小子到成为一名职业软件系统分析员。风风雨雨一路走来,从286的年代到P4、I7,从DOS到Win2003、Win7,从汇编、C、C++到C#,从FoxPro、Access到SQL Server、Sybase、Oracle,开发过程常常伴随着沮丧、懊恼与欣喜。多少次彻夜工作到天亮,才发觉已经熬红的双眼、酸胀的腰背、空空的肚腹,早已麻木冰冷的四肢。曾为调通一个小程序而彻夜难眠,也曾为首次独自完成一个项目而欢心鼓舞。
  
  经过些许年,其中的辛酸,多走的弯路,陷入的困境,闲暇时刻历历重现……
  
  老板们每每提起招聘人员都会嘱咐:“这年头只能招有经验,进来就能参加项目研发的人员!新人(无经验的)就不要招了!培养他们一到两年,真正到能独立工作时就跑掉了,花钱给别人培养不划算!”。同事间每每谈起也同样感叹,想想我们这些老家伙不也都从井底之见的信心、无规矩的设计、杂乱加密似的编码、大脑发热的算法过来的么……
  
  经过四年观察身边的同事,昨天我所经历的故事,他们依然在轮番重演……
  
  其实这些朋友们大多都有以下特点:
  
  1、 基础知识薄弱:
  大量的基础知识点都不明白或不清楚做什么用,甚至有的都不知道这些东西存在。大多是在学习时期,老师没有讲明白或者自己认为没什么用就忽略了。
  (这里说明下做学问的教授与培训教师的区别:教授专长于理论与简单验证实践;培训教师多数都有一点开发经验,教学侧重于自己的认知范围。但绝大多数培训教师都会打着XX大公司呆过或参与过XX大型项目,其实并不代表他们就真的经验丰富(经验丰富的研发人员是绝不会在培训公司或学校工作的,被揭发老底的朋友别拍砖呀!!!)。这部分培训教师大多是在XX公司混不下去或因为工作能力差被别人替代而解聘的,甚至根本都没有进过XX公司或试用期都过不了关就回家了。)
  
  2、 设计规范缺失:
  大部分新人都不了解系统设计中需要遵循的基础规范,企业规范一般都是建立在行业内的基础规范之上的。正规的企业都有自己的开发规范(在基础规范上增加了自己强调的或特有的要求,取消了现阶段不必要的条文)。
  
  3、 接受能力偏执:
  大部分新人对自己熟悉的知识或习惯接受起来比较顺;对于陌生的知识与自己的东西不一致时表现出不同程度的排斥。有的人表面上接受,工作中还是按自己的想法习惯去处理,并不愿真正改变;有的人在接受阶段就开始排斥,抱怨这个或那个还不如自己原来的好;也有的人接受后需要一个慢性的过渡期。
  
  4、 轻视设计质量:
  一部分朋友进入工作岗位后,为了应付企业交给的任务,匆匆忙忙下手,只注重功能的实现不关心构架思想、算法构思而自由编码。这些代码进入项目后,大多能通过短时期的简单测试,而让企业为代码升级、维护付出惨重的代价(多数能达到80%-300%的开发代价)。
  
  5、 经验总结欠缺:
  一部分朋友在工作后,不喜欢学习新东西与业务。而热衷于游戏,也不习惯总结上一工作阶段中的问题。同样的问题在后续的工作中频繁出现,每每遇到它都要回到原点再学习一遍,使学习成本不断累加浪费了大量的宝贵时间。
  
  6、 专业学习欠缺:
  一部分朋友只注重工作挣钱,而不关注软件行业的发展情况(新技术应用、新设计思想、新设计规范、新领域应用、新构架讨论等),慢慢地形成知识、见识的严重缺乏,从而影响软件工作质量。(也有相当一部分企业不给员工创造条件,故意占用周末时间,让员工忙于工作业务,而无暇顾及自由学习或限制为业务定向学习。)
  
  7、 职业方向不明:
  与一部分朋友提起准备在行业内服务多长时间,好多都是说能干几年算几年。大多数企业中职业程序员年龄在22—30岁之间,高级程序员26—35岁之间,系统分析员28—38岁之间,项目负责人28—42岁之间。40岁以上的多数都转为管理人员或专家团。以上是一部分中型企业的用人状况,小企业中年龄会更宽松一些。在招聘启事中,常见的高级程序员、系统分析员、项目负责人等职位都会要求从业3—5年以上,程序员要求在1-2年从事项目实际开发经验。
  所以,从事软件研发工作要尽早给自己一个职业方向,之后一步步实现自己的人生。
  
  许多从事工作没几年的新人,动不动就在简历上注明自己精通Asp.net、精通C#,更有甚者注明精通C、C++、MFC等。凭我们多年的经验来看,这部分人自己学到的东西太少了,以至于敢说精通。其实就拿VC++来讲,业界高手没有几个人敢说精通,最多只能说自己熟悉或擅长哪一部分内容的设计。因为C++设计的边界太广了,从底层操作系统构架、设备驱动、嵌入式应用到图形图像UI处理,到高级的日常办公、系统工具、服务系统、网络系统等方面的设计,真的能精通的了吗?不信的话,可以试着自己写个Photoshop、Office2000等常用工具就知道通不通了,先不说精的问题。
  
  对于许多在校大学生和刚踏入软件行业的新人来说,缺少的不仅是专业理论,而是从业规范、设计经验、研发思想及实际解决问题的能力。
  
  十多年研发经历对我来说是人生的一笔宝贵财富。有必须掌握的专业知识,有多年软件设计实践经验总结,有必须杜绝的错误和惨痛教训,还有项目团队研发中的规范与管理。越来越体会到一支优秀的研发团队是多么重要!每个队员须具备何种素质才能在竞争中冲锋陷阵!
  
  历经几年做项目的痛苦,我计划组织自己的新生团队……
  
                                 快乐一生(QQ:421661455)
  于2009中秋
  注:本文系作者原创(09年中秋节时所写),网络引用必须保持文章完整。其他引用请与作者联系。
阅读(459) | 评论(0) | 转发(0) |
0

上一篇:C排序算法

下一篇:xmpp介绍与RFC3920学习(1)

给主人留下些什么吧!~~