程序员的训练日记:编程也是一项耐力活动

新闻
笔者曾经是一名长跑运动员,当开始编程之后,我发现二者有许多相似之处。于是,我将自己运动员时期的一些训练习惯应用到了当前的“耐力活动”——编程之中,其中之一便是“使用训练日记”。

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

笔者曾经是一名长跑运动员,当开始编程之后,我发现二者有许多相似之处。于是,我将自己运动员时期的一些训练习惯应用到了当前的“耐力活动”——编程之中,其中之一便是“使用训练日记”。

[[334136]]

编程领域的知识是广而深的。无论从事了一个月、一年、十年,或是更长时间的编程工作,对于每个编程员来说,编程都意味着要学习大量知识并不断在技能上取得进步。从这个意义上来说,所有编程员永远都在“训练”中。

训练日记

我曾探索过一些日记模式。每个傍晚睡前,我都会去书桌旁,拿起笔和本子,来简单记录我当天的跑步训练。这个随手写下的日志里记录着我跑步的公里数,我的感受,和我摄入的食物。例如:

  • “在长跑前的晚上,不要吃丰盛的海鲜大餐。”
  • “我一开始跑得太快了。”
  • “今天的跑步训练中,我感觉非常好……昨晚只吃了简餐(鸡肉和意面)。”

我将这些记录当作反馈,来适当地调整以后的训练和比赛。我利用跑步训练日记提升自己,并达成目标,这很有效。现在,作为一名编程人员的我,也用了同样的方法来提高自我。每个傍晚我都会翻开我深蓝色的Moleskine笔记本,写下日期,并简短记录当天的编程工作。

每天进步一点点

我之所以从一开始就保留着写编程日记的习惯,主要是因为它能够帮助我自我提升。我会记录下任何想到的事物,主要倾向于以下几个主题:

  • 犯过的错误以及从中学到的宝贵经验教训。
  • 效率:在优秀状态下工作的方法。
  • 正在学习和未来想要学习的课题。
  • 我正在尝试的学习策略,也就是如何使用“现场抽查”技巧(对学习到的新知识进行主动地抽查测试,而非被动地复习笔记)。

正如我在训练跑步的日子里,探索脑海中不断涌现的日记模式。如果类似的想法再次出现,就意味着是时候来做出一些调整;或是我能够知晓接下去要怎么做,这两点同样重要。

总之,寻求进步的过程中,花几分钟反思能帮助我前进。

保持原动力

目前,我在写编程日记的过程中做了件跑步时没做过的事情,那就是每天都寻找一些积极乐观的事。这也是我日记的第二个主题。

学习编程的过程既困难又漫长,比起短跑,它更像是一场马拉松,需要我们锲而不舍地学习。在日常中发现自己的可取之处,能够提醒你正在进步——即使是在那些你充满挫败和无用感的日子里。

工作中总会有些可取之处。即使问题尚未解决,你也想出了该使用的正确数据结构;或是思考出了正确算法,并使其在论文中发挥作用,这便是进步;又或是你最终理解了一直以来苦苦挣扎的某个概念,这也是一种进步。

花几分钟思考重温这些小小的高光时刻,可以激发你的动力和自信。

 

记录小瞬间

每天的小收获长期以来能带来极大的进步,这也是我在跑步训练时期成功的秘诀。在为长跑比赛训练的过程中,我的好身材不是一次训练而成的,而是每天的刻苦训练铸就的。每一次的收获虽很微小,但量变引起质变,正是这些小收获成就了现在的我。

同样,要成为一名更优秀的编程人员,并不在于写出一个优秀的程序,或是解决一个棘手的问题,而在于每天持续的进步。编程训练日记提醒着我:日常的付出是重要的。毕竟,成功不过是一点一滴的积累。

行动起来!

坚持写训练日记在理论上似乎是个不错的想法。但是如何进行实际操作呢?又该如何养成这个习惯呢?

我发现将新事物融入到日常生活中的简单方法是:将其与你在生活中常做的某件事联系起来。例如,在刷完牙后写日记。这样就把日常生活的一部分(刷牙)与新事物(写训练日记)联系起来,使新事物更容易地融入日常生活中。

养成这个习惯后,如果不去写训练日记,你会觉得少了点什么。而一旦我花时间思考当天的工作,就像是又回到了那天工作的起点。日记不必写得很长,通常几句话甚至几个要点就足够了。

另一个使人能够按时写训练日记的动力,则是当你开始看到了成效:处理问题的方式会很快涌现出来,你就能够用不同方式处理问题。你也会对正在从事的问题,或是尝试修复的故障有一定想法。

在浏览几个月前的日记时,你将拥有充足的材料来回忆往事。这不仅是自我提升的根本,更能看到自己进步的过程。每天进步一点点,质的飞跃在眼前。

 

 

责任编辑:华轩 来源: 读芯术
相关推荐

2021-03-22 08:58:23

程序员产品经理

2013-12-05 09:17:29

程序员Bug

2012-06-15 09:54:58

程序员编程开发

2012-08-30 10:05:40

编程编程语言程序员

2013-11-14 10:05:25

程序员职业转型

2024-10-30 09:38:34

2015-02-03 02:40:33

程序员盲人程序员

2014-11-10 09:46:57

程序员

2016-01-21 10:05:31

程序员设计师

2013-08-20 09:33:59

程序员

2011-05-30 14:50:56

程序员

2014-06-13 11:03:19

程序员

2011-11-11 16:20:22

编程

2013-08-08 10:02:08

2009-02-27 09:25:28

编程语言程序员C#

2021-04-13 09:07:12

程序员工具软件开发

2012-11-27 09:48:45

程序员项目经理项目管理

2011-06-03 09:58:03

结对编程程序员

2014-07-16 09:34:44

2020-02-22 21:51:43

程序员Microsoft SServerSQL
点赞
收藏

51CTO技术栈公众号