您的位置:首页 > 职场人生

(征文)埋头干活、抬头看路

2006-05-14 12:20 211 查看
有人说:“30岁,技术生涯即告终结。”这句话乍听起来,确实有理。与过去相比,现实意义上的“青春饭”已不再限于传统的服务、娱乐等行业了。像公关、促销员、时尚类记者等,其中尤为突出的就是IT业程序员又构成了新的“青春饭”群体。现实中,我们已经很难找到有超过30岁的程序员。大多数程序员都会选择在工作一段时间转向管理或其他领域继续发展,鲜有继续从事开发工作的。做程序员需要有充沛的体力和灵敏的反应作保障, 在这方面,自然越年轻越好。一个三、四十岁的高龄程序员和一个二十出头的年轻程序 员在一起编程,从工作心情上、反应速度上、作业效率上都存在一定差距。而公司为了降低开发成本,也会倾向于对经验少的年轻开发者支付较低的报酬。高龄程序员在这些方面无法与年轻人抗衡。

因此,在软件行业有这样一个说法,“说起编程,博士不如硕士,硕士不如本科生,本科生不如专科生,专科生不如高中生……” 。这种说法,主要是由一些二十多岁刚刚毕业的程序员,在参加工作一段时间后,却仍然对未来没有什么具体目标和发展方向而提出来的,虽然这种认识从某种程序上反映了国内一些企业对软件从事人员的一种选择态度,但也多少体现了程序员个人对本身工作的一种不正确的、消极的认识。这种认识局限于程序员个人发展,而没有从整个行业乃至整个社会去考虑程序员作为一个职业的发展问题。

目前,国内很多企业都会涉足软件开发,其中包括政府研究机构、高等学校、互联网公司、专注于某一应用领域的企业和各种手工作坊式的小公司。
IT是个更新速度很快的行业,每天都会有新的公司诞生,而每天也会有企业因为各方面的问题而衰败,作为技术人员,我们不应该孤立地去考虑自身发展,也不能将自己的发展绑定于一个具体的企业,那样只会让自己很被动,职业规划必须从别的角度去考虑。我考虑这个问题,主要是基于软件的划分。
我把软件划分为如下四类:
1、系统软件
系统软件指的是计算机系统必须配备的软件技术,它包括操作系统、各种程序设计语言的处理程序、标准程序库、系统维护软件等。
2、平台软件
平台软件指包括中间件技术、嵌入式软件在内的不依赖于具体行业的软件平台,比如Web容器开发、各种网络协议的开发。
3、专注于系统特性的软件
这类软件在实现上更多考虑的是系统的稳定和性能,采取各种编程技巧增强系统特性,比如大容量设计的门户网站,它们对用户量的追求是永无止境的;他们对系统的稳定性要求极其苛刻。
4、特定领域的应用软件
在软件领域,有一类软件是专门针对各行业设计开发的,比如财务软件、图形处理软件、游戏软件等等。
作为大环境来说,程序员要从事的软件开发工作,基本上属于对以上四类软件的研发,这四类软件对程序员的要求各有侧重。我们在设计自己的职业生涯时,首先不能忽视这个大环境的影响。换句话来说,就是程序员的要基于这四类软件研发对自己的职业生涯进行设计,尽量避免在它们之间跳来跳去;此外,对于第四类软件研发,更可以细分到教育、金融、通信等各个行业领域,也不能随意在这些行业之间切换。

对于个人来说,如何设计自己的职业生涯,还需要考虑以下几个方面。
1、个人兴趣
选择自己感兴趣的工作,目前,国内软件人才的培养主要还是靠学校和各种科研机构。这种程序员的特点就是他基本上没有行业背景,可塑性很强。任何企业在对他进行简单的培训以后,就可以让他掌握基本的业务知识很快融入工作,并在工作中加深对业务的认识;对于程序员个人来说,在这个时候,有目的地去选择,并进入自己感兴趣的行业是很幸运的一件事情。
2、紧靠行业
我们通常所指的软件行业,实际上是一个很泛的概念,它包括了软件领域方方面面的知识。但实际上软件技术是一个工具,它只有和其他行业结合才能发挥强大作用。做系统软件也好、做应用软件也好。都要认清楚出自己所处的行业背景。国内的软件公司,大部分已经在向行业导向型过渡,手工作坊式的小车间已经越来越难适应要求越来越苛刻的软件市场。在为某个行业持续做软件的过程中,企业积累了大量的开发经验,获得了行业内客户方的一致认同,同时在企业内部逐渐形成了对领域软件高效的、规范的研发体系和管理制度,对程序员也不单要求编程能力,对于从事行业知识和业务的理解和应用能力也将成为这些企业的关心内容。
3、勤学好动
众所周知,计算机技术的发展是很快的,作为IT行业的技术工作者不去关注就会很快落伍;另外,计算机虽然不属于自然科学,但它也是一门实践性很强的学科,而且与普通的物理、化学等自然科学比较起来,它的实验环境更容易搭建。因此,作为一名程序员,要不断地学习,并勤于动手,才能让自己持续地保持高效的工作能力。
4、注重团队建设
我们生活在一个合作的时代,现在的软件开发,靠个人英雄主义是不可靠,也是不可能的;需要一个团队来通力合作,才能完成。因此,孤立地考虑个人发展,而不考虑团队建设,同样也是不可靠和不安全的。团队建设包括两个方面,一方面要从团队中获取知识和能力,提高自己的技术水平;另一方面,要将自己的经验与其他成员分享,从而在整体上提高团队能力。
此外,在对团队的理解上,我们应该有将它扩大外延地认识,从团队内部到企业内部的团队合作、到企业之间、行业之间、乃至整个国家、全世界的团队合作。在可以公开的技术层次上交流沟通,我们也会成为推动技术进步的领跑者。

以上主要介绍了程序员的工作内容和程序员在考虑职业规划时,应该注意的一些方面,下面再分析一下当前国内的大环境。

目前,客观地来说,国内的大环境对程序员发展还是不利的,很多企业重视的是短期利益,没有为程序员设计合适的发展路线和组织结构;程序员在工作一段时间后,在公司内部找不到合适的位置,只能选择离开公司。不过已经有一些企业开始注意到这个问题,并在企业内部为程序员的职业规划制定了配套的管理制度,对程序员岗位进行了分级别设置,让程序员即使在技术层次上也有了上升空间,在企业内部就可以得到发展。

企业稳定发展需要有经验的员工。有经验的程序员越来越受到青睐,随着计算机技术的发展,也随着程序员角色的不断细化、分工,企业越来越意识到经验丰富的程序员在软件开发中起到的关键作用。此外,老程序员对公司的业务有深刻的认识,这是年轻的程序员不可能具备的,这些东西都需要由老人向新手传授,缺少这个过渡,公司正常的工作流程将不得不被打断。

随着软件技术的发展,和各种软件系统功能的增强和复杂化,经验丰富的程序员将会越来越受到重视,对程序员来说,“30岁问题”也将不再是问题。

综上所述,编程技术不断细化的结果,导致了程序员职位的不断细化,程序员在岗位上有了属于自己的发展空间,这是计算机技术不断发展的必然结果,也是社会分工在软件领域的体现。这种职位的细化将会衍生新的职位。它告诉我们应该用一种开放的、发散的思维去面对所谓的职业规划,换句话说,不管你以后做管理也好、继续做编码工作也好,我们都不能去定义一个确定的职位作为自己的职业目标,因为这样会限制自己的发展思路,让我们的自主性和创造性都大打折扣。现在能够在各公司就职的系统架构师,在六年前,或者八年前的今天,难道会把“系统架构师”作为自己的职业目标吗?

作为程序员来说,编码工作一定是要做的,离开这个谈职业规划是不现实的(除非是现在就去做其他工作);在“埋头干活”的同时,要时刻关注技术发展,要会有所取舍,多吸收和本行业领域有关的知识,在工作过程中,也要注意和团队成员之间多交流,注重团队成长。程序员的职业生涯和其他技术工作者一样,应该是一个动态变化的过程,而不是一成不变的模式或定义。

“埋头干活、抬头看路”,这就是我的职业生涯。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲