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

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

这在“真正的教授”决定细节的学术界确实如此,只保留“大方向的东西”。换句话说,组织正面向垂直协作:顶层的管理者管理一个平行结构中的一些(更廉价的)雇员。在研究机构中,高级科学家提出想法,而初级科学家的任务就是来实现这些想法。随时间的推移,高级科学家可能不会做初级科学家会做的事情,但是他们会变成融资方面的专家。因此,就出现了这么一个可扩展的模型:高级科学家可以让中层科学家指导初级科学家等等。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元。最重要的是,一个优秀的项目经理可以在这个岗位上长久工作下去,并且有向高层进一步提升的可能。

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

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

为什么年事已高的我还在编程?相关推荐

  1. 35岁,还学编程是不是很难

         我35岁,还学编程是不是很难? 读书时学的是计算机应用专业,对计算机编程是有过初步的了解, 出来工作10多年了,一直是做CAD方面的事,现在所从事的工作有一方面的应用,如果编个应用程序的话, ...

  2. Google走了,如果没有搜索引擎,大家还会编程吗?同时猜想后面可能会发生的事?

    如 题   (Google走了,如果没有搜索引擎,大家还会编程吗?同时猜想后面可能会发生的事?)

  3. 55岁加入Google做程序员,69岁还在编程,这才是代码人生

    作者:Frank Jernigan, 前Google软件工程师 翻译:码农翻身 我在2001年的时候加入了Google, 那时候我已经55岁了,是的,就是55岁.在Google的四年,我一直是全公司最 ...

  4. ipad pro能用python编程吗_iPad Pro 上还能编程?一点都不稀奇

    大背景:若干年后,当人们拿着一台 iPad 编程,作图,建模,打 3A 级游戏,看 4K 影片,或许没人会想到,早在 2018 年夏天,所有这些技术早已初露端倪,各大科技公司之间的技术对决,早已在暗中 ...

  5. 强烈推荐这款神器,把网站转pdf还能编程高级定制!【建议收藏】

    正式的Python专栏第8篇,同学站住,别错过这个从0开始的文章! 学委之前写过一篇把热榜保存为html文件的,这次利用上次写的部分代码继续拓展:生成pdf文件. 我们需要的就是这个软件: wkhtm ...

  6. 从淘宝第1位程序员, 到阿里合伙人,20多年了,非科班出身的他还在编程,程序员的榜样

    2003年4月9日,马云把蔡景现(花名"多隆")叫到办公室,并给了一份新合同,他问蔡:"有个秘密的项目你要不要去参加?" 因为看不懂全英文的合同,蔡说:&quo ...

  7. 能撸会跑,还可编程,全球首款AI仿生宠物机器人“火星猫”开始量产

    大象机器人自主研发的仿生宠物机器猫 Marscat火星猫已开始量产. 就像一只真正的猫一样,火星猫是完全自主的.不需要额外的指令来控制它的运动.火星猫会走路.跑步.睡觉.坐着.伸展.咬指甲.揉捏甚至掩 ...

  8. shell指令可以直接在终端输入吗_shell不是LInux系统的壳吗?咋还能脚本编程了?...

    小豆丁:老张!老张!你快来! 老张:咋啦?火烧屁股啦?急急忙忙的! 小豆丁:啥火烧屁股啊,我是遇到问题了! 老张:也对,你只有遇到问题的时候才会找我!说吧,啥事? 小豆丁:老张啊,你不是刚给我讲完Li ...

  9. 00后的AI开发者进阶之道:从入门到鏖战MIT编程大赛 | 人物志

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」,购票请扫码咨询 ↑↑↑ 作者 | 若名 出品 | AI科技大本营(ID:rgznai100) 当所有中国的高中生都在拼命为跨过高考这道 ...

最新文章

  1. 如何取消JS事件的派发——stopPropagation()
  2. 移动端不利用HTML5和echarts开发一样可以实现大数据展示及炫酷统计系统(产品技术综合)...
  3. URAL 1047 Simple Calculations
  4. 【学习笔记】springboot中的全局异常处理 和@ControllerAdvice的使用
  5. 程序员面试金典 - 面试题 04.01. 节点间通路(图的遍历)
  6. linux读取dmp备份数据打开,Linux 中 Oracle dmp 文件导入导出(转)
  7. C#LeetCode刷题之#55-跳跃游戏(Jump Game)
  8. Bootstrap 图片样式
  9. python init文件_Python __init__.py 作用详解
  10. Javascript 时间操作汇总
  11. linux(Centos5.1)升级至2.6.19内核+L7实现-- 续限P2P软件
  12. 步进电机和步进电机电机驱动器
  13. html 苹果6尺寸,iPhone6界面设计尺寸规范大全【含原型设计规范】
  14. python--快速启动Server
  15. CTL_CODE 宏 详解
  16. outlook计算机应用基础,计算机应用基础Outlook.doc
  17. 如何通过maven官网查询相关依赖的具体代码和版本?
  18. 破解微信 DB, 导出 Mac 微信聊天记录
  19. 周鸿祎:没钱也能创业 怎样写商业计划书
  20. android 查看系统数据库

热门文章

  1. Arcmap格式转arcgis的shp格式
  2. 第十四节:Asp.Net Core WebApi生成在线文档-第十九节
  3. 结合vue、react、angular谈谈MVC、MVP、MVVM框架
  4. DB、ETL、DW、OLAP、DM、BI关系结构图
  5. 《操作系统真象还原》-阅读笔记(下)
  6. SparkStreaming - 窗口函数(窗口操作)
  7. 【Python CheckiO 题解】Days Between
  8. iphone电压测试软件,‎App Store 上的“ECG Test Pro”
  9. 【CodeForces - 768C】Jon Snow and his Favourite Number(思维,技巧,套路,数学异或,循环节,trick)
  10. 【POJ - 3259 】Wormholes(Bellman_Ford或spfa算法,判断有向图中是否存在负环)