首页 > 编程语言 >程序员的谎谬还是名言?(翻译)

程序员的谎谬还是名言?(翻译)

时间:2023-06-17 21:01:05浏览次数:48  
标签:需要 谎谬 名言 一个 东西 程序员 我们 知道

“我会在我需要的时候再学”,我听到这句已经很多年了。这对于一个高速变化的软件行业环境来说,这似乎是一个非常实用的态度。 在某些方面这的确很实用主义,不过在其它的方面,我为这句话感到很不爽。这句话变成了整个软件行业的福音,但却没有让我们的软件行业变得更好。其问题在于,这句话伪装在于其听上去像是一个智慧的有经验的开发者说的,但是人们只是以此为借口而随波逐流。实在是有太多的东西需要我们去了解,我们也的确需要在工作当中来学习这些东西。但是, “在工作中学习”和“根据遇到的问题捡知识”这两者有着巨大的不同。

  • 另外,目前整个软件行业越来越需要一堆多面手,也许现在已经是这样了,只是我还没有注意到。当然,我也不喜欢这种情况。现在,好像没有人愿意花更多的时间来把某一个东西学好学深学扎实,比如 计算机科学的基础知识,或是最新的你正在使用的技术,甚至你在最近几年内每天都在使用其编码的程序语言。何苦呢?你会在你的学习路途中看到这些东西被更新,被废弃,并可能变得小众化。我和很多不同的人讨论过很多次,但是好像没有人意识到这是一个问题。 “哥们,做个实用主义的人吧”。
  • 与此同时,我们所有的人都在相互地克隆和模仿。你需要一个Java程序员,我是一个Java程序员,你也是一个Java程序员,我的邻居也是一个Java程序员。我们之间有什么差别?其实,基本没有差别。好吧,我有一些Vue的经历,太好,所以,你知道怎么来做一个折叠式的菜单?当然,我可以Google一下,然后剽窃别人最好的代码给你 :)。
  • 与此同时,你需要招聘到真正的专业级的人物(比如,你需要写一个很牛的解析程序来以图形化展示一下后台数据),那么你可能需要准备足够的啤酒和三明治,因为你可很有一段时间找不到这样的人。

好了,其实,是有一些方法来区分,比如,我有更好的沟通能力,这就是为什么我可以做得更好。这是相当重要的,但是,如果我们用软能力而不是用技术能力来区分程序员的好坏 –  是不是有那么点反常和变态。我们所有人都可以沟通得很好,但是我们的代码乱成一团 :)。该死的,我本不应该说这事,我也有一点全才的样子。当然,我觉得我自己是一个T型人才,但是如果我们都非常诚实的话,我们会发现更多的人的能力是“横线型”或是“下划线型”的,其中只有很少数的人才是有能力的。而我们的“T型人才”在这些人中就像一个巨大的钟乳石。你看上去像一个专家,但也许你从没有做过专家,这就是专才在满是全才的世界中的优势。

投资你的未来

我不想以说教的方式来告诉你人们应该怎么样来投资自己未来的职业生涯,因为每个人都知道我们应该怎么做。很多人也许认为他们正在投资,他们努力奋斗,写很多的代码,并也做一些阅读,当然,这样坚持下去,也许十年也可以成为一个专家,而成为一个资深专家可能需要二十年。但是,如果真是这样的吧,每一个老家伙都会成为各个方面的专家,当然,事实是不会这样的。也许是因为人们不知道如何发展他们的专长(这是事实),但我私下里却怀疑,大家缺少的是热情而不是知识。我所说的这些东西难道不都是这样的原因吗?

我完全跑题了。“在专业上投资未来”只是这些流行语中的一个,而重点是那句话 – “我会在我需要的时候再学”。对我老爸来说这样做挺好,迄今为止对我也有效。但是让我们换一个角度看看,比如金融方面,如果我们说:“我会在我需要钱的时候再去进行投资”。在这句话上面那个实用主义的光环就不那么漂亮了。

你不知道你不知道的

我们都有过这样的时候,当我们痛苦地在解决一个问题的时候,有人突然告诉你一个算法或是一个技术,其把这个问题变得又快又简单。是的,有人告诉你一个容易的方法是一件很幸运的事,否则你可能需要花上数天或数周才能找到解决方法,并且事情可能会变得一团糟。你不会因此而被批评,因为你不知道你所不知道的东西。对此,“我会在我需要的时候再学”在这个时候就走不通了。因为,你不可能学习那些你以为不存在的东西。Google做了很多的工作来减轻和缓解这样的问题,但并不完美。在一个陌生的环境下面对着一堆陌生的问题,会让你非常非常地痛苦,除非你知道你所面对的是什么(例如:如果你对搜索和约束传播有点了解的话,那你就可能 容易地解决数独问题,否则的话, 这的确是非常难的)。你无法学习一种不知道或是你不知道用在哪里的算法。你也不可能去用一个你以为不存在的技术去解决一个问题。同样,你身边也不可以一直都有一个高人随时在给你指引正确的方向。我敢打赌,这个世界上有几十亿行代码可以被 几百万行更快,更清楚,更简单的代码所取代,因为无论是谁来写,他都不可能知道他所不知道的东西。

我想在这里成为这个观点的反方,如果我们知道我们有哪些东西我们不知道,那么我们就知道我们需要去关注哪些东西。粗浅地尽可能的大范围的知道这些东西,那么,我们就可以在遇到问题的时候明白我们应该去更深地学什么样的知识。但是,这样来做在实际上并不有效,因为,这些浮云般的知识不会让你记下来,我们的大脑不是这样工作的。如果我们不去强化或是深度挖掘去消化这些概念, 我们的大脑会很快地 把这些信息标为不重要并换页出去,这么做无非就是在浪费时间(你回头想一想你那些“填鸭式”的死记硬背的知识,你今天还记得吗?)然而,对于那些你集中精力深度研究过的东西——并伴随着你的兴趣的东西——你会收获到扎实的知识(那是你大脑里实际存下的不会忘的东西)。我的爷爷是一个核物理学家,数十年的在工作中获得这个领域中更深的知识让他今天成为了一个专家,同时也让他成为了一个优秀的数学家,不错的化学家,非常好的地理学家,还是一个合格的生物学家,等等。只需要一些 观察性的证据 你就知道广度的知识是深度研究的副产品。

你学得足够快吗?

有些东西你需要花很长的时间才能学会。我对自己有信心不需跳跃性的就能把一个我从没有见过的ORM框架学会,因为我以前用过相似的东西,它们在概念上是相同的。但是,如果你需要做一个把演讲转成文本的东西呢,这并不简单,因为你没有足够多的背景知识。你可以希望通过Google给你提供一些东西让你复制粘贴,但这是一个很不好的做法,只有大学里的做研究的研究员干这种烂事。如果是要创建一个网站呢,我们都知道怎么去创建一个网站,但是有多少人会知道如何架构一个每天有一千万用户访问的网站?那么我们需要去学的就是怎么做扩容扩展,我相信你的用户需要等你一到两个月才能把速度提上去 :)。是的,我太笨了,所有我需要做的就是去招一个专家,然后……嗯……哦等一下,我们的啤酒和三明治都不够了。

为什么我应该关心

和高手在一起工作真是超爽无比。你也许以前经历过,他们每说的一件事总是新鲜的,总是有意思的,你能从他们每一行的代码中学到很多小技巧,你几乎可以感觉到你的大脑在不断膨胀:)。你想从高手学习,所以,如果你身边没有高手,那真是太糟糕了。因为每一个人只会去学那些“需要”被学的东西,所以没有人能教给你任何有意思的东西。然而,这些高手也总是想和高手一起工作, 所以,你需要做的事就是确定能让高手想和你一起工作。按需所学也许是一个不错的技能,但其不应该成为程序员的价值观。是的,这是一个巨大的行业你不可能学习所有的东西,所以,你需要有所选择地把其学精,只要你有足够的好奇心去跟从你的兴趣,你会发现最终你会真正掌握很多很多其它的东西。如果你能把你的工作做好,那么其它的超级牛人都会想要和你一起工作,因为他们可以从你这学到东西,而你又可以从他们那里学到东西。这样一来,所有的人都会是成功者。

原文:The Greatest Developer Fallacy Or The Wisest Words You’ll Ever Hear? - Skorks

标签:需要,谎谬,名言,一个,东西,程序员,我们,知道
From: https://www.cnblogs.com/RQfreefly/p/17488229.html

相关文章

  • 程序员路线规划
    第一个五年:70%投入编程技术和架构思想,20%投入产品思想和运营方法,10%投入领袖哲学和管理第二个五年:70%投入产品思想和运营方法,20%投入编程技术和架构思想,10%投入领袖哲学和管理第三个五年:70%投入领袖哲学和管理,20%投入产品思想和运营方法,10%投入编程技术和架构思想......
  • 程序员之间的差距
    原创:陶朱公Boy(微信公众号ID:taozhugongboy),欢迎分享,转载请保留出处。​点评:一个程序员职业生涯往往会跨越这几个阶层:初级工程师、高级|资深工程师、技术专家(包含初级、高级、资深)。每个阶层的群体他们日常工作事宜、能力模型也都不尽相同:初级程序员这一群体,一般参加工作没多......
  • 做一个“20倍程序员”
    以前有一个词叫“十倍程序员”,形容一个程序员效率高,一个顶十个。现在随着ChatGPT的爆火,我觉得可以胆子大一点,改叫“二十倍程序员”。我是一名十几年的老程序员,最近在学习ChatGPT,也是ChatGPT的重度用户,已经用上瘾了。接下来我分享一下的日常用法,大家看看是否能提高效率。一、向......
  • 程序员接单,哪些单子需要特别注意?
    众所周知,国内各行各业都在卷,程序员更是卷王里的佼佼者!所以在接单这方面也是严重的僧多粥少,其中还有很大一部分是不靠谱的单子,那么那些单子需要特别注意呢?这里给大家分享一下我这几年来总结的一些经验,希望对大家有一点帮助。低价单首先要注意的是低价单。无论再怎么卷,请大家务必......
  • 《程序员的自我修养》- 第一章 - 温故而知新 - 笔记
    1.1从HelloWorld说起介绍书本的目标读者1.2万变不离其宗讨论范围:兼容x86的32位CPU的PC介绍硬件方面的内容,略1.3站得高,望得远层次鸟瞰应用软件->运行库->操作系统->硬件接口鸟瞰(对应)应用程序编程接口(API)系统调用接口(SystemcallInterface)硬件接口(硬件规格,Hardware......
  • #yyds干货盘点# LeetCode程序员面试金典:分割回文串
    题目:给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。回文串是正着读和反着读都一样的字符串。 示例1:输入:s="aab"输出:[["a","a","b"],["aa","b"]]示例2:输入:s="a"输出:[["a"]]代码实现:classSolution{bo......
  • #yyds干货盘点# LeetCode程序员面试金典:被围绕的区域
    题目:给你一个mxn的矩阵board,由若干字符'X'和'O',找到所有被'X'围绕的区域,并将这些区域里所有的 'O'用'X'填充。 示例1:输入:board=[["X","X","X","X"],["X","O","O",&quo......
  • 业务程序员不建议造轮子
    不要问我是.net程序员还是java程序员,我是业务程序员。工作多年,我觉得业务程序员,不应该造轮子。多年以前,我就吃过造轮子的亏,有时,我工作大概60%的时间在造轮子、改轮子的BUG,40%的时间在写业务功能。为什么要造轮子呢,为了学技术,为了不认输。但是造轮子的代价很大,也影响工作,写着业......
  • 闫老师的培训ArcGIS至理名言
    闫老师的培训ArcGIS至理名言1.只为成功找方法不为失败理由2.功到自然成3.用自己努力感动上天之前,先感动自己4.成年的世界自己要约束自己5.十恶不赦的第一恶:懒6.学习方法是看帮助7.学习一定思考8.ArcGIS的水平由掌握工具个数决定9.用工具不难,难在什么用这个工具,反向记忆法10.用工具......
  • 程序员35岁破局之路
    编者按:前段时间,LiveVideoStack采访了在音视频领域从业多年的技术人李天(化名)当35岁遇到裁员,他向我们讲述了在35岁遇到裁员时所面临的困境和感悟。这篇采访在音视频技术圈子里引起了一些反响。“程序员35岁危机”这个话题近几年来一直广受议论,LiveVideoStack最近又采访了三位音视频技......