Blog

Blog

PHODAL

对不起,我并不热爱编程,我只喜欢创造

不知是因为到处在招那些热爱编程的人,还是因为到处写着我热爱编程,这个词已经到处都是了。可惜的是我发现我并不是一个热爱编程的人,但是不可否认的是我是有技术热情。只是我的技术热情仅限于我感兴趣的东西。两者看上去似乎有着很大的矛盾,实际上也是如此?

热爱编程是什么鬼?

百科上这样解释热爱:

情愿全身心投入地爱,激情四射,充满幸福的幻想,去奋斗、去付出,享受其中过程(即使是酸甜苦辣),即使没有回报也不后悔。尤其在遇到阻力、挫折时,才显出什么是真正热爱。

这似乎也就意味着只有遇到阻力的时候,我们才能区分一个人是不是热爱编程。所以,正常情况下我们没有办法区分一个人是不是热爱编程。

  • 如果一个人和你说,她/他花了整个晚上去搭建服务器,我觉得我看不出其中的热爱。
  • 如果一个人和你说,她/他花了一个周末去解决一个算法题,我觉得那我看不到其中的热爱。
  • 如果一个人和你说,她/他说了一直花时间在学习、深入技术上,我觉得我也看不到其中的热爱。

我也是那样的人,但是我并不觉得我是热爱编程的。

不热爱不会影响你的编程能力

有意思的是,人们在鼓吹说如果你不热爱编程,你可能没有办法掌握好编程这门技能。

编程的门派之别更像是我们在武侠电视剧上看到的门派之争一样。有的人通过某个技能成为了大师,而别人因为没有掌握这个技能矶没有成为大师,于是这个大师就告诫别人你应该这样走。当你不这样走的时候,他可能就远离你了,编程的门派便在于此。

光热爱一点用处都没有。

见到有些热爱编程的人即使怎么热爱,他的能力也没有比上一些不热爱编程的人。因为人是一种会向别人学习的动物,即使我不热爱,只要我需要达到那样的水平,我也会去做,有目的的学习要比热爱的学习来得更快。让我想起了所谓的武林正派在鼓吹自己的派别一样,除了自己的方法以外的方法都是异教徒用的方法。

  • 如果他所谓的热爱编程,只是因为对于算法的热爱?
  • 如果他所谓的热爱编程,只是因为沉迷于编程?

拜托,绝大部份公司需要的是能解决问题的人。即使他们觉得热爱编程,看重的是你未来能解决更多的问题。如果你的热爱与你公司需要的不是同一个维度,那么再怎么热爱也是无益的。

编程只是技能

技术更多地来说只是一些附属品。真正来说重要的是业务,即使在鼓吹技术公司的里。

只要是技术,那么就是可以学习的方法。可以学习,也就意味着谁都能掌握。那么只要我们能应用好技术,我们就掌握了这门技能。与我们是否热爱不存在关系,热爱不会让我们学得好,但是不热爱也不意味着我们学不好。

我只喜欢创造和解谜

对于我来说,更多地我喜欢创造和解谜。在造轮子之前,我们要先学会怎么去轮子。这时候,我们就需要解开一个又一个谜团。这个过程,比单纯的训练编程能力来得更有益处,也成长更快。当我们把一个个谜团解开后,生活会变得索然无味,这时候就可以创造一些有意思的轮子。

创造并不意味着你需要去了解一门语言的所有,又或者去了解一个系统的所有。我们所要做的只是去了解这个点的所有,依据我们需要的东西,我们就可以创造出更美好的软件。

刻意的训练

我对自己需要的能力定义是,可以不断地创轮子,快速完成开发。这就意味着,我需要学会读懂别人的设计思想、系统性的框架设计。因此,我开始在我的Github不断地创轮子,不断地开发应用。直到某一天,我完成了我需要的那些知识和技术积累,我便觉得可以了。

刻意比热爱更有效率。

与热爱编程的区别

热爱编程并不意味着你需要你知道什么,有时候只是在盲目地深入某个知识点。心里会觉得乐此不疲,但是当我达到我每一小步的目标时,我也觉得很开心。只是在一开始的时候,热爱带来的感觉会好一点,但是随后这种差别并不大。在实现的忘我过程中,我们不会意识到我们为什么在做这个。我们会忘记初衷,因为我们已经走了很长的路。同样的,都会有足够的驱动力让我们完成这一点。

两者的区别在最后的差异会越来越少,直到有一天,我们看不出两者的区别。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《全栈应用开发:精益实践》

这不是一本深入前端、后台、运维、设计、分析等各个领域的书籍。本书以实践的方式,将这一系列的领域及理论知识结合到一起,来帮助读者构建全栈Web 开发的知识体系,并辅以精益及敏捷的思想,来一步步开发Web 应用:从创建一个UI 原型到编写出静态的前端页面;从静态的前端页面到带后台的应用,并部署应用;从Web 后台开发API 到开发移动Web 应用。在这个过程中,我们还将介绍一些相辅相成的步骤:使用构建系统来加速Web 应用的开发;为应用添加数据分析工具来改进产品;使用分析工具来改善应用的性能;通过自动化部署来加快上线流程;从而帮助读者开发出一个真正可用的全栈 Web 应用。同时,我们也将帮助读者把这些步骤应用到现有的系统上,改进现有系统的开发流程。

comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签