Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
社区首页 >专栏 >程序员眼中最有价值的10条开发经验

程序员眼中最有价值的10条开发经验

作者头像
深度学习与Python
发布于 2023-04-01 08:28:47
发布于 2023-04-01 08:28:47
2720
举报

作者 | Oliver Jumpertz

译者 | 平川

策划 | 万佳

本文最初发布于 Oliver Jumpertz 的个人博客,经原作者授权由 InfoQ 中文站翻译并分享。

到现在,我已经做了超过 21 年开发,可以说,我生命中超过一半的时间都在编程,那既是我的职业,也成了我的习惯。

下面是我在开发过程中学到的 10 条最有价值的经验。

1你永远不可能什么都知道

尤其是在开始的时候,我以为我什么都能学会,在开发生涯的大部分时间里,我都是这样想的。但是,每次我学了什么新东西,就打开了一个全新的世界,里面有不同的概念和技术。

那似乎很有吸引力,你很愿意尝试,希望把什么都学会,但这是一个没有终点的旅程。如果要学的话,总是有其他的库、框架以及其他很酷的东西可以学。

因为似乎永远无法达成自己的目标,所以最终你的热情会慢慢冷却。最好是立足于你最擅长的东西,然后因需而学,即在真正需要的时候才学习新东西。这可以让你保持清醒,维持学习的动力。

你还可以把这一点应用在任何其他的领域。不是什么都知道才能达成预期的结果。利用这一点来打造自己的优势,在需要的时候学习。

2好的团队可以让你的能力呈指数增长,而非线性增长

独立工作很好,但也会把你局限在自己的能力范围内。

但在一个好的团队中,交谈和讨论可以在很大程度上影响你的思维过程。问题变得很容解决。根据我的经验,这种效果通常是呈指数的而非线性。

不过,这也有个限值,团队太大了也不行。根据我的经验,这个限值取决于参与的人员。

站在个人的角度来说,尽量让自己身边的都是一些很容易相处的人。你会发现,工作完成得比以前快,甚至也更快乐。

3编写的代码应该便于阅读

有一段时间,我觉得自己很聪明,追求编写高度优化的代码,运行速度越快越好。然而,很长一段时间之后,当我回过头来看这些代码时,我全然不知道那会儿做了什么。在开始真正的工作之前,我总是要花很大一块时间来回顾代码。更糟糕的是:99% 的情况下,那些优化都是不必要的。

代码首先应该便于人阅读和理解。如果你认为特定的代码路径可能存在性能瓶颈,就测试它。在有疑问的路径上添加度量执行时间的指标,然后进行分析。你经常会发现,你有疑问的代码实际上并没有问题。更多的时候,你会发现真正的问题其实是完全不同的东西。

如果有些代码真有问题,请尽量添加注释,说明为什么优化这段代码。如果你觉得需要说明自己做了什么优化,做就是了。你可能经常会听到人们说,你永远都不应该陈述代码做了“什么”。我的观点是:如果你无法让代码更容易理解了,而且知道其他开发人员需要你的帮助才能理解代码,那么添加注释即可。

你可以听从反对这种方法的人,把更多时间和金钱花在未来的问题上,你也可以忽略他们,确保每个人都有机会参与进来做开发。团队是有独立性的。便宜行事。

4耐心是你最好的朋友

曾经,我就没什么耐心,现在,我有时候仍然受此困扰。

我经常要花时间修复一个 Bug 或完成一个特性。经常,学习新东西的时间会超出预期。

如果你觉得总要赶时间,那么你应该问问自己,为什么会有这种感觉。

是你自己的原因吗?那就停下来。你可以明天或后天完成。然后,下次处理类似的问题时,速度会更快。

如果是因为你的雇主,那么应该想想这家公司是否适合你。

有许多管理者认为,软件交付越快越好。他们设定不切实际的最后期限,对开发人员的期望过高。那些管理者真是不懂软件是如何开发出来的。

有时候,你会遇到全新的东西。你得费点功夫才能想出办法。随着你经验越来越丰富,你会越来越擅长处理此类情况。

试着保持耐心,不要把自己置于压力之下。当你能保持冷静,整理思路,并形成想法时,你的工作会更出色。而且,可以肯定,这对你的心理健康也是有益的。

不给自己压力,可以说是地球上最难的事情了,你总是免不了会这样做。那没什么问题。你只要尽力不要那样做就行了。时间长了,那会对你造成伤害。

5持续性是关键

持续不断地做某件事可以帮助你成为专家。不是一次性投入 20 个小时,而是每天投入 15 分钟或 1 个小时。

不断的重复可以让你越来越擅长做某件事。开始的时候,你会经常查资料,逐渐地,你查的次数会越来越少。你的大脑慢慢地习得了相应的模式并保存了下来。

6总是有比你优秀的人你可以向他学习

技术领域如此宽广,你无法把什么都学会。

其他开发人员学习的东西和你不同。在某些事情上,他们就有了知识优势。将此转化为你自己的优势!

你同事可能比你更擅长后端、CSS 或更底层的事情,而你也有自己的优势。你可以向他们学习,他们也可以向你学习。

这绝不是你应该嫉妒或放在心上的事。可以和别人建立联系来丰富自己的知识,这是很好的事情。你可以从别人多年的经验中受益,借此增长自己的知识。而且,你还可以从他人的失败中汲取教训,这样你就不会再犯同样的错误。

7社交网络很重要

走出去,和人建立联系。现如今,这特别重要。

我曾经以为,一份出色的简历就可以为我打开所有的大门,但我错了。

在不认识你的时候,人们会根据一张纸来评价你。但是,在人们认识了你之后,他们可能已经了解了你的优势和不足。这使得你获取下一份工作或合同容易了许多。它会不断地为你带来学习、工作和互动的机会。

8经常休息可以让你更高效

如果没有遇到困难,你可能会一直编码或工作而没有注意到时间的流逝,但你的大脑需要经常休息。

休息有助于大脑恢复活力,处理先前摄入的信息。做些完全不同的事情,等等你的大脑。可以去喝杯咖啡,聊聊天,但至少要离开办公桌。

在休息之前,你可能已经注意到自己的效率越来越低。当你休息完回来时,你发现效率又回来了。你有可以高效地工作了,直到下次休息。

曾经,我并不在意休息,因为我想完成自己的工作。事实证明,每隔一段时间休息一下大脑可以让我更快地完成工作。

有一条很好的经验法则是,每小时至少休息 5 分钟,四个小时后可以休息更长时间,最多 30 分钟。更好的做法是:听从你的身体,据此调整休息时间。

如果你开始觉得累了,效率下降了,或者注意力不集中了,那么就休息一下。

9如果你希望在自己的职业生涯中更进一步,就需要有很好的人缘

在我职业生涯的初期,我以为,只要我付出足够的努力就可以获得回报。但事实证明,事情并非如此,至少在我看来是这样。没有人过来给我提供晋升机会或为我加薪。我觉得自己只是在无人注意的情况下继续工作。

当我可以大声说出自己对工作的看法,并开始与同事和管理者互动时,我的事业有了起色。如果一个问题在某种程度上适合我,那么我肯定就可以分得该项任务。在某些事情上,我成了名人,经常有人找我寻求帮助,我升职了。我在这里就不罗列早期取得的诸多成绩了。反正我的经理已经知道了。

为什么会这样?因为我经常与我的同事和经理谈工作。我从不吹牛。我如实陈述,很乐意帮助同事。私下里,我也经常和人们交流,增进彼此间的了解,建立起了很好的关系。

至少对于我来说,这很有效。你的经历可能有所不同,因为那和公司及其文化关系密切,但可能也值得一试。

10大多数公司都不是你希望的样子

当我终于有机会从事专业工作时,我寄予了过高的期望。我想象着自己和顶级的工程师、技术专家一起解决令人望而生畏的问题。事实证明,我错了。

不要误解我的意思,我周围的工程师很棒,但只是和我想象的不一样。和我们共事的技术专家近乎无聊。问题也没有那么难。

我了解到,所有工程师都会犯错,也没有人什么都知道。毕竟,他们也是人。而技术专家通常恰恰就是那些解决我们所面临的问题的人。

技术越枯燥,就越能帮我们解决某些特定的问题。

开发软件就是为了解决问题。其中有一些会更令人厌烦。并不是每一名开发者都一直在开发将要改变世界的软件。通常,一个为人们的日常生活提供便利的小前端,或是将文件从 A 移动到 B 的 API,就是你赚钱的抓手。

一定要记住,并不是每家公司都有 FAANG 的规模。即使有那种规模,要解决的问题有时也同样令人厌烦。

还有一点很重要:外面有许多和你一样的开发者。你可以发挥你的影响力,并非所有同事都和你想的那样是顶级的。他们就是普通的开发者,工作做得非常好,而且和你懂的一样多。


如果你希望读到更多类似这样的文章,请在 Twitter 或 LinkedIn 上关注我。

Twitter:https://twitter.com/intent/follow?screen_name=oliverjumpertz

Linkdln:https://www.linkedin.com/in/oliverjumpertz/

原文链接:

https://blog.oliverjumpertz.dev/the-10-most-valuable-lessons-i-learned-as-a-developer

今日好文推荐

禁止热饭公司曾克扣前员工加班工资并索赔14万;腾讯再投500亿助力共同富裕;程序员被划为新生代农民工 | Q资讯

PHP没你想的那么差

微服务需要一场由内至外的变革

被“监控”的打工人:因算法裁定“效率低下”,近150名员工遭解雇


InfoQ 写作平台欢迎所有热爱技术、热爱创作、热爱分享的内容创作者入驻!

还有更多超值活动等你来!

扫描下方二维码

填写申请,成为作者

开启你的创作之路吧~

点个在看少个 bug 👇

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
程序员眼中最有价值的10条开发经验
到现在,我已经做了超过 21 年开发,可以说,我生命中超过一半的时间都在编程,那既是我的职业,也成了我的习惯。
用户2781897
2021/09/02
2780
程序员眼中最有价值的 10 条开发经验
到现在,我已经做了超过 21 年开发,可以说,我生命中超过一半的时间都在编程,那既是我的职业,也成了我的习惯。
逆锋起笔
2021/09/08
2890
程序员的价值观是什么
程序员的价值观是什么 当我第一次深入考虑我的职业生涯时,我一度认为我要做的就是集中精力做技术向导。我想知道成为公司的技术专家能让我走多远。我觉得团队领导和管理人员的角色并不适合我。我甚至都无法想像自己有一天不能编码是什么样子……更不要说几个星期不能接触代码了。在过去的年月中,我一直秉持着这个信念,坚决反对那些看似是职业生涯发展的自然结果。 但是,我周围的人告诉我,我是一个好领导,我擅长于架构解决方案,我带来了很多宝贵的经验。于是,我开始涉足管理方面,并开始领导项目和团队,尽管一开始我并不热衷于此。可是,我越
用户1289394
2018/02/26
1.4K0
兴趣与坚持:程序员从初级到中级10个秘诀
  在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以及面向专家类(MSDN杂志)。这个观点很好,有关程序员如何从初级跃升到中级的信息极少。以  下是为了实现这种转变需要你去做的10件事。 1:学习另一门语言   其实你学的是哪一门语言并没有关系,但是学习另一门语言(不管你已经了解多少种语言)将把你打造为更好的程序员。能学会一门与你日常使用的语言风格迥异的语言则更佳。打个比方,如果你是C#程序员,学习
用户1289394
2018/02/28
6100
如何让你的程序员不要厌倦工作?
 作为一个程序员,我从来没有在同一家公司工作超过两年。每换一份新工作都是一次很好的职业变动,在这个行业里跳槽如同家常便饭。但是我的前东家们对我的离去并不开心,他们其中一些人花了很大力气想要挽留我,但是我已经对一成不变的工作感到厌倦了,真的不想在同一家公司再待下去。 免责声明:我很幸运地生活在一个程序员工作岗位供大于求的地方,所以对我来说在换工作永远不止一个选择。   如今我成为了 Enki 公司的合伙人与 CTO,同时我还要负责在公司里面打造工程师文化。我工作内容的一部分就是确保我们的程序员不要对工作感到厌
春哥大魔王
2018/04/16
1K0
如何让你的程序员不要厌倦工作?
【大牛经验】程序员3年之痒改变不止薪水
程序员的3年之痒,的确是时候该挠挠自己了。3年的程序员生涯,不长不短,但它的确是一个坎。3年改变了我们的不仅仅是年龄,当然还有薪水。 工作也有几年了,特别是今年要学的东西越来越多
Java帮帮
2018/03/19
9340
【大牛经验】程序员3年之痒改变不止薪水
程序员需要自问的 10 个问题
你想成为一个开发者/程序员么? 那是时候放下《24小时学会超级骗子语言》之类的书了。相反地,每天问自己一下10个问题,并养成一个习惯吧。 是否有某种模式? 探寻可行与不可行中的模式,能发现(事物)背后的原理,这些原理则驱动着看似无关的概念和行为。要想对你做的工作有更深的理解,养成问自己“是否有种模式存在?”的习惯吧。 这不仅仅适用于你的代码。在各类商业需求的变化中有某种模式吗?技术进步的方式中有某种模式吗?你看到同样的错误反复地蹦出来吗? 理解就是领悟模式。 —— 以赛亚·伯林 我该如何使它变得更简约? 通
企鹅号小编
2018/01/30
7230
程序员写代码需要注意的几个坏习惯!!!
编者按:每位开发人员在自己的职业生涯、学习经历中,都会“开发”出一些坏习惯。在这篇文章中,作者向读者展示他自己有或是老也改不了的坏习惯。他希望如果你刚开始这份事业,能够避免这些坏习惯;如果你已经有了这些毛病,那希望你能够意识到它们,并可以开始改变。原文标题《10 Bad Habits To Avoid As A Developer》,作者:Brad Traversy。
用户5224393
2019/06/03
6160
从业18年,我总结了9个最有价值的经验
我从 14 岁就开始在父母的卧室里写代码。我通过非常慢的网络阅读任何我能够获得的东西。20 岁时,作为一名 Web 开发人员,我签了人生中的第一份劳动合同,我当时学的是 PHP 和 JavaScript。
深度学习与Python
2021/01/07
2560
「译文」资深程序员应该有的样子
人们使用不同的方式来定义工程师的水平,有些公司粗暴的通过工作经验来判断是否资深,但是什么样的工程师才能算资深老司机?下文将列出我的判断依据。
逆锋起笔
2020/11/30
6670
超过三十岁就不适合写代码了?看看国外程序员怎么说
随着时间的推移,我注意到的一点是,我不再像刚开始工作时那样朝气蓬勃、意气风发和精力充沛。随着年龄的增长,对我的工作要求越来越高,每天都需要学习新的东西,随着时间的推移,我的大脑开始变得不如从前,但最重要的是,我比以往任何时候都需要更多的睡眠。作为开发人员工作变得更加困难。虽然我还可以解决这个问题,但对我的职业前景还是有些怀疑。
三分恶
2020/09/22
5000
软技能,程序员编程之外的升值之道!
程序员,除了编码之外的软技能有哪些呢?《软技能——代码之外的生存指南》33岁实现职业自由、财富自由的作者给出了解读。
铭毅天下
2018/10/24
5540
软技能,程序员编程之外的升值之道!
如何成为一名Java冠军程序员?
软件工程师的职业生涯里,知识有一个三年的半衰期。这意味着三 年后,你所拥有的一半知识是毫无价值的。举这样一个例子,年纪越大,就越难看到有谁能够了解 TSR(内存驻留程序 Terminate-Stay-Resident ),而找到曾经写过一个 TSR 的人更是如同大海捞针。在 DOS 系统里,并不能让多个程序同时运行。因此,在我们需要一个后台功能的时候,比如日历或计算器,我们就会写一个内存驻留程序( Terminate-Stay-Resident program ),然后通过特定的组合键从另外一个程序中激活。
java架构师
2018/08/23
3690
如何才能修炼成一名不可替代的程序员?
如何才能修炼成一名不可替代的程序员,看到这个标题我产生了一个疑问?这个世界上存在绝对不可替代的职位吗?
再见孙悟空_
2023/02/10
5600
如何才能修炼成一名不可替代的程序员?
IT人永远不老,老程序员价值何在?
IT人永远不老?做梦,怎么可能。无论你现在是多么风华正茂,青春洋溢,终有成熟、老去的那天。
java架构师
2018/10/08
6970
IT人永远不老,老程序员价值何在?
如何成为一名出色的 Java 程序员
如何成为一名出色的 Java 程序员 几个月前,我和的商务合作伙伴 Carl 以及我们的法国课程导师 Xavier 在巴黎的一家餐厅就餐。在谈话中,我和 Carl 就我们年轻时使用的那些炫酷技术而谈笑风生。与此同时,我注意到Xavier 沉默良久,于是我决定询问他的年龄。虽然不能确切的想起他的年龄,但我记得他与我年龄差距很大,和我第二个孩子的年龄相仿。这意味着,多少年来,我和 Carl 同时有过的那些编程经历,对他来说一文不值。 软件工程师的职业生涯里,知识有一个三年的半衰期。这意味着三
用户1289394
2018/02/26
6160
如何成为一名优秀的 Java 程序员
许多Java开发人员问我:"如何成为一个更好的程序员?" ,"我如何提高自己的编程技能?" 或者 "我擅长Java开发,但不擅长解决问题的技巧"等,这是大多数程序员的现状。 在这行有很多编程语言专家
开发者技术前线
2020/11/23
5760
如何成为一名优秀的 Java 程序员
成为优秀程序员(和人类)的101个技巧
作为一个编码者,意味着你需要搜索你问题的答案。通过有效地使用谷歌,你将节省很多开发时间。
Jimmy_is_jimmy
2023/05/24
1940
成为优秀程序员(和人类)的101个技巧
IT人永远不老?做梦!老程序员价值何在?
IT人永远不老?做梦!怎么可能?无论你现在是多么风华正茂,青春洋溢,终有成熟、老去的那天。
顶级程序员
2018/07/23
3510
中年程序猿图鉴
导读:程序员群体曾是低调多金的代表,但最近996话题、甲骨文大裁员等事件持续发酵,让这个群体成了大众眼中的“失意中年人”。
IT阅读排行榜
2019/06/18
5660
中年程序猿图鉴
相关推荐
程序员眼中最有价值的10条开发经验
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档