您当前的位置:首页 > 电脑百科 > 程序开发 > 程序员

做40年程序员是一种什么体验?他给出了13条建议

时间:2022-09-18 11:08:10  来源:量子位   作者:
羿阁 发自 凹非寺

量子位 | 公众号 QbitAI

干了40年程序员,是一种什么体验?
 

一位从1984年就开始当程序员的老哥出来“现身说法”了。

他总结了自己从业近40年的经验,汇集成13条建议,希望能给想长期做程序员的新手们提供一些帮助。

文章一发布,就在reddit、推特上引发讨论,许多程序员也纷纷跟帖附议,有网友就表示:不能同意更多!

 

赶紧来看看,他都分享了哪些干货吧。

来自近40年码农的经验分享

这位老哥叫Noah Gibbs,曾供职于英伟达、AppFolio Inc、DAQRI等多家公司,目前就职于Shopify。

 

作为一名资深的软件开发者,他一直活跃在开发一线。

但与想象中不同,这次他并没有介绍要学习什么语言或框架,而是指出了一些他认为比技术更重要的事。

(以下是作者Noah Gibbs的口吻叙述)

1、几岁开始都不晚

大约一年前,也就是45岁时,我才开始学习弹钢琴。这一年我觉得自己一直在进步,我相信如果坚持下去,到60岁时我一定会非常棒。

学习编程也是一样,当你已经有了一些其他领域的背景时,你学习编程就会变得很快。

相信我,如果你从50岁开始做程序员,10年后,也就是你60岁时,肯定会比我18岁的水平好得多。

我遇到过很多优秀的程序员,他们都是在20岁、30岁甚至40岁才入行,所以我不知道你为什么不能从50、60岁开始。这一行需要时间和工作,但你不必非得年轻。

2、多尝试不同类型的编程

如果你刚刚入行,并且想长期从事编程行业,我的建议是:要多写一些软件,任何软件、写什么都无所谓。

在我干程序员的40年里,很多潮流来来去去。可以说,让自己多尝试不同的类型的编程很重要。

这可以使你思想不会变僵硬,而且事实证明,几乎任何一种规则都能教会你一些东西。

如果你太拘泥于某一项单独的任务,就很可能会失败。

3、不要怕回报慢

不要觉得自己正在学习的东西是无用的,因为无用只是相对的。

我曾经把多年的业余时间投入到一种叫做DGD的旧MUD编程语言中。这当然不是为了实用价值,因为几乎所有关于它的东西都是奇怪的和不标准的,很少有真正能应用的。

但它教会了我很多,它教会了我Ruby on Rails后来应用的东西,它教会了我如何使用数据库编程,它还教会了我一些在后来学的5、6种语言中都能用上的东西。

有趣的是,多年后我在DGD找到了一份咨询工作。这世界上还没有多少DGD的工作,但我有一个!这比我学过的许多“实用”语言更实用。

就像我经常对自己说的:“现在还早。”你可以多学习一些有趣或有用的东西,即使可能十年、二十或三十年后才有回报。

不要总是选择18个月后就会变好的东西,因为你无法预见未来会发生什么。

4、找到工作对你的吸引点

你开始写代码一定是因为它的某些方面吸引了你,你要做的是试着弄清楚那是什么。

这个答案每一个人都不一样,对于我来说,我喜欢写代码给我带来的成就感和聪明的感觉。

只有在工作中找到足够吸引你的点,才能长期坚持下去。

如果你感觉不到任何被吸引的点,那你可能需要休个假,或重新寻找你喜欢的东西,因为这样的工作只会让你精疲力竭。

5、这不是短跑或马拉松,这是写日记

如果你是个新手,很可能在下定决心“我要成为一名程序员”后,列出一个详细的计划,计划中可能包含8个大点、56个小点等等。

我不会告诉你不要这么激动,但我要说:不要把这个计划太当真。因为你不可能通过计算和计划来完成所有的事情。

在某些时候,你并没有“脱离你设定的任务”,你只是“过着自己的生活”。这不是失败,也不是放弃。

你无法预测什么是有价值的,所以你应该学习所有的东西。我的经验就是:你活得越久,工作得越好,你就越能意识到每件事(每个人)都能教给你有用的东西。

你不是在跑短跑或马拉松。相反,这就像是在写日记。

十年后,你会翻看这本日记,然后说,“哇,我做了一些很酷的事情”或者“嗯,我是个很有趣的人”,但我想你应该不会在日记上写“我非常擅长JAVA”。

6、不要混淆工作和职业

不要把工作和职业混为一谈,它们不是一回事。

对于我来说,编写软件是一项非常棒的工作,但只是一个还行或者可以更好的职业。

在接受别人的建议时,也要注意对方提到的是关于工作的建议,还是关于这份职业的建议,如果你把两者混淆,这个建议就没有多大意义了。

7、学习顺序并不重要

在刚入门的时候,你往往会得到关于首先学习什么语言或技术的不同建议,但这其实不重要。

如果你没有按老规矩走,而是开创了自己的道路,那并不意味着你没有做好基础工作,也不意味着你就很糟糕。

因为如果某件事真的很重要,你迟早都会发现,并重新去学它。

8、你越优秀,就越和别人不一样

早期的程序员职业培训(例如博客文章、大学课程、书籍)就像流水线,试图培养你在每一个方面的基本能力。

而且新手很容易误认为,一个首席工程师需要点满很多技能、每个技能水平也必须很高,但事实并非如此。

你可以通过编写一段相当简单的代码并详细地描述它,就像Patrick McKenzie在《Bingo Card Creator》中做的那样,也可以通过写一些真正有利可图的东西来获得尊重。

除了基本的能力之外,这些道路几乎没有任何共同之处。

这也是为什么当你求职时问这样的问题是很蠢的:“我是一名有15年工作经验的软件工程师,通常的薪水是多少?”

15年是如此之久,以至于你应该形成了与其他人不同的优势之处。你写过书吗?从事过赚钱的大型项目吗?整合过一个有趣的开源项目吗?这15年你做了什么?

当然,这也不仅仅是工资的问题。你可以问:“我是一个有15年经验的软件工程师,这意味着我有能力领导这个项目,对吗?”答案当然是“可能”。接下来的问题是“那在15年里你做了什么?”

9、从实践中学习

我不会建议人们一开始就去学习软件设计的深层原理,这是因为如果你试图把它们当作纯理论来学习,那么几乎肯定会做错。

对于初学者来说,首先要学会用一些实际的语言构建一个可用的软件。不管是哪一种语言,只有犯一些真正的错误,才能在错误中解决问题。

然后就可以这样循环:实践,犯错,学习理论,修正错误。

当然,这也并不意味着如果你先学习了理论,你就会永远变差,只不过是需要一段时间才能正确使用你所学的知识。

10、使用什么技术很重要

如果你想在程序员这一行做上几十年,那么你不仅要学习各种各样的技术,还要学习各种各样的非技术技能。

举个例子,“学习至少一种函数式编程语言”,就像钢琴家“学习演奏莫扎特的钢琴曲”一样是必须的,但同时,学习一些编程时所涉及的边缘技术,会为你培养额外的洞察力。

11、向其他领域学习

如果我们的行业还很年轻,这意味着什么?这意味着我们还在研究基本原理。

你可以从其他领域学到很多东西。我曾经写了一本关于如何偷学艺术家练习方法的书,正是因为艺术和音乐都是古老的学科,它们已经领先计算机发展几千年了。

所以,如果你遇到了一个问题,你可以考虑一下其他领域的人们会如何处理这个问题。

例如,阿图尔·葛文德(Atul Gawande)的《清单宣言(Checklist Manifesto)》中就讲述了飞行员、摩天大楼建造者和医生处理问题的截然不同的方式,这些都是很好的方法。

12、不要重复造轮子

众所周知,如果美术家重复画一个静物、音乐家反复练一首曲子,他们都会越来越熟练,但程序员不一样。

在程序员中有一个说法是“不要重复造轮子”,我们的工作正是想办法让电脑完成所有的重复工作,这样我们就可以只做新的工作。

你可以尝试重新发明轮子、可以故意用“糟糕”的方式编写代码,看看会发生什么。总而言之,你需要真正擅长一些不同寻常的事情。

13、只管去做

我一直在向大家推荐非技术领域的建议,而不是那些充斥着技术宅们的论坛,那些论坛里充斥着最近才转行为程序员的人那种偏执的热情。

如果你写程序,你就是程序员,或者软件工程师,或者随便你怎么称呼它。

只要你坚持写下去,你就可以一直做一个程序员,不管多少年。无论如何,如果你坚持下去,你就有资格,这才是最重要的。

怎么样,看完以后,你对程序员行业有没有新的认知?

除了文字版本,作者还在YouTube上上传了视频版,链接放在评论,感兴趣的小伙伴们可以自取~

文章链接:

https://codefol.io/posts/the-forty-year-programmer/#disqus_thread

视频链接:

https://www.youtube.com/watch?v=UPkJGU7Itb0

参考链接:

https://www.linkedin.cn/incareer/in/noahgibbs



Tags:程序员   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
要想生财必先有路,作为程序员,如果你还不知道一些的接单平台,那岂不是太亏了,作为一个接单多年的老手,我在这里分享一下,我经常接单的平台,以及它们的利弊分析,如果觉得好的记得点赞...【详细内容】
2022-11-01  Tags: 程序员  点击:(5)  评论:(0)  加入收藏
IT程序员偏爱 Linux ,将其作为自己的默认操作系统,小编总结了几大原因:强大的命令行、Linux 非常安全、对开发者非常友好、定期更新、有利的社区支持、功耗更低、隐私性强、完...【详细内容】
2022-11-01  Tags: 程序员  点击:(6)  评论:(0)  加入收藏
欢迎关注“新浪科技”的微信订阅号:techsina 文/李秋涵来源:深燃(ID:shenrancaijing)“大龄程序员去哪儿了”,10月24日程序员节当天,这成为了社交媒体上最火的话题之一。根据澎湃...【详细内容】
2022-10-27  Tags: 程序员  点击:(8)  评论:(0)  加入收藏
今天是10月24日,2022年的1024程序员节,是全球程序员共同的节日。“1024”想必很多网上冲浪的选手们都提说过,但你知道它背后的意义吗?1024其实就是2的十次方,二进制计数的基本计...【详细内容】
2022-10-24  Tags: 程序员  点击:(20)  评论:(0)  加入收藏
作为当代的冲浪达人,大家对卷这个词肯定都非常熟悉,但作为一名程序员,我就很想在这儿吐槽一下这个行业到底有多卷…… 科普一下什么是卷?为什么会卷?现在所说的卷就...【详细内容】
2022-10-24  Tags: 程序员  点击:(7)  评论:(0)  加入收藏
随着IT行业的发展,IT程序员这一岗位受到了众多人的青睐和追捧。然而许多不是科班出身朋友在考虑学习IT技术并转行前,都会思考这样一个问题:自己到底适不适合做IT程序员呢?其实...【详细内容】
2022-10-24  Tags: 程序员  点击:(11)  评论:(0)  加入收藏
文 丨 周文猛编辑 | 韩大鹏划重点:在程序员节这一天,我们与多位从业者进行了探讨。他们中很多人存在焦虑,尤其到了中年,面对职场与家庭的重重压力,他们的生活真的有不堪吗?今天,102...【详细内容】
2022-10-24  Tags: 程序员  点击:(12)  评论:(0)  加入收藏
IT程序员作为当前高薪且极具发展前途的热门岗位,吸引了许多人的青睐。然而也有一些人担心这只是一个吃青春饭的岗位,到了30岁以后就会失去竞争力。实际上,这完全是大众对于这个...【详细内容】
2022-10-21  Tags: 程序员  点击:(11)  评论:(0)  加入收藏
在IT程序员的开发工作过程中,无论是使用Java还是Python,或是其他的编程语言,都可以选择各种各样的开发编译工具。工欲善其事必先利其器。IT程序员要想提高自己的工作效率,选择一...【详细内容】
2022-10-21  Tags: 程序员  点击:(12)  评论:(0)  加入收藏
入门需要具备一定的英语基础、计算机体系结构和汇编语言、计算机操作系统原理、数据结构和算法、软件工程、Windows程序设计等相关知识点。 一、具备一定的英语基础对于初级...【详细内容】
2022-10-20  Tags: 程序员  点击:(13)  评论:(0)  加入收藏
▌简易百科推荐
要想生财必先有路,作为程序员,如果你还不知道一些的接单平台,那岂不是太亏了,作为一个接单多年的老手,我在这里分享一下,我经常接单的平台,以及它们的利弊分析,如果觉得好的记得点赞...【详细内容】
2022-11-01  宫心职场攻略     Tags:程序员   点击:(5)  评论:(0)  加入收藏
欢迎关注“新浪科技”的微信订阅号:techsina 文/李秋涵来源:深燃(ID:shenrancaijing)“大龄程序员去哪儿了”,10月24日程序员节当天,这成为了社交媒体上最火的话题之一。根据澎湃...【详细内容】
2022-10-27  创事记    Tags:程序员   点击:(8)  评论:(0)  加入收藏
今天是10月24日,2022年的1024程序员节,是全球程序员共同的节日。“1024”想必很多网上冲浪的选手们都提说过,但你知道它背后的意义吗?1024其实就是2的十次方,二进制计数的基本计...【详细内容】
2022-10-24    TOM新闻  Tags:程序员节   点击:(20)  评论:(0)  加入收藏
作为当代的冲浪达人,大家对卷这个词肯定都非常熟悉,但作为一名程序员,我就很想在这儿吐槽一下这个行业到底有多卷…… 科普一下什么是卷?为什么会卷?现在所说的卷就...【详细内容】
2022-10-24  职场甄嬛传   网易号  Tags:程序员   点击:(7)  评论:(0)  加入收藏
随着IT行业的发展,IT程序员这一岗位受到了众多人的青睐和追捧。然而许多不是科班出身朋友在考虑学习IT技术并转行前,都会思考这样一个问题:自己到底适不适合做IT程序员呢?其实...【详细内容】
2022-10-24  青烟小生x     Tags:程序员   点击:(11)  评论:(0)  加入收藏
文 丨 周文猛编辑 | 韩大鹏划重点:在程序员节这一天,我们与多位从业者进行了探讨。他们中很多人存在焦虑,尤其到了中年,面对职场与家庭的重重压力,他们的生活真的有不堪吗?今天,102...【详细内容】
2022-10-24    新浪科技  Tags:程序员   点击:(12)  评论:(0)  加入收藏
做了十几年工程师,个人感觉中年工程师命运更为令人忧虑。所以写了这篇文章,希望可以对中年工程师有所启发,同时也能给年轻工程师些经验!所谓中年工程师,这里我们指35岁以上,仍然主...【详细内容】
2022-10-23   职场甄嬛传   网易号  Tags:工程师   点击:(8)  评论:(0)  加入收藏
IT程序员作为当前高薪且极具发展前途的热门岗位,吸引了许多人的青睐。然而也有一些人担心这只是一个吃青春饭的岗位,到了30岁以后就会失去竞争力。实际上,这完全是大众对于这个...【详细内容】
2022-10-21  青烟小生x   网易号  Tags:程序员   点击:(11)  评论:(0)  加入收藏
入门需要具备一定的英语基础、计算机体系结构和汇编语言、计算机操作系统原理、数据结构和算法、软件工程、Windows程序设计等相关知识点。 一、具备一定的英语基础对于初级...【详细内容】
2022-10-20  青烟小生x   网易号  Tags:程序员   点击:(13)  评论:(0)  加入收藏
“随着年龄的增长,人们会对编程失去兴趣吗?预计大龄程序员的速度会变慢、更容易犯错,宁愿做其他事情(如管理岗等),这是否准确?”...【详细内容】
2022-10-12    CSDN  Tags:程序员   点击:(10)  评论:(0)  加入收藏
站内最新
站内热门
站内头条