不知是因为到处在招那些热爱编程的人,还是因为到处写着我热爱编程,这个词已经到处都是了。可惜的是我发现我并不是一个热爱编程的人,但是不可否认的是我是有技术热情。只是我的技术热情仅限于我感兴趣的东西。两者看上去似乎有着很大的矛盾,实际上也是如此?
热爱编程是什么鬼?
百科上这样解释热爱:
情愿全身心投入地爱,激情四射,充满幸福的幻想,去奋斗、去付出,享受其中过程(即使是酸甜苦辣),即使没有回报也不后悔。尤其在遇到阻力、挫折时,才显出什么是真正热爱。
这似乎也就意味着只有遇到阻力的时候,我们才能区分一个人是不是热爱编程。所以,正常情况下我们没有办法区分一个人是不是热爱编程。
如果一个人和你说,她/他花了整个晚上去搭建服务器,我觉得我看不出其中的热爱。
如果一个人和你说,她/他花了一个周末去解决一个算法题,我觉得那我看不到其中的热爱。
如果一个人和你说,她/他说了一直花时间在学习、深入技术上,我觉得我也看不到其中的热爱。
我也是那样的人,但是我并不觉得我是热爱编程的。
不热爱不会影响你的编程能力
有意思的是,人们在鼓吹说如果你不热爱编程,你可能没有办法掌握好编程这门技能。
编程的门派之别更像是我们在武侠电视剧上看到的门派之争一样。有的人通过某个技能成为了大师,而别人因为没有掌握这个技能矶没有成为大师,于是这个大师就告诫别人你应该这样走。当你不这样走的时候,他可能就远离你了,编程的门派便在于此。
光热爱一点用处都没有。
见到有些热爱编程的人即使怎么热爱,他的能力也没有比上一些不热爱编程的人。因为人是一种会向别人学习的动物,即使我不热爱,只要我需要达到那样的水平,我也会去做,有目的的学习要比热爱的学习来得更快。让我想起了所谓的武林正派在鼓吹自己的派别一样,除了自己的方法以外的方法都是异教徒用的方法。
如果他所谓的热爱编程,只是因为对于算法的热爱?
如果他所谓的热爱编程,只是因为沉迷于编程?
拜托,绝大部份公司需要的是能解决问题的人。即使他们觉得热爱编程,看重的是你未来能解决更多的问题。如果你的热爱与你公司需要的不是同一个维度,那么再怎么热爱也是无益的。
编程只是技能
技术更多地来说只是一些附属品。真正来说重要的是业务,即使在鼓吹技术公司的里。
只要是技术,那么就是可以学习的方法。可以学习,也就意味着谁都能掌握。那么只要我们能应用好技术,我们就掌握了这门技能。与我们是否热爱不存在关系,热爱不会让我们学得好,但是不热爱也不意味着我们学不好。
我只喜欢创造和解谜
对于我来说,更多地我喜欢创造和解谜。在造轮子之前,我们要先学会怎么去轮子。这时候,我们就需要解开一个又一个谜团。这个过程,比单纯的训练编程能力来得更有益处,也成长更快。当我们把一个个谜团解开后,生活会变得索然无味,这时候就可以创造一些有意思的轮子。
创造并不意味着你需要去了解一门语言的所有,又或者去了解一个系统的所有。我们所要做的只是去了解这个点的所有,依据我们需要的东西,我们就可以创造出更美好的软件。
刻意的训练
我对自己需要的能力定义是,可以不断地创轮子,快速完成开发。这就意味着,我需要学会读懂别人的设计思想、系统性的框架设计。因此,我开始在我的Github不断地创轮子,不断地开发应用。直到某一天,我完成了我需要的那些知识和技术积累,我便觉得可以了。
刻意比热爱更有效率。
与热爱编程的区别
热爱编程并不意味着你需要你知道什么,有时候只是在盲目地深入某个知识点。心里会觉得乐此不疲,但是当我达到我每一小步的目标时,我也觉得很开心。只是在一开始的时候,热爱带来的感觉会好一点,但是随后这种差别并不大。在实现的忘我过程中,我们不会意识到我们为什么在做这个。我们会忘记初衷,因为我们已经走了很长的路。同样的,都会有足够的驱动力让我们完成这一点。
两者的区别在***的差异会越来越少,直到有一天,我们看不出两者的区别。