关于软件开发中的学习

当我几年前第一次开始编程时,我为开发人员对他们的工作充满热情感到惊讶。 关于一种技术相对于另一种技术的好处以及新发布的工具的可能应用的争论一直很激烈。

社区成员将互相帮助 。 人们会公开分享他们的知识,以便每个人都能成长。 我真诚地怀疑,任何其他行业是否也愿意在公司之间共享经验。

当时,他与我的团队负责人讨论了这一问题,他告诉我,这将永远改变我对我们所从事行业的看法。

软件开发更像是一种生活方式,而不是日常工作。

软件工程是一个任务。 这是一个永无止境的旅程。 关于解决方案改进的旅程。 但最重要的是,这是一个不断学习的旅程。

我想我们大多数人都进入了编程领域,因为我们想开发具有挑战性的产品,使用最新技术并乐在其中。 为了保持行业的前沿优势,我们花费大量时间学习和实践新概念。

获得新知识

我对软件开发最着迷的是其知识库的深度。 作为一个喜欢学习的人,我爱上了这种手艺,因为每一天都能给我带来新的东西。

总会有东西挠痒痒。 我有机会每天解决各种问题并解决复杂的难题。

我曾经从事过的任何其他工作都会使我感到无聊,但编程永远不会停止提供更困难的挑战 。 因此,保持您的兴趣并强迫您尽力而为。

但是,学习不仅是机会 ,也是需要 。 我们工作的行业异常活跃,为了保持相关性和竞争力,获得新技能和改善思维定式应该是我们最大的职业重点之一。

我以JavaScript开发人员的身份工作,并说生态系统的高流失率是一种轻描淡写的说法。

但是如今有很多东西需要学习。 由于发布了许多新工具和技术,因此跟进成为第二项全职工作。 我们倾向于涌向新的吸引人的想法,并迅速宣布旧技术已过时。

学习的陷阱

学习会上瘾。 它激发您的成就感,使您更聪明。 当您最终到达Aha时,您会得到多巴胺的刺激! 一个复杂的话题中的瞬间无法被许多其他感受所击败。

知道这一点,很容易陷入不断学习的陷阱。 并不是说它很糟糕,但是当我们仅仅为了它而这样做时适得其反。

遵循帕累托原则 ,我们意识到80%的时间我们只使用20%的技能。 因此,我有一个非常规的想法,那就是与其学习一堆我们永远不会使用的新事物,不如将其集中在每天实际使用的20%上来提高自己。

逃脱陷阱

在学习时要意识到的最重要的事情是,我们将永远没有学习一切的能力,也永远不需要。

如果您对新事物感到兴奋,并且希望花一些时间探索它,那就完美了。 但是,为了可雇佣性并保持领先优势,这样做并不是花费时间的最佳方法。

重要的是要了解,变更技术更多是业务决策,而不是纯粹的技术决策。 除非有充分的理由,否则一家公司不会将其技术堆栈切换到新的热门事物上。

因此,请放心,如果您不处于技术的前沿,您将不会轻易落后于技术。

尽量避免文章过于极端,声称某个工具在可能的竞争对手被释放后一周就了。 您的技术堆栈不会在一夜之间过时。

练习和重复

学习新事物的举动使我们感到自己正在不断进步。 但是您不一定需要您可以找到的所有知识。

陷入学习陷阱通常会导致我们从我们的范围内获得了很多我们永远不会实际使用的理论知识。

对我来说,解决方案是对我所学的内容非常挑剔,并且如果我白天没有学到任何新知识,也不要打败自己。

单独学习不会给我们何时使用特定工具或范例的直觉。 获得真实经验的唯一方法是通过练习和重复。

基础知识

练习计算机科学的基本概念是使您的头脑敏锐的完美方法。 需要思考的问题确实非常具有挑战性,无论您在某个主题上花费了多少时间,总会学到一些东西。

如果您正在阅读,有很多有趣的论文 。 如果您需要处理一些代码,则总是可以找到一个具有挑战性的算法来编写。 放置诸如时间和空间复杂性之类的约束会进一步提高标准。

我决定继续学习有关函数式编程的更多知识的决定令人难以置信。 与学习新库相比,探索currying,合成和函子的作用扩展了我的思维方式。

教学

将您的知识传递给其他人是一种行之有效的方法,可以了解我们仍然需要在特定主题上学习多少。

我认为, 教学是一种以不同方式思考问题的绝妙方法。 当您学到一些东西时,可以通过将它们放在自己的棱镜中来理解。 您为自己创建了一个下意识的解释,并建立了解决眼前问题的直觉。

当我们学习时,我们会进行类比,使较难理解的主题更容易理解。 但是,在进行教学时 ,我们需要投入听众的注意力,并做出足够好的解释和例子。

目的是让他们理解主题,而不依赖他们与我们拥有相同的思维过程。

您无需亲自授课即可从中受益。 即使撰写简短的博文也可以帮助您扩展对特定问题的了解。

TL; DR

  • 学习新事物是程序员背后最大的动力之一。
  • 获得技能和知识是我们职业的重要组成部分。 为了适当地花费时间,我们需要注意投入的时间。
  • 您将永远不会学到一切,也不需要。
  • 如有疑问,请专注于改善您的基础知识。
  • 通过教学传递知识是巩固我们已经知道的一种极好的方法。

通讯

我经营着一个小型通讯,在其中分享有关软件开发的想法,沉思和智慧。 没有教程或广告。 每隔几周就会向您发送我发现值得深思的东西。 如果这听起来很有吸引力,您可以在这里订阅。

拍手和分享

如果您喜欢阅读的内容,请按住拍手按钮一点,以便本文可以吸引更多人。 与可能会有所帮助的朋友或同事分享。 欢迎任何反馈!

From: https://hackernoon.com/on-learning-in-software-development-f7d687925e54

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值