晓风博客

一片荒芜的地方

聊聊信息渠道这件事

想想真是件可怕的事情,媒体一直以来都是件很重要的工具——法西斯用来控制人心、宗教用来控制思想、百度告诉你什么是「最好的」医院,朋友圈告诉你,什么是「最好的」祖传秘方。

你问我,最好的___是哪家?我只能说,无可奉告。

信息这件事,从来都不是绝对权威。人多了,大家都说好了,或许真的就好了。但也没准,「大家」其实就是一位公关老师。公关老师真厉害。

再来说说信息获取这件事情,互联网时代,相信大家都不怎么看报纸、电视了。报纸、电视有广电这样的机构去审核,微博、百度虽说也有鉴图大妈再管这事。但有时候,信息还真就不是客观、公正的。

最近知乎上一个很火的回答,「百度贴吧的血友病吧被卖了,原吧主小吧主突然间全部被拿下。如何看待百度这样的行为? https://www.zhihu.com/question/39322261 」确实很好的说明了这么一个问题。

什么问题?信息权威性不是百度说了算,也不是新浪微博说了算,更不是朋友圈里说了算。

那谁说了算?在有良心的企业里,用户口碑说了算。在人性泯灭的公司里,钱说了算。

所以一个公司/人的良心是很重要的,狼在猎食羊的时候是不讲良心的,毕竟羊是狼的食物。但人和人之间,不应该是狼和羊的关系。但现实告诉我们,人和人之间有时候还真是狼和羊的关系。

既然我们改变不了狼想吃羊的野心,那不如从自身做起,不当羊,至少不当只嗷嗷待哺的小羊。

写到这里真的忍不住想笑,昨天朋友圈被微信的一个分享刷屏了。然后就有人说,这是盗号链接,然后大家就开始疯转。我不知道传播谣言的人到底是为了什么,但真为那些疯转的人感到捉急。更拙计的是,这样的人还有很多。多到我无法想象的地步。微信作为一个数亿用户的 APP,能让一个打着微信官方幌子的链接在朋友圈疯转吗?到底是手握大数据的微信被骗子智商碾压了还是你被智商过滤器过滤了。

所以骗子为什么这么多?因为傻子多。发个短信说把钱转到我卡里,卡号是xxx。每次收到这种短信的时候心里都在想真的有傻逼会转吗?但结果是,还真有人转。存在的即是合理的,如果这事没有一个人上当,骗子早饿死了。所以骗子其实就是一层智商过滤器。

那么问题来了,如何提高自己的智商呢?有什么不懂的该问谁呢?

对了,不是有百度吗?百度一下你就知道。

所以逻辑是,大部分网民已经养成了百度的习惯,百度就成了权威。然而百度上的内容,有时候是大家说好,真的好。有时候是给钱就好,所以排在前几条信息里的还真是不能看,利益相关的东西,假的太多,骗子给钱也能排在前边。

那百度有时候不靠谱,还能咋办?

世界上还有一种叫 Google 的搜索引擎。(番茄税该交交)

中国还有一家叫知乎的网站。

还有一个叫 wikipedia 维基百科的东西可以搜词条。

同样还有一个叫果壳的东西可以了解知识。

有个叫丁香医生的 APP 还是蛮靠谱的。

微信里还是有很多蛮靠谱的公众号的。

对,还有个东西叫 Twitter。

另外还有些人会写一种叫博客的东西。

公开课其实也蛮靠谱

如果你 English 没问题的话,Google 就够了。

骗子、假货这些东西可能永远都消灭不玩,原因是永远都会有傻逼存在。那傻逼是如何炼成的?懒*3+2 = 傻逼。

写在24岁的扯淡

二十四岁,又一个黄金十二年要来了。在这个时间点上写点东西,希望以后的自己在回忆年轻时能对二十四岁有个印象。

既然要回忆,那就先来回顾一下吧。一转眼就是二十四年过去了,其实小时候的事情也还历历在目。小学二年级的自己语文数学双双58分不及格以及被老师罚站。初中的时候在游戏厅里度过的昏天黑地。高中时对计算机动画的沉迷以及想清楚一些事情开始懂事。大学时期的迷茫虚度但也凑巧做对了一些事情(学习前端,去北京打拼)。刚工作时没什么压力就是够交房租能把工作做好就很开心。工作稳定之后回到西安的这一年多。回过头来看像是看到了自己的前二十四年。起起伏伏,有因有果。这么说也挺有意思,人生恰如一场游戏,就像王者荣耀里的排位一样。有胜利也有失败,有时候自己再努力也不一定赢,毕竟你不能保证队友都不坑。这恰恰像是我们在这个社会打拼一样,并不是单纯的努力就会升职加薪有更好的生活,有时候也是资本和运气的积累。但无论如何只要你用心努力段位其实也在一直上升。等升到一个阶段上不去了就需要自己静下心来,想想原因。谁说游戏不好?游戏如此,人生亦然。

怎么给过去的自己打个分呢?分高了自己会骄傲,分低了会气馁。干脆作罢,分数也并不总是那么重要。不如来回顾一下历史战绩,分析是什么造成了这样的结局。

小学的时候心智未开,其实也没什么好总结的。不如从初中开始,初中的时候大概就是学习差、爱玩游戏这么两件事情。学习为什么差呢?考初中的时候超长发挥,写了一篇和表叔钓鱼的作文可能是写到了监考老师的心里最终考到了初中八十多个人全班第一的成绩,然后就开始骄傲了。那时候也年轻,不知道别的孩子小学时家长投入了多少的心血,不知道自己在玩耍的时候别人在努力。反正就是记得自己全班第一很厉害,班上学习好的女生都说这个男孩学习挺好但是就是上课爱说话。没什么见识,不知道差距还自顾自的骄傲最终的结局就是第一次考试考到了后二分之一的水平。这一考自己也就知道了差距,课程更加全面的初中可不比只有语文数学的小学。成绩就此一落千丈,排不到后三分之一但再也进不了前三分之一。最终高中也几乎没考上,落了个低于分数线照顾录取的惨境。这段经历总的来说还是自己没啥见识还交了一帮不爱学习的朋友。

这些朋友都是什么类型的呢?几个同样小个头爱看漫画书的,漫画好看啊,上课的时候也看。看到老师都点名说想看我的漫画书了。还有几个爱玩游戏的,我这没见识的哪知道哪个游戏好玩啊。这帮朋友一放学就叫走,先是去游戏厅“打板(游戏币)”,后是去网吧通宵。初中三年就这么浑浑噩噩“快乐”的度过了。现在初中的朋友也基本没联系了,回到网吧和游戏厅再也找不回当年不吃饭玩游戏的感觉了。这是好事还是坏事呢?谁的青春没糜烂过…

这么说很快就到了被“照顾”录取到全县几乎最差的高中这事了,虽说是低于分数线考进去的但还是被“照顾”录取到了重点班,毕竟剩下的人都是连300分都没考到就进去的人。在这样一个全是鸡没有凤的高中里,考试的时候稍微用点心再加上和舍友串通好互相抄一抄就到了全级第二名了。说来也惭愧,这个第二确确实实是有水分的。我都不相信我英语能考到六七十分。那考到第二怎么办?有了初中的经历心里也有数了,下次考试不管怎么着也要留在前三不能掉出去啊。就这么着上了一个快车道,为了不让自己丢脸就好好学习吧。高中说来也是,在家里一些事情的影响下自己就突然懂事了很多,有段时间早上连续五点起床去早读坚持了一个月。以前字写的很差后来也开始坚持练字,下课的时候也很努力的玩好乒乓球,也开始写不那么流水账的日记。这人说变起来也真的是快,只要自己下定决心去做,静下心来写写东西和自己好好沟通也没什么特别难的。毕竟只是在“鸡圈”里让自己觉得自己不是一只鸡,努力挥挥翅膀做不到凤能飞出鸡圈就成。最后的结果也还算满意,整个鸡圈里就飞出了我这一个二本,因为底子太差一个普普通通甚至别人根本不屑一顾的“烂二本”其实在很多教育资源不足娃娃们没啥见识家长们没啥文化的地方也是蛮不容易的。毕竟你周围的人都是这样,你可能也会变成这样。想做到在鸡圈里把自己不当鸡看,那就只能先去了解凤凰是个什么物种,知道世界有多大,知道自己的位置。

大学的时候是在一个舒适的三线城市里的一个“烂二本”里上的学,刚进大学的时候觉得学校怎么可以这么大,食堂怎么可以这么好。完全一副鸡圈里的鸡飞出来看到原来鸡圈之外还有鸭的感觉。殊不知自己可能是在一个大养殖场里从鸡圈飞到了鸭圈。很有意思,你怎么知道你现在不是在其他的什么“圈”里呢?没准现在呆的是鹅圈,细思极恐。一个三线城市的二本,大家日子也过得舒舒服服,逃逃课,打打撸啊撸,喝喝酒,聚聚会,唱唱KTV日子也就这么过去了。低物价、低消费家里还每个月打钱这样的生活可能会给很多人一种错觉:日子会这么一直舒服下去就算毕业了也是。直到日子飞快的到大四很多人开始发愁毕业了怎么办,一堆人跟风考研跟风报公务员跟风考招教。大家考我也考嘛,反正这样会安心一点仿佛自己在认真努力。好在自己大学虽然没干啥正事却找到了自己的爱好,初中沉迷上网打游戏,高中发现自己其实也还蛮喜欢开发游戏的,或者做个小动画也不错。但那个时候知道考不上本科啥都没用也就没太多时间钻研这些。到了大学可算是有时间了,大把大把的时间等着自己浪费。用了三分之一的时间谈恋爱,三分之一的时间打撸啊撸,三分之一的时间学点电脑技术最后也还算会点花拳绣腿。什么你问什么时候学习?不存在的。连十分之一估计都没用到。大学学会了什么?学会了打中单。学会了一点点谈恋爱。学会了怎么重装系统。最重要的是知道了自己喜欢什么,知道了自己将来可能的就业方向。以至于究竟学会了什么技术,真的只有重装系统和怎么打开编辑器装模作样的写几行代码。如果当年没学会怎么打中单的话可能会学会怎么打上单,哦不,是学会怎么重装Linux。

过去的事情没法评价好坏,就算重来也不一定有更好的结果。没什么见识加上没什么自控力可能也不会有啥大出息。这可能就是命,小富小贵看运气,大富大贵看命,或者说看自己骨子里埋下的 DNA,骨子里的性格和习惯。不鸡汤了,继续扯淡。

大四的时候可能是迫于自己对工作、经济压力的担心,也可能是出于对技术的追求,只身去做了两年北漂。要说前二十四岁发生的事情哪个阶段最多,那就是这个阶段了。第一次游泳,第一次滑雪,第一次坐飞机,第一次出国,第一次认识到阶级的存在。如果说之前都是在鸡圈鸭圈待着这次可算是走出了各种圈来到了养殖场转悠。这个世界除了养殖场还有其他地方吗?可能有吧,没有体验过但是好像也知道还有植物园动物园。至于其他的什么园什么圈,到现在也是懵逼的状态。这个阶段经历了很多也学到了很多,起码把各种编辑代码的编辑器玩了一圈。至于真正核心的硬核技术?不存在的,还是花拳绣腿。毕竟起点本来就低,即便是玩过不少东西也算是用心学过一些东西但起点还是太低了。最打击的是同事有一个九五年的小伙子高中就读国际学校,大学在美国读 CS 专业然后还辍学了。论技术,编译原理、操作系统、各种编程语言、Linux 命令随便玩弄在指尖。甚至请教问题的时候一点都听不懂别人在说什么需要一点点讲成大白话才勉强懂几分。这事挺让人沮丧的,虽然自己做了不少但还是有很多人在前面。而且是远远的在前面,看不到超越的可能。

基础这个事情很可怕,不管是经济基础还是学识基础。基础决定了自己的上限。是花拳绣腿小打小闹还是顺风顺水小有所成这些很大程度上都看基础。那基础差怎么办?放弃吗?也不太好吧,不太能对得起自己吧…

时间到了2016年,北漂两年的时间里一直都是异地恋的状态。而异地的情形仿佛看不到尽头,就这样在一个合适的机会下回到了西安。上不同的学校,去不同的城市、公司工作这些看来对一个人的影响确实很大。好在西安这个城市还算有一些互联网企业,而且平心而论二线城市并没有想象中那样:最好的公司也不及一线城市的中等公司。毕竟一个城市里有几百万甚至上千万的人口,总会有一些出色的人非常优秀甚至不亚于一线城市。城市对人的影响很大,但在你身边工作的人影响更大。说来可能也是安慰自己的借口,毕竟这一年多的时间里仿佛又回到了大学时三线城市安逸的感觉。这一次怪不得环境,只能说是自己在这段时间里仿佛有些堕落。有人说堕落的开始就是减少输出,这么一看自己的博客共有170篇文章,2015年之前有168篇,这已经能很好的说明问题了。

最近西安的房价上涨了很多,以前不怎么关心房价的一个人打心眼里觉得买房和自己没啥关系。但到了结婚的年龄,一些压力也自然而来。浪费了很多时间在看本地城市发展的论坛,担心这样一座城市的未来发展如何,会不会影响自己。也浪费了很多时间在看房价动态,哪里的房价怎样怎样看了一年越看越绝望。过于关注环境反而忽略了对自己的审视,觉得高房价打压年轻人好好奋斗的意志却在私下里也不再对技术保持热心而是又回去打王者荣耀。人就是这样,性格、习惯决定了命运。回顾过去的起起伏伏,因为自控力差,学习差。因为认真,学习好了点。因为坚持,走上了技术的轨道。也因为再度痴迷游戏浪费了大学的大把时光。有人说成熟的标志就是自控力,想起来自己有时候像个孩子一样控制不住自己。已经二十四岁了,未来的一段时间希望自己能保持坚持也重拾认真,能学会自律但也保持童心,保持对这个世界的好奇以及对未来的希望,相信自己,做最好的自己。以及,谢谢过去的自己和陪在身边的家人和朋友,希望未来你们也能有一个不辜负自己的“二十四年”。

Tech Lead

做 Tech Lead 时犯下的五个错误

本文摘选翻译自 ThoughtWorks 文摘 Techie to tech lead: My five biggest mistakes

Tech Lead 就应该是团队中技术最强的那个人吗?

技术的强弱和实际的权力并不等同,不要因为自己的技术实力不是最强的就感觉到不安全,甚至觉得其他人是自己的竞争者。一旦自己缺乏自信,在做决策的时候就会变得犹豫不决,难以做出有价值的决策。

在拓展自己的能力的时候,过于专注在技术

通常在自己领域自己的自信心是非常足的,但是在其他的事情上比如客户会议上自己会感觉到力不从心。了解自己在其他方面(影响力、战略性思维、说服力、指导能力等)的不足是非常重要的。但往往这些软实力不像开发这样的硬实力我们知道明确的学习路径,这些软实力的学习往往更加的困难。

继续把自己当成一个独立的交付单位

团队中分为两类人,直接交付价值的人(如工程师),另外一类就是最大化生产效率的人。这类人有 QA/BA/Lead 他们的直接目标是想办法通过移除 blocker 解决痛点等。帮助直接交付价值的人产生更大的价值。因此站在这个角度上自己所参加的会议、招聘等事情都是在交付价值,而不是说只有好好写代码才是在交付价值。

即便是作为 Tech Lead 也并不是所有事情自己都清楚的或者必须要清楚的

作为 Tech Lead 我们应该更专注于重要的事情上,而不是哪一行代码有问题或者是有什么 Bug 甚至是这块代码写的不符合 OO 的思想。充分的信任团队能够处理好日常交付的事情并引入更高效的工具比如团队 code diff 来避免这些问题。而自己应该专注在更重要的事情,比如架构。如果说有哪个架构改变了而 Tech Lead 不知道,那这是不应该的。

注意到团队中发生的“信号”

作为一个开发你可能只关注自己的 Story 是否发生变化,而作为一个 Tech Lead 需要对自己团队中的气氛,或是生产效率有敏锐的嗅觉。真正优秀的领导知道当前团队中各个信号的现状以及怎么去做出改变。这些能力是可以刻意学习的。

对一个 Lead “新手”来说可能会犯很多错误,这些错误往往是相关的。比如自己过于重视技术本身对自己的影响就会陷入一个开发者的思维。这也会阻碍自己意识到其他方面的问题并学习其他的领域。而作为一个“人类”而言,其他的能力例如沟通、说服、快速学习、解决复杂问题、抽象思维能力等等都是非常重要的。如果只专注于技术并且回归到技术领域可能是好的,但这也只会让你成为一名技术专家。同样 Tech Lead 所需要的这些技能也并不是只有真正的 Lead 才能够去学习,团队中应该培养这样的机会让更多人在安全的环境下学习和发展这项能力。

Real Artist Ship

1984年的1月,在苹果的办公室内,已经凌晨的办公室内仍然灯火通明。因为新的Macintosh电脑即将在几天之后向公众展示,大家看起来都非常疲倦,所有人的心头都是一片乌云。整个团队甚至从去年圣诞节工作到了现在,但新的系统仍然有很多问题。虽然这栋大楼里的每一个人都已经在帮助团队进行软件的测试了,但新系统的发布看起来仍然遥遥无期。

距离项目截止日期只剩下一个星期了,每个人都在竭尽全力地帮助完成整个系统,桌上的巧克力豆几乎没有怎么被动过,杯子上还残留着温热的咖啡。“我们推迟两周发布吧”,在经过无数的 Bug 修复以及无数的新 Bug 被发现之后,Jerome Coonen 和团队做出了这个决定。此时的 Steve Jobs 正在东海岸准备着即将到来的公众发布会。

Jerome 和核心的开发团队一起走进了会议室,大家准备通过电话和 Steve 商量这件事情。随着嘟嘟的拨号音从电话中传来,所有人都屏住了呼吸,空气中似乎只剩下这段回荡在每个人心中的嘟声。

“进展太慢了,系统中仍然还有很多 Bug 没有解决,我们不可能如期发布了。推迟两周吧。”简短的几句话却像是过去了一个世纪,大家彼此之间甚至能听到对方的心跳。

“No way! 绝不可能推迟!” Steve 在电话中回答道,电话里气喘吁吁的声音回荡在整个房间。“你们已经在这上面工作几个月了,再推迟一两周根本不会有什么改变,新系统必须如期发布,尽力而为就好,回去工作吧。”

在接下来的一段时间,整个团队虽然仍然对推迟发布日期之间事情感到不满并争吵,但大家仍然在不断努力。交付日期从周五的下午六点被推迟到了下周一的凌晨六点。那正是工厂开始上班的时间。直到截止日期的前一天,剪贴板功能仍然有问题。开发已经困到不能独立思考,企图通过没有复现这一理由告诉自己这没有问题。但旁边的 QA 似乎看出来这其中的蹊跷,因为几天没有好好休息太困的缘故,当 QA 问到开发这里究竟没有问题时开发已经懒得狡辩了。最终在 QA 的帮助下剪贴板的问题被修复了。到了周一的凌晨四点,一个重要的系统组件 MacPrint 依然还有崩溃问题。但是随着时间的流淌,到了凌晨五点半,系统进行了最后的测试发布后,一切又看起来不是那么的糟糕。MacPrint 的问题看起来比之前已经好很多了。直到六点钟,整个团队在完成最后的测试之后,系统被打包发布并放在了软盘中送往去工厂的路上。

随着太阳的不断升起,所有人仿佛看到了黎明的曙光,大家开始各自回家。但就在此时,Andy 发现了一个问题,当软盘中的内容为空时 MacWrite 并没有开始自动格式化软盘,取而代之需要手动点击空格后才能开始自动格式化。这一切仿佛一篇乌云笼罩在 Andy 的心头。Andy 认为这可能会影响 Macintosh 的展示。但整个系统已经在送往工厂的路上。

八点半左右,Steve 见到了 Andy,刚一见面 Steve 马上就问新系统做好了吗?Andy 忐忑的回答 Steve 系统已经送到工厂了但 MacWrite 还有一些问题需要用户手动点击空格。Steve 认为这不会影响我们继续展示。Andy 这才放下了悬着的心。

在人潮涌动之中,Steve 最终站在了展台上,开始了 Macintosh 向大家的展示。

后来的故事大家也都知道了,Macintosh 获得了巨大的成功。而此时此刻的我也正是在 Macbook 上完成了这段对历史的重温。这段故事也许看起来不是那么的精彩,但我却深深感受到了这样一个伟大的产品诞生的背后,一面是乔布斯对于交付日期的执着,另一方面是整个团队对于整个系统的竭尽全力和毫不妥协。是的,也许在向公众展示时整个系统并不完美。但她已然是一件完工的艺术品。有时候完成比完美更重要,结束比开始更重要,全力以赴比谨小慎微更重要。而 Real Artist Ship 也正是这样的一种精神,一个人,一个团队,甚至一个公司。在这个 Steve 已经不在的年代,Real Artist Ship 比以往更重要。

我眼中的极客精神

我从小就喜欢拆东西,拆完了,就装不上去了。从满是齿轮的表到自己的玩具四驱车,这些小玩意的身上似乎总有一种魔力在吸引着我,让我不由自主地想要拆了又拆。虽然总是被骂拆完了就装不回去了,但是也有一些时候可以把拆下来的马达、名片以及电池组装在一起变成小伙伴们心奇羡慕的手持风扇,在炎炎的夏日里两节五号电池就能带来一整天的快乐。

小学的时候学过一篇课文叫《我家跨上了“信息高速路”》,自从那时起便对电脑这样一个神奇的东西充满好奇心。听说整个小学就只有一台电脑,在校长的办公室里放着,没人知道那是一个怎么样神奇的东西,只知道它很贵以至于整个学校都只有一台。

第一次接触电脑,那是在初中时的第一节微机课。小心翼翼地套上脚套之后跟随着前面的同学走进了微机室,面对着一台陌生的“大屁股”心里充满了激动但也有一丝胆怯。不知道怎么开机的我默默地看着别人按哪里我就去按哪里。第一节课就已经有同学熟练地使用 Flash 制作三角遇到方块的动画时我还在琢磨鼠标这个神奇的东西,当我情不自禁地扣下了鼠标中的滚珠时就像第一次拆开机械表中的齿轮一样,一切都是那么的自然和顺理成章,仿佛这就是我的天性。后来的我家里有了电脑,自己也常常坐在电脑前研究把玩 Flash 到深夜,从简单的“补间动画”到后面的 ActionScript,从最简单的空间装扮到后来的纯 Flash QQ 空间,我总是喜欢把静静的夜晚“浪费”在琢磨一些好玩的东西上面。这样想来童年的时光是那么的悠闲有趣,总是有一些小东西等着自己去探索和发现。

又是一个炎热的夏天,慵懒的大学生活和炎热的夏天般配极了。我坐在宿舍的椅子上不禁琢磨这样一个问题,除了去对面野区抢蓝爸爸以及在幽灵模式练习鬼跳之外我还能做些什么?“不如去找一堆人一起去抢蓝爸爸吧”。就这样我向学校递交了一个新的社团成立申请书,名字叫“网络极客”,主攻计算机学习以及电子竞技。事实证明我确实找到了一群“极客”,擅长拿五杀。

有了这个社团以后大学的生活也变得有趣了很多,从拉赞助到最后真的举办了电竞比赛,从给大家讲解装系统到最后的 HTML5 网页开发教学,从开发微博墙到最后的文理课程表挂科“大数据”。虽然没有真的做出来什么轰动的东西却也让慵懒的大学生活充实了很多。但我终究知道自己不属于这个落后的三线小城市,毕竟真的没有人学 HTML5。

后来的我决定要去北京,我发了这样的一封求职信给我当初认为做梦都不可能加入的公司:

终于等到这一天了,买到了去北京的车票,启程梦想。

我是一名前端开发工程师,目前大四。希望能寻求一份全职开发工作。

从大一开始就关注极客公园,大二创办了校内的网络极客协会,毫不相瞒,LOGO都是模仿极客公园的。

很喜欢极客这个名词,富有创新力,每个极客心中都有一颗改变世界的梦想。

这一次我想真正加入极客公园,从这里实现自己改变世界的梦想。希望HR大人能看下我的简历,给我一次面试的机会。

希望,能为极客公园献出自己的一份力量!

我破天荒的拿到了面试邀请,在经过20分钟简单的面试后又破天荒的被告知下周一来上班。那个周末我彻夜无眠,我满心欢喜的等待着时间一分一秒的流逝,这一切仿佛像在做梦。

两年后,我从自己热爱的这家公司离职了。我还记得第一天去公司,我盯着旁边的 Neyo 大哥飞快的在键盘上飞舞着自己的手指,我以为我已经算是半个极客了却不曾想我竟然连他在干什么都不知道。后来的我学会了很多,我知道了使用 Zsh 学会了用 Vim,知道了 Tmux 也学会了 Arch。我的身边也不再是那些不知道 HTML 的同学了,相反的我们一起学习当时还没什么中文资料的 Meteor,一起加班到深夜只为了写一个生成二维码的工具玩,一起用 Electron 做基于 Socket.io 的签到客户端。虽然这些东西真的不是工作所需但是在一个有 Sonos 放着 Come and Get Your Love 的夜晚,喝着啤酒飞快的游走在青轴的键盘上一切却又是那么的美好。原来我还是那个在电脑前待到十二点玩 Flash 的小孩。

再后来我就回到了西安这座城市,我依然用着那把跟了我几年的青轴键盘,但却不再飞快的游走在 tmux 之上。我开始使用 Windows,也开始使用曾经嗤之以鼻的 IDE。我已经几乎找不到一起使用 Emacs 的小伙伴,甚至会遇到不断找我来问 Git 基础问题的老码农。我尝试找回那个放着 Come and Get Your Love 的夜晚,却发现我得到的只有 Lost Connection 灰白屏幕。我已经不知道那些还在 Beta 版的新奇玩意了。

或许,是我老了。也或许我已经不再对那些小齿轮感到着迷了。也或许…

后来我终于发现,我还是能坚持学自己想学的东西,用别人嗤之以鼻的“过时”的工具。而其实我和那个坐在电脑前玩弄 Flash 到深夜的男孩也没什么不同。我也开始慢慢相信,即便我变成了一个白发苍苍的老头,我也会因为那些小玩意而着迷。因为我知道,这才是那个男孩的天性啊。

文科生如何自学编程

谈起编程很多人会觉得很难,但看到别人飞快地的在键盘上对着黑色屏幕舞动手指时又会觉得非常酷,甚至在自己内心萌生出一个想法 —— 我要不要也去学一下编程。

在我小的时候,编程这个字眼只在电视上寥寥无几的出现过。而每当我想到编程这个字眼的时候出现的便是以下画面:

在一个黑框里闪烁着一行行的英文字母,仿佛进入到了另外一个世界,既神秘又好奇,一方面觉得编程很酷但另一方面又会觉得“这东西我肯定学不会啦”,然后就放弃了甚至没有开始的学习。

然而多年以后我回过头来看,编程其实并没有那么神秘,没有人真的去用手指敲出0和1的组合,也没有人可以轻而易举的通过一个黑框随意入侵别人的电脑。编程其实也并不难,如果你只是想要学习一门编程语言然后做一个属于你自己的网站。但我也承认编程有时候确实很难,如果你想要做自己的操作系统又或是想要开发一款类似英雄联盟的游戏。所以找准自己的目标很重要,在开始阶段最好定一个不那么难的目标,比如做一个属于自己的网页。

文科生并不能代表什么

是的,如果你尝试用“我是文科生,我学不了编程”这样的话来告诉自己学习编程是如何困难,那我也要用自己的亲身经历来告诉你文科生并不能代表什么。我自己就是一个文科生,虽然我从高中开始就接触计算机相关的东西,但是在整个大学课程中并没有太多计算机相关的课程。而现在我正在一家专业的软件开发咨询公司工作,不是在旧金山也不是北上广,就是西安。

说起文科生不得不说在高二就选择文理分科对于当时的我们来说或许为时过早,我就属于那种喜欢地理历史但也非常喜欢计算机的同学,最后考虑到升学压力不得不选择了文科。而在大学中我也想过要转到计算机相关的专业,但最后也因为种种原因放弃了转专业这件事情。

所以文科生究竟和科班出身的计算机从业者区别很大吗?

坦白说区别是有的,但并没有那么大。我见到过一些科班出身并且编程也很厉害的朋友,但也见到过太多非科班出身编程同样很厉害的同学,甚至比前者更厉害。所以比起是否科班出身,我更相信重要的是你自己对编程这件事情的兴趣投入有多大,以及你所在的环境氛围究竟有多好。一个一线城市的一流计算机专业出身基本编程素养一定是比一般人好的。而一个三线城市的三流计算机专业出身的基本编程素养… 可能真的没有太大区别。而幸运的是软件开发行业的缺口足够大,也并不需要你一定是一线城市的一流计算机专业毕业才能找到好工作。如果你的目标不仅仅是做一个属于自己的网页,而是成为一名软件开发工程师,那我可以负责任的告诉你文科生是可以成为专业的软件开发工程师的。

1+1 > 2

作为文科生来说如果你能学会编程其实是要比计算机专业的学生学会编程更厉害的,这就相当于你学会了英文那你可以同时享受英文和中文世界的两种资源,而只会英文的人享受不懂两种文化的资源一样。所以作为一个文科生你也有自己的优势所在。

这条路已经有很多人走过

是的,不仅仅是我或者身边的朋友,也有很多在名人是通过自学成为编程大牛的。比如苹果公司的联合创始人 Steve Wozniak,微软的创始人 Bill Gates 以及 SpaceX Tesla 的创始人 Elon Musk。我们不可否认这几个人都是天才,他们甚至在童年时期就已经开始对数学和编程有了浓厚的兴趣。但是也不可否认的是他们确实也通过自学学会了编程这件事情。

兴趣是最好的老师

在你自学编程的开始阶段,并不会有人去奖励你什么。不会有金钱奖励也不会别人的称赞。所以自己喜欢是非常重要的,好奇心一直都是我们与生俱来的天性。你可能小到对“删除桌面快捷方式为什么不能卸载这个软件”这样的问题感兴趣,也可能对汽车为什么能做到自动驾驶、iPhone 为什么能做到人脸识别这样野心勃勃的问题有兴趣。但重点不是问题有多少,而是你为了弄清楚这个问题做了哪些事情。

在我上高中的时候,QQ空间正在风靡一股自己个性化定制的风潮。大家不断炫耀着自己的空间如何个性,仿佛QQ空间就是自己逃离现实之后的完美的个人展示。我也不例外,看到别人的空间装扮的如何之酷,于是我就开始琢磨我的空间怎样才能变成这么酷。后来我慢慢了解到了空间的装扮是用 flash 来做的,再后来我下载了 Adobe 的 flash 制作软件,去二手书店淘到了一本入门教程(当时计算机书籍通常很贵,网购还并不发达)。就这样靠着一本五块钱的二手书和百度,一步一步的学会怎么使用 flast 做补间动画,怎么去写 Action Script 以加入交互效果。直到今天我仍然觉得这样的事情很有意思,在一个个无聊的周末,我都会看看自己有哪些有趣的主意还没有完成,花费半天甚至一天的时间去折腾一些小玩意。回过头来看正是这些看似无用的小玩意的折腾让我了解到了很多知识,也正是一次又一次把一个小玩意折腾熟练之后让我觉得自己收获满满。

抓住自己的好奇心,享受它给你带来的探索、发现、收获的奇妙旅程。慢慢地,你就会觉得你知道的东西越来越多。

可以用于开始的想法

从一开始就想搞清楚如何黑进别人的电脑或是如何让路边的车自动驾驶似乎不是一个好主意,过高的目标可能会让你觉得气馁,在几天几个月的过程中你可能都没有满足感。一些小而美的目标看起来是更好的选择。

这些目标都是可行并且没有你想象中那么难的,开始一点尝试未必也不是一件坏事,即便是最后失败了也关系,只要开始你总会有收获的。

一些资源

终身学习

总能听到家长们说上了大学爱干啥就干啥,仿佛大学就是学习的终点,也仿佛大学毕业以后就可以给自己的学习生涯画上句号。但现实是却不是这样。

人生就像一场马拉松,你所需要做的并不是前五百米的冲锋,而是在这段旅途上不断坚持,有些人跑着跑着就累了。而你所需要做的只是坚持自己相信的东西,一直跑下去。

一时的得意或失落并不足以给你的人生定性,开始吧,任何时候都不算晚。82岁的老奶奶尚能开始学习编程,而年轻气盛的我们又怎能畏畏缩缩停下脚步呢。

开始吧,与君共勉。

2019我最喜欢的十张照片

2019年买了相机,去了很多自己一直想去的地方,分享出来这些照片和记忆希望能让更多的人看到这些照片。

blog plan

TODO The power of abstraction

TODO javascript and y combinator

TODO tech lead training stuff

TODO FE interview question

TODO 冬令时夏令时时差的处理

TODO AMP 与前端开发

TODO 我所知道的那些有趣的程序员

TODO 音乐风格分类

TODO Timezone on frontend side

TODO 前端界面中的数据分类(逻辑数据、UI 数据)以及如何响应变化

TODO 使用 jsdocs 作为 javascript 项目的 Static Type Checking

TODO React/Redux TDD 的实践

TODO Redux Selector 的划分

目的

分类

TODO Domain Modeling

TODO GDT with org-mode

TODO HTML5 添加圣诞头像

TODO 硅谷来信

TODO Google 的秘密军团