技术是不断学习的领域。 作为程序员,我们的工作是解决以前从未见过的问题。 而且我们使用的语言和库可以快速变化。平均而言,编码会中断8个月,这会使我们特定于API的知识过时。 因此,我们正在不断更新,升级,扩展和加深我们的技能。 对于我们来说,正规教育尤其不适用。尽管计算机科学学位对于背景很有价值,但是众所周知, 它不足以为软件开发做充分的准备。其中许多内容几乎没有涵盖API设计,约定,体系结构或(上帝禁止)测试。开发人员开玩笑说,这是他们唯一一次在工作中使用CS学位的big-O表示法问题。我怀疑这个问题是一些Google工程师围坐在一起思考“我们的面试如何确保人们拥有CS学位?”的结果。因此,即使对事物的这种应用也是相当重言的。 一些公司提供带有C,Java,Spring或Android证书的测试。您需要支付很多费用才能参加这些测试并获得相关的教材,通常是书籍。这些书涵盖了语法(仅对语法有帮助)和切线信息(对决没有帮助)。 Spring认证的示例问题:核心Spring包中有多少个库?这个问题的答案与编写Spring应用程序完全无关。 这些书和测试仍然不涉及人类的应用程序体系结构,重构或编程。当然,仍然没有关于测试的字眼。 因此,要建立相关的工作技能,我们必须自己找到答案。谷歌搜索绝对是一项技能。从大量StackOverflow建议中选择最佳答案也是一项技能。但是这些都是分散的技能:您在非常特定的情况下使用它们,并且任何一个错误修复都不一定会提高您构建软件的总体方法。 为了提高水平,我们需要习惯和练习来帮助我们全面提高技能。 升级是技术人员的一种艺术术语。我们从角色扮演游戏中获得了一个术语,其中升级意味着您的角色可以获得更好的属性,生命值和咒语。 很长一段时间,我都不知道。当我玩《龙与地下城》的第一场比赛时,我发现人们对我的编程生涯升级三年半意味着什么 。我以前听过这个词,但对它的看法却截然不同。我会与您分享我的解释,因为我认为这很有用。 这听起来像大多数人图片练级了为自己推进了20级的阶梯,逐步向上移动到下一个梯级,因为他们积累经验,一点点的头像。这使我们对技能的了解随着我们在技术上花费的时间呈线性增长。此后,我将其称为 梯形图解释。 经过三年半的技术学习后, 梯形图解释对我来说是新的。 取而代之的是我所描绘的,我称之为衍生解释。 它包括一系列可能三个级别。 一级:变得更好,增加技能 第二级:提高 技能以提高/增加技能 第三级:掌握更好的技术,以 提高自己的技能/增加技能 对我来说,每个级别代表其下级别的导数。 在数学中,函数的导数描述函数的变化速度。 因此,一条平线的导数为零:如果没有改进或增加技能,我们的技能水平将保持不变(技能发展为零)。 指向上方的线具有某些常数的导数:永久发展技能的相同能力意味着技能会线性发展。 但是,其导数是线性函数的线如下所示: 这是一个二次函数,如您所见,随着我们向右移动,它变得越来越陡峭。因此,如果我们不断变得更好和增加技能的能力不断提高,那么我们的实际技能就会以越来越快的速度提高。 在我玩《龙与地下城》之前的所有时间里,我都认为“升级”意味着专注于技能开发的 下一个升级。从一开始,您就专注于学习语言的基础知识。但是,随后,您会以很少的经验“升级”并专注于学习技术 以 更多地了解该语言。然后,您再次“升级”并专注于迭代开发更好的策略,以更多地了解该语言。 这就是我认为它有用的原因:在梯形图解释中,我们的技能会随着我们在游戏中的时间而线性提高。但在衍生的解释,我们为我们的技能提高的机会 越来越快:通过专注于一个新的水平 最高的技能提升,我们加快了速率我们的编程能力 的变化。 因此,三年半以来,这正是我一直在尝试的工作。 我有了笔记本,并开始尝试使用综合的高带宽技术来提高自己的技能。在此过程中,我想出了一些确实, 确实加速了我的技能发展的东西。我想开始与您分享这些技术。 无论您是只具有少量应用程序开发经验的新程序员,还是经验丰富的资深人士都在寻求突破,并永远得到您的称赞,我认为这些技术在您的工作中占有一席之地。因此,这将是新系列的开始,我将在自己的文章中与示例分享每种技术。 在开始之前,我想给您机会准备我所准备的方法。 考虑购买笔记本对于我使用的几乎所有技术,我都会在大学统治的日记中进行一些伴随的练习和记录保存,这些日记已经载我多年工作了。一直以来都是同一本期刊,因为我写的非常非常小,所以我有幸回顾几年前的工作,看看自己的成长。您可能会有期待! 但是与此同时,我建议您拿起您会喜欢使用的日记本和笔。该系列的下一篇文章将介绍我们提高编程技能的第一种技术。 |
|
来自: jerry_tom123 > 《待分类1》