12年毕业,不知不觉,已经参加工作6年了,这本是一篇应该去年写完的文章。 距离上一次的博文,时间下来快3年了,期间自己总是念念叨叨不能让自己的博客长草,但是写出一篇完整的文章真的是特别耗时的事情。
写代码可以让重复的事情固定下来,写文章则可以让重复说的话给沉淀下来。每当有新人向我请教一些问题的时候,如果可以先让他过目一下自己写好的文章,再做一些交流,那教育的效率以及节省下来的时间都是很可观的。
因此,不能再让博客长草了...
编程语言只是工具
在软件行业,5年的工作经验被视为一条有象征意义的分界线,前两年的时候,有个架构师朋友跟我说,一个工程师,当他有了5年经验以后,才称得上是一个完整的作战单位,我表示了认同,尽管那时的我也不过刚满5年经验。
第一家工作单位的老板是技术出身,虽然我在职期间能偶尔感受到他希望介入技术开发决策的躁动心情,但直到我17年离职之前,“编程语言只是工具”这样的话,他也只对我说过一次,尽管初听时情绪被搞的很低落,但现在想来,他其实已经很克制了。
对,编程语言只是工具,接受这句话总有点向现实妥协了的意思,这个道理对于新人来说总是难以接受的,更不用说是热爱技术的小年青了。但随着你接触过的语言增多,接触到的问题变多,你可能会发现,真的不存在银弹。问题是无穷的,但总是存在更好的解法,当解法不再频频涌现的时候,其实我们是在等待下一个思想家,而不是下一个编程语言。
Show me the code?
我喜爱Linux,这个世界提供了一大箱子的工具来帮你完成一些琐碎的,重复的工作,同时也架起了一座与机器沟通的桥梁,带给你一种世界尽在掌握之中的满足感。而Linux的创作者Linus说过的最著名的一句话“Talk is cheap, show me the code”,我想在这个行业里没听过这句话的人应当不存在吧。尽管我很想遵从他的理念,只是我最好的能力似乎不在code上,所以很遗憾,也很惭愧,没能为这个世界贡献多少我的代码。
Linus曾经在TED上表达过他对这个世界的看法,我大致总结一下:这个世界的伟人分为两种,一种如爱因斯坦,他们负责打开人类的想象力,带领我们往天上看,一种如Linus,他们负责造桥铺路,引领人们在地上走。Linus是个热爱生活的实干家,带动了技术风潮也许不是他的目的,但至少他为此感到欣慰。
他的那句名言正是反应了他的实干态度,可我认为,这应当是你的一种主动选择,而不是一种逃避方式。“Show me the code”之前,有多少人能说得清自己是在写什么吗?为了写代码而写代码,为了逃避表达而写代码,这都不是正确的态度。毕竟,值得欣赏的代码总是短小又精妙的,大多数人写的代码更多的只是在完成一件事情,而说清楚一件事情总比让人花大量的时间去阅读你的代码才能搞清你在做什么要强得多吧。
生活里还是工作中请求我协助帮忙解决技术问题的次数还是很多的,在这过程中我感受到了一个现象,很多人并不能较准确的表达出自己到底遭遇了什么问题,更糟糕的是很多时候他们会“误导”你。于是,在给出你的解决办法之前,你不得不先花大量时间帮助他们理解清楚他们究竟碰到的问题是什么。
所以,能否表达清楚自己在做什么,以及表达清楚自己遭遇到了什么问题,我觉得这样的表达能力可能比coding的能力更能让人走的远。
摆渡人
好为人师是我的一个毛病,我帮别人解决问题,从来都不喜欢给结果,总喜欢给方法。问题解决了的时候,我也是会习惯性的为提问者进行一次“问题-原因-解决方法”的总结。也在偶尔的时候有提问者只关心结果,你说方法说理论他都心不在焉,出于表达对这类人的失望,他们下一次的帮忙请求,我选择不帮的概率要高于直接给结果的概率。
我想做个小小的摆渡人,渡人有两个方向,我选择多写点文章讲讲理论和方法论。尽管“Talk is cheap”,但如果可以帮到一些人,给这个世界带去一点点回馈,也好过什么都不做吧。