神级程序员掌握的技能,了解一下?

提起程序员,我们的心中想到的都是,写程序,或者是在学习各种编码。说起学习就不得不说,很多程序员都在学习spring boot,redis,dubbo等框架。但是,学习了很长一段时间后,我们发现,成长与努力明显不是成正比的。小编和很多程序员们都聊过,发现了根本的问题,这也是大部分的程序员都有的一个弱点:那就是,不懂得如何沉淀自己的经验。请小伙伴们回顾一下身边的老司机(架构师)们,他们是不是都有一个代码库,或者有道笔记、印象笔记之类的知识库呢。因为过来人深知一点:复盘是一个有效的学习落地方法。

“复盘”一词原本是围棋术语,棋手们在平时训练的时候,大多数时间并不是在和别人搏杀,而是把大量的时间用在复盘上:每次博弈结束后,双方棋手重新在棋盘上把刚才的对局再重复一遍。

看看哪些地方下得好,哪些地方下得不好,哪些地方可以有不同,甚至是更好的下法。

神级程序员掌握的技能,了解一下?

曾经有一项调查显示,那些成功且卓有成效的管理人员,都有着类似复盘的学习方法。

我们一般把成人学习的途径大致分为了三类:

◆ 从书本或外部学习、培训获得

◆ 向有经验的人或公司习得

◆ 个人的工作实践和事后复盘

这三种途径在提升人的能力方面所起作用分别是10%、20%和70%。

这就是著名的“7-2-1”学习原则。

神级程序员掌握的技能,了解一下?

做为一名程序员,复盘这个方法显得就非常有用了。平时做项目,时间紧,所以设计和编码难免有不完美的地方。项目结束后,大家往往不是匆匆开始另外一个项目,就是自己开始找新的知识点学习了(这里指那些希望技术进步的程序员兄弟们)。并没有静下心来去思考在刚刚做过的项目中,遇到过哪些问题,是怎么解决的,还有更好的方案或设计吗?这就是没有去做复盘。

举一个例子,之前在做一个日本的金融项目,当时的日本软件工程非常成熟。针对本项目,客户提出了一个“遇到问题,问三问的”方案。具体就是遇到比较严重的bug时,会问三个问题,问完后基本就可以确定根本原因,然后提出解决方案,从根本上杜绝类似问题的再次出现。例如:当时一个工程师少写了一行逻辑判断,导致了线上的bug。为了避免类似问题再次出现,项目组提出了三个问题:

1)Q:为什么这里会少一行逻辑判断?是工程师经验不足还是因为工程师粗心呢?

A:当时逻辑写了一半,出去吃饭了,回来就忘了。

2)Q:为什么回来就忘了呢?

A:当时代码没有做标记,回来后又开了会议,导致时间过长,遗漏了。

3)Q:为什么写一半的代码不做标记?

A:经验不足。言外之意就是项目组的规则还是不够完善。

最后,项目组内进行了规则的再完善(写一半的代码要标记)和学习。从很大程度上防止了之后的任何项目再出现任何问题。

小编认为这也算是复盘的一种。

最后我们可以从下面四个步骤中学习,开始我们的复盘之旅:

1、回顾目标,为后续评估结果、分析差异树立基准;

2、评估结果,用真实、全面的数据支撑;

3、找到差距,深入分析原因;

4、总结经验,确定下一步的行动。

分享 IT 技术和行业经验,请关注-技术学派。

相关推荐