`

老骥伏枥,志在千里:如何在40岁后继续做软件开发?

阅读更多

 

导读:

  这是一个 42 岁的开发者所写经验分享文章.并且列出一些他 18 年多身为软件开发者的经验谈.许多部分看完后都会希望自己当时就能够了解,所以很推荐不论是新手或是老手都要好好阅读这一篇文章。

  故事很长,一切从 1997 年开始讲起.那是一个令人怀念的年代(FF7 发售,微软入股苹果,铁达尼号电影上映),那是作者第一年身为软件开发者的年份。当时他的第一份工作是从事 ASP 并且在微软的平台上面使用 EditPlus。十八年过去,作者一共做过六份工作,其中被炒鱿鱼两次,出过两本书,从事过不少演讲。他整理了他的一些心得,希望年轻的开发者(或是有志将软件开发作为终生志业的人)一些建议,条列如下:

1、Forget The Hype (忘记各种程序语言与架构的炒作与热潮)

  不少的新的语言与技术来来去去,作者不是要你别去学习新事物,而是不要因为有太多的新事物而恐慌或是自我放弃。持续钻研你目前在学习的,并且可以每年挑一些你有兴趣的项目深入了解。

  [反观我自己]各种后端与前端语言来来去去,我把时间花在学习 Python(会持续), RubyScala(会持续)与 Golang(会持续)。透过使用 Golang 可以有更多的时间去了解系统架构与直接面对问题,让写程序变得更有趣。

2、Choose Your GalaxyWisely(慎选你的星系)

  为了维持原文的意思,我还是使用星系这个字。这边指的是你学习跟从事的技术要慎选,举例而言,微软星系(泛指: .NetC# ….)或是 Apple 星系(Objective C++Swift …)。慎选你喜欢的星系,因为那会影响你未来的发展。

  [反观我自己]过去十年主要针对微软星系,目前主要就是后端的 Ubuntu 星系 ,各种后端程序语言都是我目前主要的重点,当然还有 Docker 相关技术。

3、Learn About Software History(了解各种软件的历史)

  作者认为如果你喜欢一种程序语言、一种架构,你就需要好好的了解它的由来与故事。

  [反观我自己]比如说我喜欢 Golang ,我就应该要了解以下的一些问题:

  Q:Golang 是谁发明的?

  Ans: 由 Google 内部的三位大神 Robert GriesemerKen Thompson语言的共同发明者)与 Rob PikeUTF-8 的共同发明者),在 2007 年于 Google 内部共同起草发明。

  Q: 他主要解决什么问题?为何以前做不到?

  Ans:根据第一份 Golang Talk,原因为:

 

  • Go fast
  • Make programming fun again.
  • 世界在变,但是系统语言却已经十年没变。
  • 系统语言往往编译过久。

  为何以前做不到:(在旧的程序语言上做不到)

  新增函式库不是一个正确的方向。

  需要从新思考整个架构来开发新的程序语言。

  Q:目前这个技术的最新状况如何?

  Ans:Golang 目前是 1.6.2(2016/05/03) ,并且支持 HTTP2 并且可以透过 gomobile 在手机上也可以使用相关套件。

4、Keep on Learning (持续学习!)

  不论你喜欢哪些新的技术或是新的程序语言,你都应该持续的学习,里面并且建议:

  每年学习一个新的程序语言。

  每年读六本书。(作者推荐 PeoplewareThe Psychology of Software ProgrammingFactsand Fallacies of Software EngineeringAgile!: The Good,the Hype and the UglyRework  Geekonomics,都是好书。)

  [反观我自己]

  程序语言部分 2014 (Ruby, Scala) 2015(Go, Swift) 2016 还没有决定.

  读书部分:每年读没有超过六本书,但是读过不少论文并且有上过一些 MOOCs

5、Teach(指导其他人)

  这边指的不是一定要开堂授课,你可以写一篇部落格来讲解你学习的新事物,因为教导是最好的学习方式。

  [反观我自己]还好部落格从来没停过,个人也认为写部落格的过程可以让我不断地检视我了解的部分,并且弄懂所有的细节(希望!),不过还是希望能够多多指导其他人(比如说 meetup 或是 talk)。

6、Workplaces Suck(工作场所糟糕透了)

  不要去期望软件公司会给你任何职涯的规划,相反的不少公司会将你认为是另外一种的劳工,只会将你放在你擅长的位子,所以也有软件公司变成血汗工厂的相关文章。作者同时也认为开放性座位对于需要高度脑力工作的软件工作者是一种最不好的设计(使用 “cancer” 这个词)。而对于工作上的指派,作者也建议大家应该要好好了解每个任务的内容.有任何疑问应该要提出来讨论,对于不了解的事物盲从是最不好的,应该不惜抗拒权威或是离职才是正确的选择,不要让这样的工作风气扼杀了你的热情。

 

  [反观我自己]我一向对于任何不合理的任务指派都会有意见,甚至不断地提出抗议。(当然结果可能都不好!)但是如果因为这样就不提出,那么我们还剩下什么呢?

7、Know Your Worth(了解自我的市场价值)

  这篇是要大家充分的了解自己的市场行情(也就是薪水),根据这篇文章通常一个软件工程师应该要能创造出他自己薪水等级的十倍价值。事实上可能远远不止如此,所以作者建议我们要勇敢地去争取更多的薪水,甚至你可以公开你的薪水等级,让更多人知道你是否被低估(或是高估)任何(自认为)有你相同能力的人,都应该拿到一样的待遇。

  [反观我自己]这件事情还真是难做到,在一间公司待久之后,最容易降低的就是薪水提升的幅度。这件事情还得努力学习,让自己的市场价值更高.同时我们也要不断检视,我们自己能不能创造出自己薪水的十倍价值。

8、Send The Elevator Down (虚心地接受任何意见)

  这边我的解读可能跟作者原先的不同。他有提到肤色与种族的优势,但是我想到的却是你的职位,你可能会听到许多来自于部下或是后辈的建议(或是批评)。不要快速地想要反驳或是抵制,充分的了解过后,或许可以坦诚自己的见解或许是有盲点的,必要时甚至可以道歉并且快速修正。如同许多书上有提到的:「你雇用一个员工,一定是要比你还强的,这样你才能将事情交给他办,你自己做更需要更大视野的任务。」

  [反观我自己]参加社群后,最容易有这种感觉:太多令人钦佩的后辈了,每个人都有着渊博而清楚的知识。我们不需要否认,更不需要去挑惕或是批评,我们要谦虚的接受并且吸收,成为我们自己的养分。

9、LLVM(一个自由软件项目,是一种编译程序的基础建设,以 C++ 写成)

  作者认为 LLVM 会是下一个重要的信息业的星系(Galaxy) ,目前已经有许多的程序语言支持 LLVM 了。所以作者建议我们可以花一些时间去了解,或许去学习相关的程序语言。

  [反观我自己]虽然 Python  Swift 都有学习,但是还不是我最上手的程序语言之一。这一个部分我会好好谨记于心,好好学习。

10、Follow Your Gut(相信你的直觉)

  作者在 2000 年就觉得 .NET 会引领接下来的几年,在 2007 年 iPhone 的发表会就了解他的相关技术会是紧接着几年的发展趋势。

  当然,这是作者的直觉。但是,你也应该充分地相信你的直觉,并且努力的去追求与学习。

  [反观我自己]我在 2014 年开始学习许多不同的程序语言, Python, Ruby, Objective C, Java, Swift, Scala  Rust。最后学习到 Golang,我直觉认为 Golang 会是 Server-side (或是说 Service-side)最重要的程序语言之一,所以我会努力学习。

11、APIs Are King(API 是王道)

  这边很推崇好的 API 设计是很重要的,不仅仅影响 server  client 的沟通,更会影响到好的软件质量。也提出 chunky is better than chatty (简单的说:就是不要将 API 拆的太精简,使得 API call 需要往来相当的多次。)

  同时作者也建议不要太依赖 REST ,不仿看看 socket.io,ZeroMQ, RabbitMQ, 或是 Erlang。并且也应该开始架设自己的机器人。

  [反观我自己]没有想过,原来 chunky 的设计准则在某些状况下竟然比 chatty 更好,这得好好学习。我有架设自己的机器人来帮助我处理一些日常服务器维护的琐碎事项。

12、Fight Complexity(将复杂的事情简单化)

  永远要秉持着 KISS 原则(“Keep itshort and simple”)来处理任何事情. 面对困难或是负责的事情,有着不少工具可以帮助你将设计简单化。

  [反观我自己]我一直认为能够越有能力的人,越能够将复杂的事情简单的讲解,或是写成一段简单的程序代码来实现,这个能力是我们都要不断学习的。

 

Conclusion(结论)

  「年龄永远不会是一个问题,只要你的心不断催促你持续写程序,持续制造新的东西,你永远都会是年轻的。」

  这是作者给我们的结论,他也希望我们能够保持一颗年轻的心,不断学习。 2016 是一个崭新的一年,有着许多新奇的事件发生:微软拥抱 Ubuntu,并且让 SQL Server  Linux 上执行,人工智能(AlphaGo)的大反攻。我们不会知道有什么将发生,但是他希望我们都记住这些精神,并且微笑向前。 

1
0
分享到:
评论

相关推荐

    老骥伏枥黑威联通母盘QNAP1G-BOOT已配置好启动(优化版)

    备注:在esxi新建虚拟机就按此教程VM虚拟机软件中的说明就可以,理论上esxi6.5及以上可用,测试为esxi6.7,仅供学习交流,非原创,只是再这个基础上进行了改进。 第二步:新建虚拟机 在vmware菜单栏中,按照以下...

    中考语文文言文基础知识:重要词语决战中考2021系列.doc

    《中考语文文言文基础知识:重要词语决战...6. 老骥伏枥,志在千里:表达老当益壮的豪情。 以上成语和语句是中考语文文言文部分的核心知识点,考生需要熟练掌握其含义和应用,以便在考试中灵活运用,提升语文素养。

    老骥伏枥 仍志在煤田——记甘肃省煤田地质局一三三队返聘高工谭继忠

    - “老骥伏枥 仍志在煤田”:这一句话描述了主人公谭继忠尽管年纪已高,但仍然对煤田地质工作充满热情和决心。这表明了他对工作的执着追求和奉献精神。 - “甘肃省煤田地质局一三三队返聘高工”:这部分信息说明谭...

    七年级语文上册 古诗词习题精选 (新版)新人教版 试题.doc

    4. 诗人决心为统一中国而继续奋斗的诗句是:“老骥伏枥,志在千里。”这里的“老骥”象征着曹操虽老犹壮,仍有着远大的抱负和追求。 5. 比喻人虽老了却仍有雄心壮志的诗句同样是:“老骥伏枥,志在千里;烈士暮年,...

    常见的八字成语.docx

    【标题与描述解析】:这个文档标题为"常见的八字成语.docx",描述与标签均表明这是一份学习资料,内容包含常见的八字成语、广告中成语的错误用法、成语之最、三字俗语、歇后语以及谚语等,用于学习和了解中文成语...

    七年级上册期中复习题诗文背诵默写精选.doc

    5. 孔子的生平教育阶段,他提到:吾十有五而志于学,三十而立,四十而不惑,五十知天命,六十而耳顺,七十而从心所欲,不逾矩。 6. 好的学习态度是喜欢学习,孔子说:知之者不如好之者,好之者不如乐之者。 7. 虚心...

    八字宣传口号范文.doc

    20. **老骥伏枥,志在千里**:无论年龄大小,对技术的热情和追求不应减退。 21. **苦海无边,回头是岸**:遇到困难时,及时调整方向,寻找新的解决方案。 22. **聚沙成洲,奋发超越**:通过集体力量,可以实现大的...

    中华成语典故大全.pdf

    这时的曹操已是五十三岁的人了,但历史的重任肩负在身,统一祖国大业的使命仍在召唤着他。于是写出了诗歌《步出夏门行》,表现了曹操热爱自然、蔑视天命、老当益壮、志在千里的积极进取精神,抒发了他那变革现实、...

    初一文言文复习【新课标人教版】精选.doc

    16. 老骥伏枥,志在千里;烈士暮年,壮心不已。 17. 青山郭外斜。 18. 曲径通幽处。 19. 万籁此都寂,但余钟磬音。 20. 随君直到夜郎西。 21. 何当共剪西窗烛,却话巴山夜雨时。 22. 商女不知亡国恨,隔江犹唱后庭花...

    山东省青岛市城阳第七中学七年级语文上册 课外古诗词习题精选 新人教版

    4. 诗中表达诗人决心为统一中国而继续奋斗的诗句是:“老骥伏枥,志在千里。”这里的“老骥”象征着曹操本人,他虽然年事已高,但依然有着统一中国的宏大志愿。 5. 诗中表现诗人虽临近暮年,却老当益壮的诗句是:...

    高考作文素材:常用诗句205个.pdf

    3. "老骥伏枥,志在千里":曹操的《龟虽寿》中这句话,比喻虽然年老但仍有雄心壮志,可用于讨论年龄与志向的关系。 4. "山不厌高,海不厌深":表达对人才的渴望,寓意求贤若渴,适合讨论领导力和团队建设。 5. "采...

    七年级语文月考试题2013.doc

    3. 古代年龄别称:15岁称为"及笄",30岁称为"而立",40岁称为"不惑",50岁称为"知天命",60岁称为"花甲",70岁称为"古稀"。 4. 修辞手法与语言表达:要求用至少两种词语,结合修辞手法如拟人、比喻等,描写春天景象...

    《龟虽寿》《宣州谢朓楼》《望岳》理解性默写及参考答案.doc

    4. 千古传诵,表现曹操老而有志的句子是:“老骥伏枥,志在千里。烈士暮年,壮心不已。” 5. 描述寿命虽不由天定,但人可以通过主观努力来延长生命的句子是:“盈缩之期,不但在天。养怡之福,可得永年。” 6. ...

    古诗文练习题及答案.doc

    - 70岁生日祝福:爷爷的“夕阳无限好,只是近黄昏”,用曹操的“老骥伏枥,志在千里。烈士暮年,壮心不已。”来鼓励爷爷。 - 赠别诗例举:李白的“桃花潭水深千尺,不及汪伦送我情。”,王维的“劝君更尽一杯酒,西...

    2020年七年级语文上册重点知识点精编

    - 老骥伏枥,志在千里;烈士暮年,壮心不已。 - 盈缩之期,不但在天;养怡之福,可得永年。 7. 《过故人庄》: - 开轩面场圃,把酒话桑麻。 - 绿树村边合,青山郭外斜。 - 开轩面场圃,把酒话桑麻。 - 待到...

    初中生应掌握的名句名段集录.doc

    3. "老骥伏枥,志在千里"(曹操《龟虽寿》):表达老当益壮、壮志不减的精神风貌。 4. "问渠那得清如许?为有源头活水来"(朱熹《观书有感》):寓意知识的更新和进步需要不断学习新知识。 5. "无可奈何花落去,...

    2020年度第一学期九年级上册语文第三单元测试卷-.pdf

    8. 古诗词意象与情感:如“老骥伏枥,志在千里;烈士暮年,壮心不已”,表现出坚韧不拔的精神和积极进取的人生态度。 9. 诗歌鉴赏:对诗词的审美分析,如《酬乐天扬州初逢席上见赠》中的哲理和情感表达。 10. 古文...

    甘肃省人文素养第六次月考试题借鉴.pdf

    同时,还有历史名人及其作品,如屈原的《离骚》以及曹操的名句“老骥伏枥,志在千里”,2008年北京奥运会主题曲《我和你》以及民间音乐家阿炳的《二泉映月》。 总的来说,这份模拟考试试卷涵盖的内容广泛,既测试了...

    吉林省长春市朝阳区2021-2021学年八年级第一学期9月月考语文试卷(大班)定义.pdf

    - 曹操的《龟虽寿》:老骥伏枥,志在千里。烈士暮年,壮心不已。 - 王湾的《次北固山下》:潮平两岸阔,风正一帆悬。海日生残夜,江春入旧年。 - 杜甫的《春望》:国破山河在,城春草木深。 - 文天祥的《过零丁...

    河南省商丘市永城市龙岗镇七年级历史上册第四单元三国两晋南北朝时期:政权分立与民族融合第16课三国鼎立课时达标1无答案新人教版20

    - 曹操的诗句“老骥伏枥,志在千里;烈士暮年,壮心不已”体现了他的雄心壮志和不屈不挠的精神。 - 赤壁之战中曹操的失败可能由于多种因素,如内部矛盾、疾病流行、南方水战的不适应,以及联军的有效策略等。 7. ...

Global site tag (gtag.js) - Google Analytics