昨晚一个不曾谋面的侄子给我电话,他刚高考完,对于是否要读大学产生了疑惑。主要还是考的不好吧,说是疑惑其实心里已经打定主意要去培训软件开发了。要是以前我肯定会愤愤不已跟他说读大学没卵用,因为毕业初期工作的不顺利曾让我对大学无用论坚信不疑,是后来工作日趋稳定后才逐渐意识到不能总是把混的差全部归咎于读大学浪费时间。一个人要是不学好,缺乏自驱力,不管他选择什么最终都会是同一个结果的。以前懵懵懂懂做了很多错误选择,走了很多弯路,一度懊悔不已,现在别人面临两难的时候我也可以稍微说上几嘴了。当中最大的变化就是思维能力有了长足提升,看问题角度更全面了。思维体系的形成是很漫长的,我们唯有不断累积和扩大知识面,加以思考分析,才能对自己所处的行业、社会,乃至这个世界有一个主观的概括和认知。意识到这点很重要,因为它与你内心的强大与否直接挂钩。“胸藏文墨虚若谷,腹有诗书气自华”,有的人深邃无比,有的人一眼便能看穿,人与人之间的区别,往往就体现在这些地方。

工作中经常有面试,纵观下来发现的一个可悲的现实就是——大部分程序员已沦为平庸,生生活在自己画的一个牢笼里,得过且过,且思维狭隘。有的自认为很洒脱,有的已经丧失了自主思考的能力。在我眼里这些程序员倒是更像一个技工,其职责就是将产品经理的构想机械式的翻译成代码。本应是最富创造力的一群人,结果一个个成了不会思考的代码机器,必须要有人监管着,否则都不知道怎样转了。按部就班的软件开发流程是为了减少结果的标准差,可很多人在这个过程当中忘记了程序员本来该的样子。

程序员真正想做的是设计优秀的软件,这是程序员成就感的来源。只是现实往往不尽如意,因为软件的架构和设想,不是每个程序员一开始就能接触到的。那么怎样才能不受约束的做自己喜欢的事情呢?一个几乎所有创造者都知道的方法就是去找一份养家糊口的“白天工作”,这个词是从音乐家身上得来的,他们晚上表演音乐,白天就可以做一份其他的工作。白天为赚钱,晚上为爱好。所以并不是完全没有机会,而是在机会面前很多人都缺乏自驱的动力。

一个好的程序员,是会“换位思考”的。有的程序员很聪明,但完全以自我为中心,根本不会设身处地为用户考虑。这样的人很难设计出优秀的软件,因为他们不会从用户的角度看待问题。判断一个程序员是否具备“换位思考”的能力有一个好方法,那就是看他怎样向没有技术背景的人解释技术问题。我们身边应该都有这样的人,他们在其他方面都很聪明,但解释问题的能力却不敢恭维。如果一个外行人问他们“什么是编程语言?”,他们可能会嗯啊半天然后蹦出一堆的专业术语来,对方定然是一脸懵逼。

互联网精神是开放、平等、协作、分享。程序员也理当如此,然而还是有很多程序员死守着他们最早学会的那门编程语言,将之奉为“圣经”,甚至大肆攻击其他语言。“圣经”是最好的,其他语言都是“歪门邪道”、“战五渣”,多么迂腐和不思进取。要知道编程语言从一开始便是被设计成一种控制计算机行为的特定语言,是一种工具,并不是一种“信仰”。《计算机程序的结构与解释》一书的卷首语写道:“程序是写出来是给人看的,附带能在机器上运行”。五花八门的编程语言造就了丰富多彩的互联网世界,新旧技术的迭代更替时时刻刻在发生,唯有常学才能常新,特别是竞争力日趋激烈的今天,固步自封的结果就是被淘汰,所以一个程序员的自学能力就是他在这个行业中安身立命的核心竞争力。

所有职业当中,程序员的自黑是出了名的,以至于很多玩笑话都被那些行外人当真。比如“程序员都是屌丝“、“钱多话少死得早”、“50岁挂墙上”之类的一定没少听。其实也怪不得别人当真,因为很多程序员真的就是一副不修边幅的样子:蓬头垢面、永远大一号的T恤衫、腰线偏高的牛仔裤、脏兮兮的运动鞋,且统一背黑色双肩电脑包。话说这就是程序员在别人眼里的标准形象了。物以类聚人以群分,同一个圈里人家设计师就穿的大方得体。所以我说程序员们,是时候给自己买几身好衣服了,否则“程序员没有女朋友”的标签可就撕不去了。

以上几点仅是我个人的观察,程序员应该是什么样子,每个人心里都应该有自己的标准。但不可否认的是,程序员是一个有着莫大创造力的职业,他们在0和1的世界里驰骋,只为将这世界变的更好。虽然现实当中略显低调,却是一群没有花花肠子非常靠谱之人。为了不改程序员自黑本色,上面指出了很多问题,大家共勉之。