人生元编程
大家下午好,非常高兴参加新浪《知行》活动。今天我跟大家分享的主题就叫做人生元编程。我先想调查一下,咱们现场的观众里边有没有做过编程的工作, 或者是不是在学计算机专业,有的话举一下手,我看一下。非常少,没关系,给大家普及一下生活,以后万一你们进互联网做产品经理,要好好了解一下程序员的生 活。
今天主要是给大家去讲一下程序员的生活,实际上在现在这样的互联网时代,程序员参与了整个互联网的建设,做了方方面面的工作,但是社会上很多人 对程序员不是特别了解,当然有很多误解,比如说黑程序员的,什么钱多话少,死得早之类的。很多程序员,女生找程序员的标准就是你是不是符合这个标准。有这 样一些误解,所以今天我主要来给大家讲一下程序员的真实的生活,他们所做的一些东西,包括如果你想未来进入互联网行业,想进入程序员这样领域的话,应该做 哪些事情。
简单介绍一下我自己,我是70后的程序员,现在还在写程序,当然也会做其他的事情。事实上在我的程序生涯中,我学习了很多编程语言,大家看到刚 才那一页展示的时候,我会六种以上的编程语言,有些可能已经忘掉了,有些还记得,程序员这样的职业,需要很多年的积累,很多创业者也好或者刚刚毕业的人也 好,或者像你们一样刚刚进入大学,在学习一些新鲜事物,总是希望能够速成,能够很快地去掌握一些东西,实际上这个还是很不现实的,任何一个领域,不管是做 程序,你要做传媒,你要做建筑,做设计等等,实际上都需要我们投入大量的时间和精力去做这个事情。我今天主要跟大家去讲一些这样的东西。
我介绍一下我自己个人的职业生涯。我是1998年毕业,大家算一算,可能工作也快20年了,不到20年。我的高考失败,江湖上不是有传言说,高 考失败以后,最后上了浙大,你们听说过这个吗?我是高考失败以后,也没有报浙大,当然也上不了浙大,我是第二志愿报了大连理工大学,大连理工大学,那大学 也不错的,但是人家不要第二志愿,结果我被打到第三志愿的大学,叫河北科技大学,我在石家庄的河北科技大学毕业的。毕业以后,来到了北京顺义的一个直流电 源厂,就在那个厂子的车间里,因为你不是名牌大学毕业的,名牌大学毕业生像你们这样就会进到实验室,每个人会有台电脑,那个时候实际上没有电脑的,电脑是 很少的。我们到了车间里面,整个车间只有两台电脑,我当时是做什么工作,就是实习三个月,可能有一个月的时间就是在擦散热器,散热器生产出来以后,油很 大,你要把它擦干净,每天要干这个工作。然后后来开始承担一些主要的工作,比如说测试,电路板,维修电路板等等这样一些工作。
但这个东西和我大学里学的那些东西是不太契合的,我大学里,我是一个机器电子专业,我对电子相关的东西比较感兴趣,所以最终还是选择了去学习一 些计算机,学习一些程序语言,结果我在顺义那边待了一年半的时间,我就到了北京。后来就来到了洪恩,洪恩这个名字如果你们年长一点的话应该能听说过。
我在洪恩待了有三年半的时间,做了洪恩在线,做了数字校园,现在数字校园已经应用得很广泛了,当时我们做的时候,实际上学校里很少有这样的信息 系统。我在2003年的时候就离开了洪恩,因为洪恩这个公司基本上属于我的真正第一份工作,每个人毕业以后,自己的第一份工作一般情况下,都会做几年以 后,即使他在公司待得很不错,他可能也会有一些想法,因为那句话怎么说?世界很大,我想去看看。你总要向外走走,看看别的公司怎么样,或者我能不能去创业 等等,这样一些想法。
后来我就离开了洪恩,离开洪恩公司,后来我就到了一个外企,去做了一套分布式的软件系统,在外企待了大概两年的时间,外企它对整个你的生活还有 你的工作是分得很开的,而且它的待遇也比较好,就是你缺乏一种向上的力量,现在整个大家看外企在中国的环境,也是表明了这样的趋势。更多的人,更多愿意做 更多事情的人可能还是离开了外企,到一些国内的公司或者更知名的一些互联网公司或者到创业公司等等,就是外企实际上它还是有一些点,但是它外企其实有很多 优点,大家如果将来有机会去外企,可以学习到很多外企公司好的地方。
我从2006年就来到了瑞友科技,就开始做企业应用的东西。因为那个阶段,我觉得如果能为企业提供更多的服务,对我来说是更好的选择,所以我在 这公司待了足足有十年的时间,待了有十年的时间。在这个期间,一直在做企业级的软件开发,包括我自己构建了企业级的平台等等,一系列软件的东西。这个平台 也最终应用到了上千家的企业里面,实现了我自己小小的梦想,让自己的程序代码能够跑在成千上万台服务器上,而且它还是能用的,并不是说我们写了很多垃圾代 码放在那,就不能用了,这是不行的。在2012年的时候,我写了一个公众帐号叫做MacTalk,这个帐号大家有人听说过吗?我看到一个美女在点头,很开 心。以前我一般都说,人家都是80%听说过,这个场景确实不一样。
这个公众号我一直写到现在,也写了有一百多万字了,而且我还出了一本书就是刚才提到那本书,叫《人生元编程》这本书。之后,我就在2015年, 就今年,我加入了锤子科技。我正好有一个机缘巧合,加入到这样一个公司,实际上我从2012年左右,基本上是把自己的兴趣转移到为个人消费者去做一些东 西,转移到这样一个领域来了。所以有这样一个机会的时候,我就加入了这样一个公司。罗永浩是一个个人品牌非常鲜明的一个人。比如说一个设计,它的完美程度 到了哪个程度是我们能接受的,在一般公司,它会在成本和完美程度之间会做一个偏向于成本的选择,在锤子科技,就会趋向于把这个产品做得更好。所以这样的一 个公司的理念还是能够打动我的,因为我本身也是比较有一点,有一点理想主义的情怀,所以最终是加入了这样一个公司,也是我现在正在服役的一个公司吧。
所以有时候人生是,感觉很奇怪的一个事情,我记得我在2005年到2006年的时候,那个时候开着车总会听罗永浩的《老罗语录》,不知道你们听 过没有,你们应该都是90后,应该还没有00后吧,我不知道你们会不会听这个东西,我们那会会听一些类似这样的东西。那你们现在听高晓松的《晓松奇谈》 吗,这个会听是吧。反正时代在变迁,我当时我觉得老罗是一个非专业的人,在讲一些老罗语录,觉得特别有意思,从来没有想到将近十年以后,会和他一起做一个 公司。所以人生有时候是挺有意思的一个事情。
这是我的一个个人介绍。下面我会简单给大家讲一下程序员到底是什么样的职业,程序员的生活状态,程序员应该掌握哪些东西,什么样的东西,什么叫人生元编程,给大家分享一些这样的主题。
现在是一个什么样的时代呢?它是类似于我们好几百年前,大航海时代,就是高晓松也讲过,大航海时代能够通过航运,通过航海,把整个世界连接起 来,而且发现很多新的事物,新的大陆,新的人种,新的物种,这是一个大航海时代。到了互联网时代,我觉得应该属于第二个大航海时代,互联网通过网络技术, 还有编程技术等等一系列这样的IT相关的技术,把整个世界能够紧密地结合在一起,我们现在,我们每个人了解的东西远远超过我们先人了解的东西,我们可以瞬 间搜索到大量的我们需要的资讯。所以这个时代对每个人来说都是非常幸运的时代,而程序员在这样一个时代里,呈现了是以一种缔造者的姿态去做事情的。我们可 以想像如果没有那些伟大的程序员去创造linux,创造微软,创造苹果公司,创造互联网的协议等等,实际上我们现在基本上,我们是看不到这样的无比繁荣的 世界。所以程序员我觉得是一个非常伟大的职业。
程序员首先在别人眼里是什么样的?我们看一下这个图,(PPT)我们在爸妈眼里,我记得我当年1999年回去跟我妈说,我现在是程序员,首先我 妈不知道程序员是干嘛的,后来她看了一些电脑,看了一些电视里的报道等等,她觉得程序员挺牛的,我们在父母眼中永远特别犀利,上天入地,戴着墨镜特酷,什 么都能干。这是在父母眼里对程序员这样的职业有这样的认识。在亲朋好友眼里,我们是什么样的?我们永远是一个修电脑的,因为我每次回家,我都这么大岁数 了,我都工作了十几年了,我回家还是有人过来问我,说老迟同志,我的电脑坏了,能不能帮我修一下,我想配一个什么什么的电脑,你觉得我这个CPU选多少G 合适呢?或者说你看我这icloud又配不好了,你帮我弄一弄,在那些人眼里我们永远是修电脑的,这个要拒绝,我不知道你们是不是有这么麻烦过你们的程序 员朋友,所以有时候你要找一个程序员朋友的话,基本上这些事你就不用麻烦了。
在比较正常的状态,就是这样,我们在公司里讨论问题,大家坐在电脑前,这是比较正常的工作状态。在女朋友或者是你的爱人眼里,因为程序员大部分 是男生,程序员可能是这样的状态,就是叫英语怎么说,叫nerd,很孤僻,天天在电脑面前待着,也不愿意跟你聊天,宁可抱着电脑也不愿意抱着你,就这种状 态。事实上每个程序员心里都有一些伟大的理想,我们都希望成为最伟大的程序员,我们希望成为乔布斯和比尔盖茨这样的人,能够用我们做出来的产品去改变世 界,这是程序员自己心里想的。
现实生活中,我们有可能是这样的。大家看起来是很乱,但是这个是真实的场景,我在洪恩的时候,我的一个师兄他技术特别牛,老板就专门给了他一间 办公室,然后我们有任何问题都可以进去找他问,每次你开门就会发现烟从门里冒出来了,他在那翘着二郎腿,吊只烟在那敲键盘,在那敲,你问他什么问题,他也 不跟你说话,给你敲一堆代码,告诉你走吧,就这样的。确实有这样的程序员的生活,但其实大部分比较正常的程序员,他应该是什么样呢?
实际上是这样的。这是冯大辉,《小道消息》,他是什么人呢?他原来在支付宝做过首席DBA,他现在在丁香园,他也在写小道消息这样的公众帐号, 有大量的读者,他和创业圈的人有大量的交流,他自己还在微信上写摇滚等等,这是程序员成长起来的一个人。这个,我们叫他道哥,他也写公众帐号,都写作,道 哥很年轻,大家给他起了很讨巧的名字,叫道哥,是个80后,最早的时候在阿里做过,做过高级安全专家,非常年轻的时候就当了高级安全专家,在安全领域是一 个黑客级的人物。
像这个叫左耳朵耗子,你们上微博的话,如果你们关注一些技术人物,可能就会了解这些人,他不写公众帐号,但是他有一个博客网站叫酷壳,在上面会写很多自己的技术,一些管理方面的东西。他也非常关注整个公众的一些事物。
这个叫云峰,我说的都是互联网公司的一些人。这是原来在网易做过,现在也自己出来创业,大家看起来是不是很帅,这些人。云峰是程序写得特别好,而且喜欢攀岩,他年纪应该不小,也30多了,但是他现在还在攀岩,在各个峡谷上,去做攀岩的运动等等。
这个叫淘宝褚霸,他现在还在淘宝,对系统级的架构非常了解,大家为什么在大学里有时建议大家能够把一些基础的东西能够学得特别透彻,我们都称淘 宝褚霸对计算机底层技术包括软硬件达到了庖丁解牛的程度,非常清楚它每个字节的运算,每个数据的流向等等,达到这样的程序,而这个人非常爱旅游,经常出去 旅游。
这个就是我刚才的一个总结,我们出生在这样一个技术能够改变世界的时代,而程序员在做什么样的事情呢?他在做能够改变世界的技术。我觉得这是一 种很大的荣耀,对每一个程序员来说,大家使用的每一个网络,比如说你用百度去搜索,你用google去搜索,你去浏览新闻,去用微信,去用手机,去用各种 各样信息化技术,实际上这些东西都离不开程序员,程序员在这样世界里,他的贡献非常大,我们都将参与其中。
我们看一下什么是一个合格的程序员。合格的程序员,并不是所有的人都适合去当程序员,那样的话,世界上所有人都是程序员,那世界太无聊了。更多 的程序员还是更喜欢一些理性思考,他们可能更多时间喜欢和机器去做交流,和人做交流,有时候可能会比较有一些恐惧,但是他的理性思维一定是比较清晰的,他 具有很强的抽象能力。
程序员除了学习,除了要具备抽象能力和逻辑思维能力,还有什么?我们要找到自己的灯塔,这是什么意思呢?实际上每个人,观众这些小朋友们都在上 学,实际上你要找到自己的导师,无论是你班里的同学学习特别好,或者在某一个领域特别强,你可以让他成为你的灯塔,老师也是一样的。在每一个领域都有一些 出类拔萃的人,你在学习的初期肯定不是出类拔萃的,你要想成为出类拔萃的人,就要向这样的人去学习。这个世界上永远存在着一些灯塔,我们看一下这段文字, 世界上有两种人,一种人叫理想主义者,比如老罗他就是理想主义者。还有一种人是机会主义者,理想主义者其实做什么样的事情,我觉得理想主义者主要是让这个 世界改变,让这个世界变革,他在一个比较高的高度上,自己掌握了很多东西,在比较高的高度上,去做一个灯塔,来照亮这个世界。另一种机会主义者,起着勤奋 的,公理的作用。我们看整个世界上分工是不同的,总有人做这样的工作,总有人做那样的工作,遇到这两种人,如果我们想学习,我们想未来我们也有可能成为灯 塔的话,我们一定要去寻找自己的灯塔,在哪个领域里面,对我们会有指导作用,对我们成长,心智的提升,技能的提升有显著作用的,那我们就要去把它当做我们 的灯塔,要向其他去学习。这是我们在学习过程中,一定要有导师,是这样的概念。
你做了很多年程序员,最终我们追求的目标,我们要成为一个牛人,怎么成为一个牛人呢?实际上装酷是不行的,大家看到今天下雨了,你打着伞,穿特 酷,戴一个墨镜,这样成为不了牛人的,首先你成为牛人怎么办呢?首先我们找到一头牛,站到牛上面,就成为牛人了,跟大家开个玩笑。实际上成为一个牛人,在 我们这样一个领域里,我总结两个方式,一种方式就是纵向的,一种方式就是横向的,这个应该是普世的,未来大家无论从事哪个行业,可能都有这种方向。有两种 牛人,一种牛人是什么样呢?如来神掌,一种是爱分享,第一种是什么呢?“事了拂衣去,深藏身与名。”这是什么概念呢?就是我经历过的这些公司,有一些人在 公司里特别牛,非常牛,他的技术可能已经到了能够写操作系统这样级别的程度,但是他从来不去做分享,他就是我就喜欢技术,我就喜欢一直做技术,我也不喜欢 带人,我也不喜欢管理,我也不喜欢来这做分享,我也不喜欢演讲,我也不喜欢搞公司的市场,我就喜欢技术,我就在技术这个领域里一直往前走,最后练成了如来 神掌的一种人,但是他就是不爱分享。所以大家看到很多微博上很多技术相关的人员,他们都不属于这种人,那种人根本没有微博,他不上微博,也不用什么微信, 微信可能也是跟自己私密的人用一用。
另一种方向就是分享,自由与分享,大家好才是真的好,我自己做得还可以了,我自己心里也有很多事情,我觉得说出来可能会对更多的人产生帮助,这 种人喜欢影响,去影响周围的人,去影响世界,去能够做一些改变世界的东西,喜欢去分享。在这个领域里,基本上是这样两种方向,一种是你要让你的知识达到一 个足够的深度,另外一种让你的知识在达到某种程度之后,那可能要增加你的广度,可能除了写程序,你可能在市场方面,在协调方面,管理方面等等,你会有更多 的想做的事情,你不只是只留恋那些代码,只留恋那些程序,那你就可以做这些事情,才可以影响到更多的人。我觉得这两种人在未来我们的职业生涯里,应该是我 们去追求的。
第三种人可能就是特别普通的人,就是工作就是我的工作,生活就是我的生活,最后工作只是为了让我喂饱肚子,能够有一份生活下去的依靠,我觉得我是不建议大家去追求那样的人生的。
说到人生,人生元编程,什么叫人生元编程呢?其实挺难解释的,因为大家都没有写过程序。编程就是一种生活,我告诉程序应该去做什么样的事情。元 编程是什么意思呢?元编程就像我们人的自省,大家脑子里想一件事情,你还会有另外一个声音告诉你,你这个脑子里想的这件事情对不对。比如说大家说,今天这 么多同学来听这样一个讲座,我觉得就是你的大脑在告诉你说,我今天来参加这样一个讲座,我可能会听到一些不一样的声音,可能会对我未来的职业生涯会有一些 影响,对我未来的人生会有一些影响。
我用下一段话给大家解释一下什么叫做元编程,大家可能就会更容易理解,用写作来比喻,比如说你在写一本小说,你小说里面有一个主人公,这个主人 公呢在一个小说里也在写一本小说,而这个小说里主人公是作者这个人,他们俩互相写的过程中,还会互相影响,比如你写的这个作者发生什么样的事,这个作者就 会影响到这个作者去写小说里面那个主角发生什么样的事,这两者还能在这样小说里面,去和平共处,最后把这个小说能够完整地写完,情节还符合逻辑的向前发 展。这实际上就是元编程的概念。元编程在编程里面主要是改变编程的一些代码,就是改变代码的一些代码,通过反射,通过各种函数等等,能够在代码运行过程 中,去动态的再去改变代码,是这样一个概念吧。
整个主题叫做人生元编程也是想引申一下。我们处在这样的时代,这是信息爆炸的时代,每个人获取到的知识量都是你自己难以想象的,如何利用好这些 知识量,如何保持自己有一个终身学习的态度,就是大家的学习绝对不是说我进入了大学,我有四年的学习时间,如果我考上研究生或者博士,还有几年的学习时 间,绝对不是这样的,你到了工作以后,我记得我刚毕业的时候,我就特别高兴,因为终于不用学习了,那我工作的时候学习或者做工作,我下了班以后,就可以爱 干嘛就干嘛了,但是我过了一段时间以后,我意识到完全不是这样的,你要有自己的自省力,要驱动自己往前走,要告诉自己真正想要的东西是什么,然后你的心智 要不断提升,最终达到终身学习的态度。现在的人,很多人以前总是想我自己发笔大财,我40多岁就退休了,实际上真正到你40多岁的时候,你可能想的不是这 个东西,你可能想的我还要再工作十年、二十年或者三十年,因为现在人的年龄是不一样的,大家可以看看,回去你们原来的叔叔阿姨,他们40岁的状态和现代人 40岁的状态是完全不一样,这就是我今天讲的人生元编程的概念,希望对大家未来毕业以后,能够有一个好的影响。
谢谢大家!