为什么年事已高的我还在编程?(转)

每一个行业的从业人员都会有变老的那一刻,难道变老了之后还要继续从事之前的工作吗?估计没人愿意,除非是体力上吃得消的。接下来所讲述的就是作为程序员的码农们该如何迎接慢慢变老之后的工作转变!

  人们都会期望随着岁数的增加,个人条件受到限制的时候,你会放弃现实里的一些工作,如编程。从而转向更加高大上的任务,比如管理一个团队或者融资。

  这在“真正的教授”决定细节的学术界确实如此,只保留“大方向的东西”。换句话说,组织正面向垂直协作:顶层的管理者管理一个平行结构中的一些(更廉价的)雇员。在研究机构中,高级科学家提出想法,而初级科学家的任务就是来实现这些想法。随时间的推移,高级科学家可能不会做初级科学家会做的事情,但是他们会变成融资方面的专家。因此,就出现了这么一个可扩展的模型:高级科学家可以让中层科学家指导初级科学家等等。Jorge Cham 将这种模型称之为 Profzi scheme,因为一旦资金方面非常充足的话,它的表现就异常的优异。

  同行间横向协作

  在此模型中,高级科学家做所有事情,从点子到实现。他们喜欢尽可能地自动避免繁杂的工作。合作主要是用来得到一个不同的角度和专业互补点。这种模式在资金缺乏的前提下仍然可以良好的运行,但是它不能够适应参与者过多的现象:横向协作关系过于紧密。

  每个模型支持不同类型的工作。我认为,垂直协作有利于长期的和可预测的工作。而横向协作有助于偶然情况和“狂野”的想法。

  我愿意花宝贵时间去编程的理由

  我比较赞成横向协作,这也正是为什么我老了但是我还在编程的原因。这看上去很不寻常,也许有人对此很不解。有些编程需要花费很多时间,我一年当中用在编程上的时间有两三个月之久。虽然我的时间很宝贵,我也可以将我的这些工作花点钱外包出去也行,但是我还是愿意自己亲手做这样的在别人看来浪费精力的事情,为什么呢?这里我引用 Donald Knuth 的话来做解释:

那些致力于更高层次和抽象思维的人们通常会错误地认为低层次的具体想法相对而言没有价值而且很可能被人遗忘。恰恰相反,最好的计算机科学家需要透彻地了解计算机实际运行的基本概念,而且计算机科学的精髓就在于能够同时理解众多层次抽象的能力。

  但我也有我自己的观点:

我希望我的工作是重要的且能产生影响力的。然而,即使是被广泛引用的研究论文都很少有人详读细看,也是因为很少有研究论文能够产生显著的影响力。然而,从事与软件相关的事情是比较容易的。例如,最近 Facebook 的一个团队集成了我发布的一个 Apache Hive 中的压缩位图索引库:基于 Hadoop 数据仓库框架。在 Apache 的配置单元我压缩的位图索引库之一:基于 Hadoop 框架的数据仓库。但是我敢打赌,Facebook 团队里肯定没人去花时间阅读我写的这个软件的原始论文

  一次又一次实践经历只是为了让自己更好的理解自己的想法。常见的情况是一些听起来似乎很有道理的想法却无法通过实践途径实现。我也经常通过执行我的数学论证发现 bug。我能把这个工作外包给别人吗?也许可以。但结果估计不会是很让人满意。

  随着时间的推移,你在编程上的运作做得会更好,驾轻就熟。几十年来,我一直在锻炼我自己的专业技能。如果你在哪一天从头开始,在数天内解决了一个难题,特别是当你知道别人可能需要数周或数月才能解决问题的时候,那种感觉是很享受的。

  如果我的论点是合理的,就连 Donald Knuth 也支持我的观点的话,为何当我承认自己是一个程序员科学家的时候仍有人大跌眼镜?我觉得可能是大部分人都会拒绝编程这样低层次的工作吧,这一点从《闲人阶级理论》这可以得到证实。实际上,我们往往追求名望而不是实用。为了最大限度地提高信誉,必须了解休闲阶层的含义:你的工作一定不要产生实际的作用。因此,成为一名 CEO 或政客要比成为护士或者厨师带来更大的声望。那些离现实世界更远的科学家们会更加有声望。编程是一项类似制作工具的工作,因此来自有闲阶级的人们不会喜欢。人们会把自己称作工程师、分析师或是开发者,但很少称自己为“程序员”,因为这会显得太功利。

  所以,并不是每个人都应该去学习编程。它是一个耗时的活动。我编写了这么多的程序,花了那么时间以至于很多令人兴奋的事情我都做不了。

  老程序员还会出现哪些下场呢?

  之前在“外刊 IT 评论”上看到一篇文章,讲的就是一位 55 岁的老程序员的感慨,对自己变老之后的境遇痛心不已。

  50 多岁时你的职业仕途会成为一个问题。如果你有很好的技术,有人雇你,你会有一个很高的职衔,或你是一个专家,或有很好的人际关系,你都有可能找到一个新的职务。否则,你会从衣食无忧沦落为无家可归。这是真的。我 55 岁,我的简历会让你感觉非常优秀,10 年前我能挣到多达 100 万美元。现在我是一个流浪汉。我身体不是很好,没有医险,没有牙医。能找到的工作只是一些基本不需要技术的体力劳动,我也干不了。

  不希望年轻的程序员以后也变成这样,只能给你们下面的一些建议:

  1. 职场上往上爬,不要停。
  2. 成为某一方面的专家——虽然保持足够宽的技术面也很重要,这样你才不会被淘汰。
  3. 建立一个人际圈。扩大它。
  4. 多样化你的投资。
  5. 有工作时医疗保险一定要上,这方面不要出问题。如果你没了工作,没了钱,医疗保险也没有,这将会成为一个严重的问题。
  6. 与人为善。但也不要犯傻。大部分你帮助过的人不会回报你。
  7. 提早打算,人生不如意十有八九。

  程序员的出路在哪?

  有着 10 年软件行业从业经验,专注于微软 .NET 技术领域及项目管理的徐洪军根据自己的现状总结出了三条出路,希望对你有用。

  自己也是一个程序员,整天 coding, debugging,有时候也在想,真的有一天写不动了,或者公司更倾向于用年轻人做这些事,因为便宜而且有精力,那我怎么办?虽然国外也有很多老程序员,像我认识的几个德国同事,年纪一大把了,还是个软件工程师,干得还有滋有味。他们不在乎名也不在乎利,全在兴趣。可我不一样啊!国内和国外的环境也不同。时常到网上了解一些程序员的出路问题,总结起来觉得下面三条比较可行。

  出路一:向 IT 培训师转型

  分析:IT 企业在招聘新人后,一般都须经过培训才能上岗,这个培训有时是在岗位上进行的,由富有实践经验的“老人”负责。年轻人想要进入 IT 行业,必须接受这样的专业培训。如今 IT 培训市场蛋糕相当大,利润空间可观,行业发展前景看好。无论是在 IT 公司内部转型担任培训工作,还是到 IT 培训机构担任教师,都应该有发展空间。这样的工作不会有太大压力,且比较稳定,对年龄也没什么要求。而且也没有脱离本行。

  优势:在这个行业工作多年,拥有丰富编程、项目经验,曾参与过许多成功案例。而多年积攒的行业人脉关系,还可以帮助我们发展企业客户,顺便担任市场拓展工作。

  挑战:缺少培训工作经验。如果要向培训师转型,可能需要接受一些专业训练,提高担任培训师的能力。

  出路二:向 IT 营销转型

  分析:IT 与其它行业不同,由于技术性较强,营销人员一般也须有较强的技术背景,且最好有着丰富经验。互联网公司、

  电子商务公司、软件公司目前都需要有技术背景的营销人员;另外,电子商务的再度火爆,使得传统企业开始重视电子商务营销,也需要有技术背景的营销人员。这类工作薪水不低,加上提成应该可以拿到高于程序员的薪水,同时也比较稳定。

  优势:深厚的技术背景,广泛涉猎了各种编程软件和工具,对 IT 行业也有相对深入的了解,这些都是比较大的优势。

  挑战:程序员一般都很少与人打交道,口才也不太好,而营销工作恰恰需要跟人打交道,这可能是最大的挑战,要求彻底改变工作方式,加强沟通能力与人际交往能力;此外,营销工作会面临销售指标的压力,这些问题都是转型前必须深入考虑的。

  出路三:向项目管理努力

  分析:如果说前面两条出路转型的成分多,那么项目管理可以说是更为便捷的发展之路。目前,软件项目经理是人才市场上炙手可热的人才,有丰富经验、外语好的软件项目经理是抢手的香饽饽,供不应求,薪水自然也是水涨船高。在上海市劳动部门新发布的 2005 年软件行业薪资调查中,项目主管的薪水是同层次主管中最高的,年薪高位数达到 211011 元,平均年薪达 109414 元。最重要的是,一个优秀的项目经理可以在这个岗位上长久工作下去,并且有向高层进一步提升的可能。

  优势:对有经验、有技术、有人脉、有能力、参与过多个软件开发、有一定经验的人,项目管理无疑是发展的一个很好的方向。

  挑战:可能有些程序员在项目团队里一直是参与工作,很少担任过项目带头人。而很多公司在招聘项目经理时,都需要有带领团队进行项目开发的经验,这是一个劣势。最好参加一些项目管理方面的培训课程,自学相关的知识,增长自己在流程管理、沟通协调等方面的能力,以便积累资本,逐步向项目管理岗位迈进。

为什么年事已高的我还在编程?(转),布布扣,bubuko.com

时间: 2024-10-20 17:48:41

为什么年事已高的我还在编程?(转)的相关文章

长这么漂亮为啥还学编程?什么心态?

妹子,你事业线都有了,还学什么编程!什么心态啊? (ps:曾红极一时的“代码女神”) 高中时候给我补习数学的老师委婉的跟我爸爸说: “孩子这个……逻辑思维啊……不是说笨啊……就是这方面思维,不太强……听说过安利吗?我老婆代理这个螺旋藻专门补脑的……” 虽然之后我们家都默认了我智商有问题,可最终还是没吃那东西. 大学第一节汇编课,老师发现我脑子转的很快,所以整个一节课都面向我讲,等着看我的眼神,听我第一个答出他的问题. 下课之后他来跟我说: “我发现你逻辑思维很强的,真聪明啊!” 什么心态?就是一

我为什么学编程?

学习编程认真的算起来已经有2个多月了,实际上只有一个多月时间是认真学,其余时间是找借口或者说是心情不好,而不去学.总的来说已经是开始入门了.前几天一直以为自己笨,学了很长时间什么都没学会.可是昨天无意间看了学习Java的视频,感觉也没有那么难(我是从c语言开始学起的,看的是郝斌的视频和在网上买的C Primer Plus(第五版)中文版),除此之外,还发现那个老师打的代码不 规范,至少是不漂亮!!! 好了,言归正传!我在上初中时,我的一个远房叔叔就送了我一本谭浩强写的<C语言程序设计>,可是我

GO语言的进阶之路-面向对象编程

GO语言的进阶之路-面向对象编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 当你看完这篇文章之时,我可以说你的Golang算是入门了,何为入门?就是你去看Docker 源码能看懂60%的语法结构,因为涉及一些unix的代码可能没有Linux运维基础的同学在学习的时候会很吃力,看起来也会带来一定的难度,如果有时间的话我会给大家解析Docker部门精辟的源码.好了,回归正题吧,我们今天要学习的内容是什么呢?即面向对象编程.当然,不要用屌丝的心态来说:"那要是没对象的还咋编程呢

可编程控制器出多路的了

旧款控制器只有8路输入,7路输出,对于一些复杂场合仍不够用. 最近厂家新推出16个输入12个输出的控制器,点数大大增加.在一些场合上不必两个控制器拼起来用了. 产品更新了,而编程软件无需更新,兼容性还不赖(编程软件可以编辑输入或输出多达32个,足够用了) 中文编程,只需点几下鼠标选择命令即可.无需专业知识,即可自行动手改造

编程基础的重要性(程序员之路)

学习编程有几年了,感觉走了不少弯路,而不少的学弟学妹又在重蹈我当初的覆辙,不免有些痛心.最近在网上也看了许多前辈们的经验建议,再结合自己的学习经历在这里谈谈基础的重要性,希望帮助大家少走些弯路. 什么是基础呢?就是要把我们大学所学的离散数学,算法与数据结构,操作系统,计算机体系结构,编译原理等课程学好,对计算机的体系,CPU本身,操作系统内核,系统平台,面向对象编程,程序的性能等要有深层次的掌握. 初学者可能体会不到这些基础的重要性,学习jsp,donet,mfc,vb的朋友甚至会对这些嗤之以鼻

Spring 框架之九阴真经

Chapter One . Spring 事务配置 1.事务(Transaction)是并发控制的单位,是用户定义的一个操作序列. 这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性. 事务通常是以Begin,Transaction 开始,以Commit或Rollback结束. Commit:表示提交,即提交事务的所有操作.具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结

c#简要概括面向对象的三大特征

要去面试了,朋友给我出个问题: 一,封装: 我们可以把世界上任何一个东西都看作为一个对象,那么我们这里以人为例,一个人就肯定是一个对象了. 那么封装是什么呢?封装就是这个人要完成一件事情,他所需要的任何工具都带在了自己的身上,所需要的技术也都装在了自己的脑子里了.不需要借助于别人的力量就能完成这一件事情.这个有什么好处呢?好处就是如果我要吩咐这个人去完成一件事情,我不需要知道他是怎么完成的,也不需要协助他去完成,只要知道结果,他完成了就OK了.至于他是先干什么后干什么我不干涉,这有助于他更快更好

【Objective-C】04-第一个OC程序解析

说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C.如果你还没有编程经验,或者对Objective-C.iOS开发不感兴趣,请忽略.学习本专题之前,建议先学习C语言专题. 在上一讲,已经新建了第一个OC程序,这讲就来解析它内部的代码. 查看项目结构可以发现这个程序中只有一个源文件:main.m 打开main.m文件,代码如下 1 #import <Foundation/Foundation.h> 2 3 in

学好数学能让程序员的水平更高

I've been working for the past 15 months on repairing my rusty math skills, ever since I read a biography of Johnny von Neumann. I've read a huge stack of math books, and I have an even bigger stack of unread math books. And it's starting to come tog