大数据 > 30岁程序员:关于编程,我终于想清楚这30件事了!

30岁程序员:关于编程,我终于想清楚这30件事了!

2020-05-03 07:30阅读(72)

30,当程序员30岁时,收益和损失是什么? 艾伦·赫尔顿(Allen hellton)的 (唐小音的 )(CSDN(ID:csdnnews)的 ) : 今天是我30岁生日。 尽管我对自己的生

1

30,当程序员30岁时,收益和损失是什么? 艾伦·赫尔顿(Allen hellton)的

(唐小音的

)(CSDN(ID:csdnnews)的

今天是我30岁生日。

尽管我对自己的生活已经超过20年感到非常满意,但我更期待未来10年可能发生的变化。 为了庆祝这一重要的里程碑,我想与您分享我职业中总结的30项与软件开发相关的宝贵经验。

1。 抓住每一次学习新事物的机会,我不确定是否还有另一个行业可以比软件行业发展得更快。 新的方法和模式正在出现,管理服务每天都在改进。 您应该抓住每一次学习新事物的机会,并不断丰富自己的技能。

2。 意见分歧使创新

留在与您意见分歧的人身上。 如果您的团队同意您的意见,您的想法将会变得狭窄。 别人对您的质疑不仅可以帮助您改善自己的计划,还可以激发您提出创新的想法。

3。 不要个人。

如果您的代码被反复修改并五次未通过最终测试,或者您的计划未在最终的sprint审核中被批准,您将怎么办? 我们都是团队的一员,并且有着相同的目标:我们应该尽力开发最好的软件。

4。 每当您让一个人完成一项任务时,自动化

都会展开全文

,这有可能出错。 但是机器不会忘记列表。 机器以相同的方式一遍又一遍地执行相同的任务。 自动化从身份验证测试到部署策略的所有操作。

5。 拥抱失败

您将比现在知道的更多。 如果您尝试构建新软件,但惨遭失败,那就没关系! 下次尝试时,您会知道不应该做什么。 我们可以从失败中获得经验并提高技能。

6。 用户体验是,由于良好的后端编写,所有

客户都不会购买您的软件。 用户体验是您产品的卖点。 他们购买并认可它是因为它以直观有效的方式解决了他们的问题。 在构建软件时,您的目标应该是使某些功能正常运行并尽快将其展示给用户。 一般来说,人们很难凭空发表所有想法。 但是他们可以告诉您如何将您拥有的变成所需的解决方案。

8。 不要遵守规则。

并不认为“我们之所以这样做是因为我们一直在这样做”。 做某事是因为您应该这样做,而不是因为您最了解它。 如果您从不尝试做不同的事情,那就很难改变。

9。 使用单一责任原则

真的很好。 但是,如果让汽车飞行,则会牺牲其部分驾驶能力。 它可能能够同时做这两个事情,但是永远做不了什么大事。 您的代码是相同的。 保持专注并做好一件事。

10。 代码调试被高估了。 如果您遵循单一职责的原则,则您的代码应仅关注一个功能。 如果它的功能非常集中,将很容易找到问题。 解决问题的方法没有比控制台日志和某些单元测试更快的方法。

之前已经给出了10条建议,以下建议可能会引起争议。

11。 编程语言的选择非常重要。 当您开始一个新项目时,请考虑您要解决的问题。 Python适用于大数据处理。 Java适用于普通的Web开发。 世界上有很多语言都有其自身的原因。 您需要选择最能解决问题的语言。 如果您想学习新的东西,无论是编程语言,新的体系结构模式还是技术堆栈,动手实践都会极大地增进您的理解。 在您练习之前,理论只是理论。 此外,您可以与他人分享学到的知识。

13。 您将永远不会了解关于

的所有知识。 在进入开发阶段之前,您可能找不到更好的方法。 您可以在开发阶段进行改进。 技术日新月异,昨天解决问题的最佳方法可能不再是今天的最佳选择。 如果您暂时无法使用它,请不要编写

,这听起来似乎很明显,但并非所有人都能做到。 谁要求您添加该配置? 没有人? 然后是硬代码。 如果您不需要一段时间,请不要写。 首先完成最基本的功能,然后进行迭代。

15。 审查和审查非常重要。

在敏捷开发中,您需要在sprint的末尾查看并查看sprint。 如果您进行良好的回顾,您和您的团队将更有效率。 您将与他们保持一致,能够更快地行动,并拥有无与伦比的团队友谊。

16。 80 / 20

发行最终产品时,您可能会发现您的消费者没有使用您开发的所有功能而感到失望。 实际上,他们会发现少量功能(约20%)可以使用(80%的时间)。 仅使用20%的时间,使用80%的其他功能。 因此,专注于优化解决业务问题的功能。

17。 优秀的架构师可以为复杂的问题提供复杂的解决方案。

一些问题比其他问题更难解决。 如果您有一个好的软件架构师,他们将设计一个复杂的解决方案来解决这个复杂的问题。

18。 但是,优秀的架构师可以为复杂的问题提供简单的解决方案,一个有才华的人可以降低复杂解决方案的复杂性,并将其转变为每个人都可以使用的东西。 他们将问题的主要部分放在自己身上,并提出了一个简单的解决方案,其中涵盖了艰巨的任务。 例如,一位伟大的建筑师设计了亚马逊的“一键购买”按钮。 他们可以将所有复杂性隐藏在一个按钮后面。

19。 1X,10x,100x

如果发现编写的代码有问题,请立即以最低成本进行修复。 但是,如果让质量检查人员发现错误并报告错误,则将花费10倍。 您需要分析师的努力,再加上您再次熟悉并解决问题的努力。 如果错误进入此阶段,则将花费100倍的时间来修复它。 您可以让用户升级问题,然后使用任何必要的过程来修复它们,然后进行测试和部署。

20。 如果您想解释软件如何以最简单的方式工作,请讲故事。 人们通过联系他们熟悉的事物来联系故事和隐喻。 他们将理解您想要传达的信息,并能够将其传达给其他人。

21。 如今,功能不断完善的API值得一提。 我如何将这项服务与该服务联系起来? 答案是通过API。 如果您使用丰富的功能集和详细的文档构建API,那就太好了。 开放式API是当今的标准,您应该尝试构建它们。 当我采访某人时,面试官比您对编程的理论知识更关心您的解决问题的能力,我会回答一些理论问题,但我会尝试了解您的大脑大部分时间是如何工作的。 如果编程是您的日常工作,您将花费一整天的时间来解决问题,而不是撰写有关多态的文章。

23。 80/20(重新出现)

大约需要20%的时间来完成80%的工作,其余80%的时间来完成最后20%的工作。 想象一下正在建造的房子。 在第一个月,您会看到一块从草地到地基,脚手架和房间的土地。 从那以后,事情像蜗牛一样减速。 软件也是如此。 大多数时间将花费在不太重要的阶段。

第124页。

开发人员开玩笑说,他们从未编写过任何原始代码。 老实说,这可能是真的。 这种模式是有原因的。 您的软件与众不同的原因是它解决业务问题的方式。 不要提出新模型,因为它是创新的。 您可以尝试使用一些有效的方法将更多的精力集中在改善用户体验上。

25。 无论您是刚刚开始自己??的职业生涯,还是已经工作4年或5年,指导都是必不可少的。 必须有人完成了您想做的事情,您可以寻求他们的帮助。 通常,他们很乐意提供帮助。

26。 一切都在代码中。

计算机将完全按照您所说的进行操作。 他们没有自己的想法。 您的代码不起作用,因为这就是您编写的内容。 问题代码中总会有一个答案。 您需要自己找到它。

27。 软件就像两个豌豆一样。

当时不存在,但是显然云开发与大型机开发几乎相同。 这些工具现在更好了。 方法也是周期性的。 我们曾经对瀑布开发充满热情,然后进入敏捷开发,但是瀑布开发似乎正在卷土重来。 也许未来的十年会像20年前那样为我们带来改进的工具包和流程。

28。 消除了存储空间,并且

在计算机中变得很流行。 过去,所有成本优化策略都集中在节省磁盘空间上。 对于所有计算机,您可以使用尽可能少的存储空间。 但是今天,情况发生了巨大变化。 存储成本几乎为零,并且计算机价格不断上涨。 花时间优化代码处理并尽可能多地存储所有内容。

29。 数据

大数据的美很重要。 它为机器学习提供了强大的功能,为我们的工作流程提供了参考,并阐明了趋势。 现在数据存储是如此便宜,没有理由不存储我们想要的一切。 人们喜欢图表,图形和趋势。 数据用于为决策者提供参考。 最好的工具是您的团队

如果您想创新,建立一支强大的团队。 彼此信任的团队可以完成工作,相互挑战并在个人层面上建立联系。 建立相互理解的文化将是您成功的最终决定因素。 作为领导者,请全力以赴。

总结关于以上内容。

到目前为止,我在软件行业的职业经历了很多重大变化,很高兴看到我的观点是