|
|
|
|
公众号矩阵

休息时间!哪些业余活动能提升开发人员的技能?

程序员不可能无时无刻都在写代码。如果你发现自己越来越频繁地熬夜,或者陷入了马拉松式的编码中时,那么你的代码很有可能是不达标的。这时你应该休息,转移大脑注意力,或者停下来思考整个项目的设计决策,否则将无法发挥出自己的理想水平。

作者:读芯术来源:读芯术|2021-01-22 15:23

本文转载自公众号“读芯术”(ID:AI_Discovery)

程序员不可能无时无刻都在写代码。如果你发现自己越来越频繁地熬夜,或者陷入了马拉松式的编码中时,那么你的代码很有可能是不达标的。这时你应该休息,转移大脑注意力,或者停下来思考整个项目的设计决策,否则将无法发挥出自己的理想水平。

你的大脑需要时间反思和放空,而你也需要时间退一步来审视大局。在编码的“兔子洞”中越陷越深,只能不断拖延即将发生的不可避免之事。最后你会精疲力竭,灰心丧气,甚至无法集中注意力。更糟糕的是,你还可能做出不利的结构决策,从长远看,给自己增加更多额外工作。

不要屈从于超效率的文化,不要认为编写的代码越多,你就越优秀。如果你是在学习一门新的语言,或是在大脑中巩固语法基础,倒也可以这么做。但这种做法在工作中是行不通的,你还需要花时间干点别的事情。不管是有意识还是无意识,你需要在写完代码后对其进行反思。

本文会探索一些既可以放松休息,又能提升开发人员技能的一些活动。有一些似乎表面上看起来简单,却可以教给我们重要技巧,锻炼头脑,使我们成为更加优秀的开发人员。

打电子游戏

“你的意思是打电子游戏能变聪明?”

其实在一定程度上是可能的。但我指的不是无需动脑的第一人称射击游戏,而是像策略游戏、沙盘游戏、益智游戏等。这类游戏能够促使参与者策划、适应、识别模式或解决问题。管理资源、策划攻击行动或者解决谜题都能够帮助其成为一名更加敏锐的开发人员。

这些游戏会促使你未雨绸缪并测试策略。在游戏中,你可以建造、移动、再建造;还可以将资源配置到不同的研究领域,以此观察其对整体科技树的影响。

所有这些素都与编码有着极大的相似之处。这和开发一款软件也是大同小异的,都是在不断测试策略以及解决谜题。唯一不同的是,研发软件时,开发人员面对的不是游戏中的华丽图片。

有许多优秀的游戏都能够提升开发人员的关键技能。下面列出的是我个人比较推荐的几款游戏:

  • 《我的世界》(培养设计思维,系统规划和架构能力)
  • 《文明5》(培养辩证思维,规划和问题解决能力)
  • 《传送门》/《传送门2》(培养问题解决及模块识别能力)

参与小型电子产品项目

学习电子学的基础知识,掌握电路的基本工作原理会提升你对系统的理解。系统如今存在于各个领域之中,尤其是在软件开发中。处理由硬件、电路和零件组成的电子网络就如同处理软件系统,核心理念都是高效设计及有效规划。

布局电路并将元件连接起来不仅需要具备物理硬件工程技能,还需要掌握技术设计技能。而这些技能都会直接提升开发人员的能力,并在构建复杂系统方面提供不同的视角。

不仅如此,你还会与十分“严格”的物理媒介打交道:如果你犯了一个错误,想将其删除然后重新来过是不可能的。与电子产品打交道,你随时可能不小心损毁了某个零件,或者被迫重新焊接整个电路板,然后从头开始。

如果你之前没有接触过电子产品,莫不如就从现在开始吧。目前网上有大量免费教学材料,DIY套件也是价格低廉,来源丰富。以下是一些入门级的资源:

  • Arduino(低成本的微控制器套件和模块)
  • Adafruit(初高级DIY项目套件及零件供应商)

学习木工活

如果你还想要学习规划、设计和手作的关键基本知识,木艺也是一种让你在科技之余放松的活动。

木艺是一种完全不同的媒介,会给你带来新的技术设计挑战,让你完全从科技中跳脱出来。其组件也没有隐藏在抽象层和各种界面背后。木头就是木头,它是实体的。一旦犯了错误,你会立刻发现。动手雕刻木制品需要小心翼翼、注意细节,非常考验耐心。

所以下次如果你对花时间等待代码编译这件事颇有怨言,不如想一想木艺中可能要花八小时等胶水干透,这种匠人高度的耐心和专注会让你之后的编码工作收获良多。

绘画/绘制图表

休息一下,让笔和纸碰撞出缤纷的色彩。你可以使用任何适合你的绘画工具,花时间勾勒出想法,就算只是随手涂鸦也没有关系,这种方式会给予大脑急需的重置时间。即使是一个很简单的想法,你认为自己掌握其中所有细节,你也很有可能在将其绘制成图表或草图之后发掘出隐藏问题。

最开始绘制组件,它们就像一座座孤岛,随着想法逐渐具象化,你会从视觉上将所有东西连接起来,观察其运作原理。在可能缺失从属关系的地方,其连接可能与你的预期相悖,这是为什么呢?这个过程会使你的大脑放缓,思考整个想法的架构,而不是直接进行到编码或问题解决模式。

如果你实在是不喜欢动笔,你还可以使用像Mermaid这种可视化图表绘制应用程序来度过“无代码”时光。

进行体育锻炼

悄悄告诉你,我有好多解决问题的点子都是在跑步中想出来的。有些人觉得在锻炼中放空自己似乎并不能有效率地找出问题解决方案,但事实却恰恰相反。有些时候你只需要将自己的注意力从问题症结处转移开,问题便会迎刃而解。

如果你长时间陷入同一种思维定式中,无论你怎么努力也只是徒劳。跳出该问题,快速活动一下身体可以放松大脑,让大脑神游,从而让潜意识中的答案浮出水面。

众所周知,体育锻炼有益于身体健康,除此之外,它对于心理健康方面也是大有益处。对于开发人员来说,最大的好处就是记忆力和问题解决能力的提升。就我个人而言,体育锻炼提升了我编写代码的效率,减少了错误的发生。体育锻炼并不一定要达到多么高的强度,有时散一会儿步说不定就会让你灵光一闪。

欲速则不达。休息一会儿,你能跑得更快。

【编辑推荐】

  1. 钟老师《ACCESS数据库从基础到开发》—任务式宝典教程
  2. 在使用Git时你应该这样提交代码
  3. 婴儿的出生为你解惑构造函数和构造代码块
  4. 程序员美女说:建模一点都不难!做3D模型,这一步才是最难的
  5. AI模型被骗怎么破?《燃烧吧!天才程序员》冠军团队解决方案
【责任编辑:华轩 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

视频课程+更多

华为下一代防火墙NGFW技术视频课程

华为下一代防火墙NGFW技术视频课程

讲师:谢斌32851人学习过

C++语言高级课程

C++语言高级课程

讲师:王健伟33795人学习过

备战软考

备战软考

讲师:王艳华6060人学习过

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微