一个老程序员对自己当前编程技术处在哪个水平的反思

  1. 我目前的教练技能处于第二个阶段和第三个阶段之间。
  2. 在过去四个月里,支持我从前一阶段跨越到当前阶段的,最重要的是我想通过用教练技能武装自己,做好一个multiplier的信念。当然,这个TLS打卡群和每周一次的四人小组打卡练习,客观上也给了我足够的练习机会,使我的能力得到成长。
  3. 畅想一下,如要在明年TLS项目毕业时,你能从当前阶段进一步成功跨越到下一阶段,还需要什么不同的支持?

一个老程序员对自己当前编程技术处在哪个水平的反思

需要自己发自内心的主动刻意练习。其实看到老师这个题目,我马上就联想到了编程界公认的,经典的程序员修炼进阶模型,这个模型给程序员定义的4重境界,正好对应了老师题目里的四个阶段:

无意识无能力——不知道自己不知道
有意识无能力——知道自己不知道
有意识有能力——知道自己知道
无意识有能力——不知道自己知道

1 无意识无能力

在校大学生,或是工作刚一年的编程新手所处的阶段,年少轻狂,激情四射,学习编程新知识超级有干劲,当自己按照教程编写出一些应用,学会使用一些框架,研究了一些算法后,觉得自己很牛,觉得编程就这么回事——不知道自己不知道。

一个老程序员对自己当前编程技术处在哪个水平的反思

2 有意识无能力

工作过一段时间,接触到了一些大型项目,在工作中遇到过一些自己无法独立解决的棘手问题,需要依靠公司大牛的帮助。收起了第一阶段的心高气傲,开始沉下心来虚心学习,研究事物的本质。越学习,越觉得自己懂得很少——知道自己不知道。

一个老程序员对自己当前编程技术处在哪个水平的反思

3 有意识有能力

经过有意识无能力的阶段,这个时候,该程序员已经身经百战,接触过各种编程语言,使用过各种编程框架,在无数的加班处理生产系统中报的incident这种生与死的边界徘徊过,解决过各种稀奇古怪的棘手问题等等,经验已经非常丰富,职业水平已经上了一个台阶。经历过成千上万小时的编码生涯后,有意识有能力的程序员对于遇到的大多数问题,都知道其发生的原因以及解决方案。处于这个阶段的程序员已经能够独立解决自己遇到过的所有问题。

4 无意识有能力

真正的超级程序员。这个阶段的程序员能够解决同事遇到的但是自己还没有接触过的问题。这个阶段只有程序员的抽象思维能力不断提高才能够达到的境界。

如果说有意识有能力的程序员能够解决某一个问题,那么最后这个阶段的程序员则能够解决某一类问题。

一个老程序员对自己当前编程技术处在哪个水平的反思

处于这个阶段的程序员能让每一位同行羡慕不已,因为他/她已经将自己职业生涯接触过的所有编程语言/框架真正融为了一体,在接到任务时,脑子里想得不再是“我应该用什么编程语言/编程框架来完成这个思路”。无意识有能力的程序员,能够潇洒自如地运用自己所学去完成任务,而不再拘泥于某一项具体的技术。这个阶段的程序员,就是在武当山真武大殿忘记了张三丰传授过的所有剑招之后的张无忌,就是华山思过崖里尽悟风清扬传授的独孤九剑之后的令狐冲。

一个老程序员对自己当前编程技术处在哪个水平的反思

Jerry觉得自己目前正处于程序员的第三个境界上,正在朝第四个境界努力。再回到教练技能的四个境界,运用奇迹式想象原理,我想老师们期望我们最后能实现的场景,也就是达到无意识有能力的境界,在进行教练式对话时,完全不被课堂上我们习得的教练式对话的套路所束缚,而是能够灵活运用这些技巧,完美地服务于我们的客户。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
一个老程序员对自己当前编程技术处在哪个水平的反思

相关推荐