在上一篇文章中,小编为您详细介绍了关于《速查!你的身份证可能已被别人绑定微信支付,多人中招!》相关知识。本篇中小编将再为您讲解标题30岁程序员:关于编程,我终于想清楚这30件事了!。
原标题:30 岁程序员:关于编程,我终于想清楚这 30 件事了!
三十而立,当程序员 30 岁,会有哪些得与失?

作者 | Allen Helton
责编 | 唐小引
出品 | CSDN(ID:CSDNnews)
以下为译文:
今天是我 30 岁生日。
虽然对我 20 多年来的生活已经感到很满意,但是我更期待未来十年可能发生的变化。
为了庆祝这个重要的里程碑,我想和大家分享我的职业生涯中总结的软件开发相关的 30 条有价值的经验。
1. 抓住每一个学习新东西的机会
我不确定是否还有一个行业的发展速度能够比软件行业更快。新的方法和模式不断涌现,管理服务每天也都在改进。你要抓住每一个学习新东西的机会,不断丰富自己的技能栈。
2. 意见分歧成就创新
要和那些与你意见不同的人呆在一起。如果你的团队都赞同你的意见,你的思想会变得越发狭隘。别人对你的质疑不仅可以帮助你完善自己的方案,还可以激发你想出创新性的观点。
3. 不要带有个人色彩
如果你的代码反复修改最终测试五次都没通过或者在最终的 sprint 评审中你的方案不被认可,你会怎样?我们都是团队的一员,有着相同的目标: 我们要尽自己所能开发出最棒的软件。
4. 自动化
每次你让一个人完成一项任务,都有可能出错。但是机器不会忘记清单上的事项。机器会以同样的方式一遍又一遍地执行同样的任务。自动化从身份验证 测试到 部署策略的所有工作。
5. 拥抱失败
你永远不会比现在知道的更少。如果你尝试构建一个新的软件,但是失败得很惨,那也没关系!下一次你尝试的时候,你就会知道什么是不该做的了。我们可以从失败中积累经验,提高技能。
6. 用户体验就是一切
客户不会因为后端编写的好而购买你的软件,用户体验才是你产品的卖点。他们之所以会买它,认可它,是因为它以一种直观和有效的方式解决了他们的问题。
7. 小步快跑
在构建软件时,你的目标应该是让某些东西能够正常工作并尽可能快的展现给用户。一般来说,人们很难凭空给出所有的想法。但是他们可以告诉你如何把你所拥有的变成他们所需要的解决方案。
8. 不要循规蹈矩
不要认为 “我们这样做是因为我们总是这样做”是理所当然的。做某事是因为就该这么做,而不是因为这么做自己最熟。如果你从不尝试去做不同的事情,你就很难改变。
9. 使用单一责任原则
汽车开起来真的很好。但是如果你让一辆车飞起来,你就会牺牲它的一些驾驶能力。它也许可以同时做到这两点,但它永远不可能将任何一点做的很棒。你的代码也是这样的,保持专注,做好一件事。
10. 代码调试被高估了
如果你遵循单一责任原则,那么你的代码应该只关注某一个功能。如果它的功能非常聚焦,出现问题也会非常容易定位。没有比控制台日志和一些单元测试更快定位问题的了。
前面已经给出了 10 条建议,下面的建议可能会有些争议。
11. 编程语言的选择很重要
当开始一个新项目时,想想你要解决的问题。Python 适合大数据处理。Java 适合普通的网页开发。世界上有这么多种语言都有其存在的原因,你要选择最能解决问题的语言。
12. 实践出真知
如果你想学习一些新的东西,无论是编程语言,新的架构模式,还是技术栈,动手实践将极大地提高你的理解能力。在你实践之前,理论只是理论。此外,你还可以与他人分享你学到的东西。
13. 你永远不会知道一切
直到进入开发阶段,你可能才发现更好的方法。你可以在开发阶段再对其进行改进。技术变化飞快,昨天能够解决问题的最佳方法可能今天已经不再是最佳选项。
14. 暂时用不到就不要写
这听起来可能显而易见,但是并非所有人都可以做得到。谁要求你要加那个配置的?没有人啊?那就硬编码。如果你暂时不需要就先不要去写。先完成最基本功能然后再去迭代。
15. 评审和回顾很重要
在敏捷开发中,你在 sprint 结束时要进行 sprint 评审和回顾。如果你的回顾工作做得好, 你和你的团队的效率就会提高。你将会和他们保持一致,能够更快地行动,并且拥有无与伦比的团队友谊。
16. 80 / 20
当你发布你的最终产品时,你可能会失望地发现你的消费者并没有用到你开发的所有功能。事实上,他们会找到一小部分功能(大约 20%) 使用(80%的时间)。只有 20% 的时间,使用其他 80% 的功能。因此,请把你的注意力放在优化解决业务问题的功能上。
17. 优秀的架构师能为复杂问题提供复杂的解决方案
有些问题比其他问题更难解决。如果你有一个好的软件架构师,他们会设计一个复杂的解决方案来解决这个复杂的问题。
18. 但是伟大的架构师可以为复杂的问题给出简单的解决方案
一个有才华的人才能降低复杂解决方案的复杂性,并将其转化为每个人都可以使用的东西。他们把问题的主要部分放在自己身上,并提出了一个简单的解决方案,这个方案掩盖了困难任务。例如,一位伟大的架构师设计了亚马逊的“一键购买”按钮。他们完全可以将所有复杂性隐藏到一个按钮的背后。
19. 1x,10x,100x
如果你发现正在编写的代码存在问题,请立即修复它,此时花费的代价最小。但是如果你让 QA 去查找 bug 并上报,这将需要 10 倍的代价。你需要分析师的努力,再加上你再次熟悉它并解决它的努力, 如果 bug 进入这个阶段,需要 100 倍的努力才能修复。你可以让用户进行上报问题,然后使用任何必须的流程来修复问题,然后进行测试和部署。
20. 故事和隐喻是关键
如果你想以最简单的方式解释你的软件是如何工作的,那就讲一个故事。人们通过将自己熟悉的事物联系起来,与故事和隐喻产生联系。他们会理解你想要传达的信息,并且能够将这些信息传达给其他人。
21. 一个健壮的、文档详尽的 API 物超所值
现在,软件是持续集成的。我怎样才能把这项服务与那项服务联系起来?答案就是通过 APIs。如果你构建的 API 具有丰富的功能集并且有详细的文档说明,那就太棒了。开放 APIs 是当今的标准,你应该尝试构建它们。
22. 面试官更关心你的问题解决能力,而不是你的编程理论知识
当我面试某人的时候,我会回答一些理论上的问题,但是我大部分时间都在试图了解你的大脑是如何工作的。如果编程是你的日常工作,你会花一整天的时间想出问题的解决方案ーー而不是写什么多态性。
23. 80 / 20(再次出现)
大约花费 20% 的时间完成 80% 的工作,剩下的 80% 的时间完成最后的 20% 的工作。想象一下正在建造的房子。在第一个月,你会看到一块从草地到地基、脚手架和房间的土地。从那时起,事情就像蜗牛一样慢了下来。软件也是一样。大部分的时间将花费在不那么重要的阶段。
24. 之前做过
开发人员开玩笑说,他们从来没有写过一行原创代码。老实说,这可能是真的。模式的存在是有原因的。你软件独一无二的原因是解决业务问题的方式。不要因为标新立异而提出一个新的模式。可以尝试使用一些行之有效的方法,把更多精力放在提高用户体验上来。
25. 良师益友至关重要
无论你是刚刚开始自己的职业生涯,还是已经工作了 4、5 年的老手。肯定有人做过你要做的事情,你可以寻求他们的帮助。通常情况下,他们很乐意帮忙。
26. 一切都在代码中
计算机会完全按照你说的去做。他们没有自己的思想。你的代码不能工作,是因为你写的就那样。出现问题代码中总会有答案,需要你自己去寻找。
27. 软件是一个环
当时我并不在场,但显然云开发几乎和大型机开发一模一样。现在的工具更好了。方法论也是循环的。我们曾经热衷于瀑布式开发,然后进入了敏捷开发,但是 瀑布式开发似乎又卷土重来了。也许今后 10 年将带给我们一个改进的工具包和过程,就像我们 20 年前所做的那样。
28. 存储空间被淘汰,计算机开始流行
过去,所有的成本优化策略都围绕着节省磁盘空间而展开。使用所有的计算机,你可以占用尽可能少的存储空间。但是今天,情况发生了翻天覆地的变化。存储成本几乎为零,计算价格也在上涨。花时间优化代码的处理 ,尽可能地存储所有东西。
29. 数据之美
大数据是非常重要的。它为机器学习提供动力,为我们的工作过程提供参考,并阐明趋势。现在数据存储如此廉价,没有理由不将我们想要存的都存储起来。人们喜欢图表、图形和趋势。用数据为决策者提供参考。
30. 最好的工具是你的团队
如果你想要进行创新,建立一个强大的团队。一个相互信任的团队可以完成工作,相互挑战,在个人层面上建立联系。建立一种致力于相互了解的文化将是你是否成功的最终决定因素。作为一个领导者,把你的努力投入到你的团队中。
总结
大概就是以上这些内容。
到目前为止,我在软件行业经历了职业生涯的很多巨变,我很高兴看到自己的观点在未来 10 年内会发生怎样的变化。
你还有其他的经验教训想要分享吗? 欢迎留言评论。
英文:Software Solutions and Technologies to Counter the Coronavirus Pandemic30 Things I Learned About Software Before I Turned 30
链接:https://medium.com/better-programming/30-things-i-learned-about-software-before-i-turned-30-f7c90c3068d5
作者:Allen Helton
译者:明明如月,知名互联网公司 Java 高级开发工程师,CSDN 博客专家。
今日福利
遇见大咖
由 CSDN 全新专为技术人打造的高端对话栏目《大咖来了》来啦!
CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛携手京东集团技术副总裁、IEEE Fellow、京东人工智能研究院常务副院长、深度学习及语音和语言实验室负责人何晓冬,来也科技 CTO 胡一川,共话中国 AI 应用元年来了,开发者及企业的路径及发展方向!游戏网
编后语:关于《30岁程序员:关于编程,我终于想清楚这30件事了!》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《官宣!“双品网购节”28日开幕,109家平台参与丨权威发布》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器