谈谈对编程者来说什么是更重要的品质

从2011年开始学习编程直至现在,收获了挺多的东西。除了在知识方面,今天谈一谈我觉得哪些品质对编程者来说(尤其是本人)更重要。

首先谈谈学习方式。我们都知道学习分主动输入和被动输入。但是由于人的惰性,往往会选择被动输入,实际上主动输入的效果最好。这就好比在上学时,通过自己主动搜集资料学习的方式要优于通过老师教的方式。

我身边有很多的朋友喜欢收集视频教程,然后通过看视频的方式去学习。或许编程入门者使用这种方式还不错,但我觉得很浪费时间,并且没有主动输入的效率高。我在学习一项新的东西时,通常是先看文档和示例,以及善用google,然后马上动手实践,在实践中发现问题逐步提高。

实践应是需求导向的,最好能上线供别人使用。这样算是入了门,之后再是进阶。我的方式主要是读书、研究优秀开源项目源代码和重复造轮子。读书是为巩固,研究代码是为学习别人优秀的部分。

对于重复造轮子,可能会有人反对,觉得没必要,直接用就是了。我倒认为这是一种很重要的提高自己的方式,懂得如何造轮子,在实际工作中才能更准确地定位问题所在。不懂得造轮子的人,思维反而受到很大的局限性。

还一个要说的是态度和习惯。对于各类编程语言持开放心态,自己不喜欢的或许是最能解决实际问题的,每种语言都有其优缺点。当遇到吸引我的产品或框架,我会去研究他是如何实现的,哪些地方做得好,哪些不好。

自己要像吸铁石一样,把吸取别人优秀的部分养成一种习惯,这要对其他的事物保持谦卑、热情和开放的态度,不能浮躁。同样,遇到优秀的人也是同理。

要像做产品一样对自己高要求,追求极致,不断地提升自己的效率和写代码的质量。也像打磨石头一样,慢慢地将自己打磨成一个越来越优秀的人。