程序员等于吃青春饭吗?

2014-9-1 13:56| 发布者: 传智特刊| 查看: 224| 评论: 0

摘要: 在中国,人们对软件行业从业者有这么一个说法,即:程序员=吃青春饭的,这使得程序员的年龄问题显得相当敏感。很多计算机相关专业的毕业生在择业时,不知道是受到什么因素的影响,对于程序员这个职业,普遍存在一个 ...
在中国,人们对软件行业从业者有这么一个说法,即:程序员=吃青春饭的,这使得程序员的年龄问题显得相当敏感。
很多计算机相关专业的毕业生在择业时,不知道是受到什么因素的影响,对于程序员这个职业,普遍存在一个认识上的错误,他们认为程序员的“职业生涯”很短暂,吃的是青春饭,等年龄大了,如果不转行,就没用了,没有企业要了,生存都存在问题了。还有很多人认为程序员这个职业眼前虽然高薪,但是却是以牺牲身体、时间换来的,经常还要加班,“享受”非人的待遇,最后还落下一身职业病,例如:颈椎病、腰椎间盘突出、高度近视等,所以他们认为这个职业尽管眼前光明,但是没有什么前途,可事实绝非如此,这是对程序员这个职业的一种误解。

Part1 误区:软件开发职业是青春饭
之所以出现“程序员是吃青春饭的”这一观点,可能是因为很多人认为国内程序员的工作虽然高薪,但确实很累,需要耗费大量的时间和精力,只有年轻人才顶得住。无法否认,就国内的软件行业现状来说,程序员工作比较累的现象确实存在,但是编程序只有年轻人才能做得了的说法,却是错误的认识。
首先,国内的软件开发管理存在不规范的现象,作坊式的个人行为很严重,互相配合、协同开发的效率很低,分工不明确,一个人要做好几个人的事;
其次,客户需求不明确,很多客户自己企业的管理都很不规范,自己都搞不清楚自己的生产流程,要用计算机进行管理是行不通的;
第三,软件开发市场竞争激烈,有些公司为了获得订单,用户要求什么就答应什么,结果就苦了程序员。随着国内软件开发市场和用户市场的逐渐成熟,以及软件规模的扩大,程序员的辛苦会逐渐降低。
而随着技术能力和工作经验的增加,程序员可以向软件设计师、系统分析员、项目主管、项目经理、CIO过渡。中国的软件产业刚刚开始,不但需要大量的程序员,而且逐渐会需要更多的设计分析、管理人员。当然,准程序员们目前首先要做好的是学好功课,然后去做程序员,做上几年程序员以后,再逐步向上发展。
还有一个问题:工作很辛苦。我郑重地告诉你:没有不辛苦的工作!关键是怎样把工作转化为一种享受,让自己的心情快乐起来。
针对软件开发职业是青春饭这个观点,我们来做一个误区分析:
误区01年长程序员要求的薪酬一般要比年轻程序员高很多,相比之下年轻的程序员更能受到企业的青睐。
其实,相比年轻程序员,年长程序员更有竞争力,因为年长程序员具备丰富的项目经验,之所以薪酬比年轻程序员高很多,有它的合理性与必然性。虽然年轻的程序员薪水相对比较少,但是他们一般没有经受过失败的教训,对于项目的认知与把握普遍不如年长的程序员。很多项目需要有激情的年轻人,同时也需要经验丰富的年长者进行架构、技术指导,因此给予年长者高薪也是必须的,因为他们的价值完全能够匹配他们拿到的薪水。
误区02年长程序员缺少灵活性,缺乏学习新知识的能力与动力,做事比较古板。
年长程序员的阅历较年轻的程序员更深、更广,越是有经验的程序员越能够更迅速、更深度地迁移到新的技术、框架和系统里,其中很多深刻的见解并不是新人可以拥有的。况且,由这些思想储备来提升的生产效率,并不是能用什么方法直接测量到。
误区03年长程序员不愿意去干那些很辛苦的实际开发工作,编程水平一般,只会指手划脚。
没有谁能够保证年长的程序员就不用加班,年轻的程序员就一定经常加班。随着人生阅历的增加,年长的程序员相比较年轻的程序员,更不愿意加班加点辛苦地工作,毕竟他们有了家庭,需要考虑的事情更多了,他们知道只有工作效率有问题才会将自己推到每周工作80小时的处境。很多有家室的程序员都能有效地管理自己的个人时间,否则他立刻会淹没在各种工作之中无法抽身。而当企业需要他们加班的时候,年长的程序员也会义无反顾地加班,丝毫不逊色于年轻的程序员。
误区04年长程序员没有年轻程序员脑瓜灵活、思维敏捷。
最后,由于生理特性,年长者在智力方面确实不如年轻人了,年长的程序员比年轻的程序员的反应速度也相对慢一些,但正确的判断来自于经验,经验来自于常年累月的积淀,年长的程序员见识过、经历过的成功、失败的案例都比年轻人多得多,经验丰富的程序员有大量的案例可以拿来作为借鉴和参考,而年轻的程序员初出茅庐,很难做到这一点,即使可能会有一些很好的新观点,但通常是没有经过测试和验证的,很难付诸实践。
每个人都年轻过,也有年老的时候,而年轻不是坏事,年老也不是所有都好,重要的是,肚子里没有真材实料的程序员在哪里都很难有发展前景,有实力的程序员,无论是年轻还是年老,在哪里都是香饽饽。所以程序员这个职业不仅不是吃“青春饭”的,而且这个职业还会让人永葆青春,充满活力。

Part2 程序员如何规避吃青春饭?
现今,科技领域技术更新迅速,作为该领域幕后勤恳劳作的程序员,要想在其中永远保持领先,跟得上时代,规避吃青春饭的尴尬,就需要时刻面向未来做好准备。但面对各种技术,各种开发语言,程序员该如何做?我们先来看看程序员的出路在哪里?
程序员的出路在哪里?
一位有着10年软件行业从业经验,专注于微软.Net技术领域及项目管理的人员根据自己的现状总结出了三条出路,希望对你们有用。
出路一:向IT培训师转型
分析:IT企业在招聘新人后,一般都须经过培训才能上岗,这个培训有时是在岗位上进行的,由富有实践经验的“老人”负责。年轻人想要进入IT行业,必须接受这样的专业培训。如今IT培训市场蛋糕相当大,利润空间可观,行业发展前景看好。无论是在IT公司内部转型担任培训工作,还是到IT培训机构担任教师,都有很大的发展空间。这样的工作不会有太大压力,且比较稳定,对年龄也没什么要求,而且也没有脱离本行。 
优势:在这个行业工作多年,拥有丰富编程、项目经验,曾参与过许多成功案例。而多年积攒的行业人脉关系,还可以帮助我们发展企业客户,顺便担任市场拓展工作。 
挑战:缺少培训工作经验。如果要向培训师转型,可能需要接受一些专业训练,提高担任培训师的能力。
出路二:向IT营销转型
IT与其它行业不同,由于技术性较强,营销人员一般须有较强的技术背景,且最好有着丰富经验。互联网公司、电子商务公司、软件公司目前都需要有技术背景的营销人员;另外,电子商务的再度火爆,使得传统企业开始重视电子商务营销,也需要有技术背景的营销人员。这类工作薪水不低,加上提成应该可以拿到高于程序员的薪水,同时也比较稳定。 
深厚的技术背景,广泛涉猎了各种编程软件和工具,对IT行业也有相对深入的了解,这些都是比较大的优势。
挑战:程序员一般都很少与人打交道,口才也不太好,而营销工作恰恰需要跟人打交道,这可能是最大的挑战,要求彻底改变工作方式,加强沟通能力与人际交往能力;此外,营销工作会面临销售指标的压力,这些问题都是转型前必须深入考虑的。 
出路三:向项目管理努力
分析:如果说前面两条出路转型的成分多,那么项目管理可以说是更为便捷的发展之路。目前,软件项目经理是人才市场上受热捧的人才,有丰富经验、外语好的软件项目经理是抢手的香饽饽,供不应求,薪水自然也是水涨船高。最重要的是,一个优秀的项目经理可以在这个岗位上长久工作下去,并且有向高层进一步提升的可能。 
优势:对有经验、有技术、有人脉、有能力、参与过多个软件开发、有一定经验的人,项目管理无疑是发展的一个很好的方向。 
挑战:可能有些程序员在项目团队里一直是参与工作,很少担任过项目带头人。而很多公司在招聘项目经理时,都需要有带领团队进行项目开发的经验,这是一个劣势。最好参加一些项目管理方面的培训课程,自学相关的知识,增长自己在流程管理、沟通协调等方面的能力,以便积累资本,逐步向项目管理岗位迈进。

程序员如何为未来做准备?
面对日新月异的软件开发技术,程序员们如何将这碗饭吃好,吃长久,为未来做好准备呢?
01 .挑选一个广阔而稳固的基础方向
确保软件开发者前途光明的最可靠办法是避免彻底偏向,应该打下一个广阔而稳固的职业基础。许多技术是时尚的,但总有一些技术更能经受时间磨砺,像C或者C++语言已经出现很久,仍在大量使用。JavaScript是另一个具备稳固基础的伟大技术,它可以用于任何平台的编程,包括移动端、网页端,甚至嵌入式系统。你尤其需要提升通用技术而不是特殊技术。拥有通用技巧是软件开发过程中编写良好代码的核心灵魂。
02.留意最新趋势
做不到准确预测未来,但可以通过一些指标看出潮流趋势,关注趋势和热议内容一直是个好主意。在Hacker News和Pro Git等网站经常可以发现新技术的苗头。开发者大会和技术沙龙也是发现新趋势不错的渠道。
03 .持续学习
保证不落伍最稳固的方法是学习新技术并不断扩展知识面、提升已有技术。作为软件开发者应该习惯于终身学习,制定一个计划让每天或每周有一个固定的学习时间。学会如何学习,以提高学习效率并使学习变成更有趣的经历。自学是在永远变化的技术世界中存活的重要武器。
记住,世界上没有东西是凭空诞生的。新技术和新编程语言会出现,但它们都是现有某种技术或编程语言的改作或组合。你知道得越多,就越能关联新事物并使新学习部分大量减少。
04 .愿意改变和调整
固守已知而忽略发展确实容易,但谁都不能阻止未来,我们最好放弃抗拒趋势发展,学会改变和调整。
如果始终迷信一种技术,最后伤害将多于帮助,我逐渐认识到在大风中应弯下腰。

如何做一名优秀的程序员
作为程序员,价值的实现不是通过你知道些什么来衡量,而是通过你做出的设计来衡量。虽然两者之间存在联系,但并不相同。那么,如何才能成为优秀的程序员?
01 .发现问题要及时解决
程序员在编写代码时,遇到真正的难题很少,也很少有专门做技术的公司。要想成为优秀的程序员,第一步就是要及时解决遇到的难题。遇到有问题的代码而不去解决的程序员不是好程序员。无论你是Ruby、Node.js、Angular还是其他开发人员,遇到问题一定要解决。
02 .从代码中学习
我发现很多程序员的编码水平都达到了一个稳定值,因为他们还没有找到可以提高他们编码水平的方法,这是一件很糟糕的事。怎样才能提高自己的编码水平?最简单的方法就是从好的、不好的代码中学习。通过长期积累,你应该可以分辨出哪些代码值得你学习。
03.态度端正
一个好的程序要确保自己写出的代码能够正常运行,在写代码过程中,态度一定要端正。如果不端正的话,会影响到你写代码的速度和质量,同时也会造成Bug,说不定还会惹怒你的领导。
04 . 适量测试
测试是一种有力的工具,就像战士穿铠甲一样,穿得越多,越不容易失败;越不害怕失败,你做得就会越多,进步的空间也比较大。但到底什么才是适量的测试?对此没有明确的回答,依情况来定。测试是你需要学习的另一个新的专业知识,要多花时间思考哪些东西需要做测试,怎样才能做好测试。
05 . 每天至少花四个小时来认真做本分工作
大多数程序员喜欢讨论优化自己、关注黑客等,
其实你根本不需要做这些来提高工作效率,最根本的是要每天坚持做自己的本分工作。每天至少花4个小时的时间认真做好自己的本职工作,这并不是一件容易的事情,如果长期坚持下去的话,势必会成为团队最优秀的成员之一。
记录有价值的代码并与团队分享:培养记录有价值代码的习惯,记录下来之后,还应该花时间与你的团队成员分享,互相学习。在编程过程中,遇到的最糟糕的事就是修复Bug。分享可以有效降低出现这种事情的概率。

06 . 使团队更优秀
你的出现使团队变得更优秀还是更糟糕?你编写代码、编制文档和你的技术能力帮助到队友了吗?你是否经常鼓励队友,使他们为成为优秀的程序员努力?你应该想尽办法使团队变得更优秀,比如在工作上帮助他们。要记住,只有你一个人“聪明”并不聪明。
其实,作为一个优秀的程序员,不在于你有多聪明或者有多少理论知识,也和你从哪所大学毕业无关。你是一个怎样的程序员最终只由你所做出来的工作以及身边人对你的评价决定。所以,要想成为一名优秀的程序员,继续加油吧!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值