视频对话:一个为留长发做了程序员的法学毕业生
导读:高可用架构视频访谈,展示不一样的技术人生,本文是与王渊命的 6 分钟视频对话,转载请注明来自高可用架构「 ArchNotes 」。
王渊命,技术极客,曾任新浪微博架构师、微米技术总监。2014 年作为联合创始人创立团队协作 IM 服务 Grouk,2016 年加入青云从事容器方面开发。
https://v.qq.com/txp/iframe/player.html?vid=n0197idqy44&width=500&height=375&auto=0
高可用架构:2016 年初,你发布了一个 golang 的通用对象池 go-commons-pool,在 GitHub 上已经有 230 个星,一定程度称得上是 go 社区明星项目,这是怎么做到的?
王渊命:明星项目这个真不敢当,这只是我用来学习 Golang 的一个练手项目。
无论是做开源还是创业,都是对未来趋势的一种判断和预测。
第一步你要找一个机会然后抽象出一个点子,我曾经总结了三个步骤:
第一个是大家熟悉的 DRY 原则(Don’t repeat yourself),不要重复自己;
第二是不要重新发明轮子,但你可以造新的轮子,或者改进已有的轮子,不要重复别人已经完成的工作,不要闭门造车;
第三个步骤境界就是『不要让别人重复你』。将你的工具,框架,抽象分享出去,作为开源产品或者是 SaaS 服务,让别人不要重复你已经完成的工作。这样我们的点子和抽象就完成了
go-commons-pool 项目地址 https://github.com/jolestar/go-commons-pool
高可用架构:最早的用户是从哪里获得的?
王渊命:获取早期用户的关键点其实就是找到用户的注意力在哪儿,然后通过各种方式触达用户。开源项目面向的用户一般是技术人,一般的注意力就在各种开源社区,技术会议,技术群组,以及技术人的社交网络,以及技术关键词 SEO 等。
第一步是让大家知道,有个印象,可能当前不是你的用户,但可能有需求的时候就会想起。
第二步是沉淀用户,可以方便再次触达,比如github仓库的订阅和赞,用户的邮箱订阅,社交网络的等。
第三步才是让用户真正使用以及给用户提供支持。
高可用架构:对于开源项目,你觉得是开发耗费精力多,还是推广更费劲?
王渊命:相对来说,推广对技术人来说更痛苦一些,同时也更有挑战性只要度过适应期之后,就有柳暗花明又一村的感觉,视野可能又变了。
高可用架构:你本是一名法学专业毕业生,在博客上还大写特写过快播案的见解,能讲讲你为什么最后改行做了程序员?
王渊命:我说是因为当时听说程序员可以穿拖鞋睡衣上班,可以留长发蓄胡子,所以改行,你信吗?
最初是大二的时候想给自己弄个个人主页,开始先学了 HTML, CSS, JavaScript, PhotoShop 之类的。后来发现静态的语言不行,还要学动态语言才行。于是就学编程,各种框架啊,Linux 等,最后就栽里面没出来。另外个人性格也偏内向,有社交恐惧,用我的话说是有社交恐惧症,更喜欢和机器打交道,(大学)后几年就折腾编程了。
回顾下自己的经历,码农都会自嘲自己的工作有多苦逼,但我还是真挺喜欢这个职业的,喜欢写代码的。码农是大家自嘲的一个词语,有人觉得这个词贬低了工程师的价值,不建议使用。但我倒觉得这个词挺好的。(程序代码)是一个不断成长和完善的生命体,我们写代码其实是完善和培育的过程。
高可用架构:怎么看待技术人创业,有什么优势劣势?
王渊命:优势首先我觉得是技术人有能力从 0 到 1 构建一个产品。但劣势也比较明显,因为你技术做的越深,离最终用户越远,然后你很难从用户或者市场的角度考虑问题。
这个过程中技术人的思维方式习惯精确、可控、有序;
而创业的思维方式是群体博弈的过程,你要面对不确定、失控、混乱的过程。你要适应这个思维的转换;
高可用架构:你的个人网络 id:jolestar,据说这个名字来源于你对 Java 语言的热爱,但你为什么又开始研究 Golang 语言呢?
当年的渊命习惯用 polestar(北极星)作为用户名,可是这个名字却经常被其他人占用,让渊命觉得很困扰。出于对 Java 的热爱,2005 年前后,他干脆给自己造了一个全新的单词—— jolestar,把 polestar 的 p 字母改成了 Java 的 j 字母,从此它变成了全球独一无二的属于渊命一个人的 ID。
王渊命:我把一种语言的用户分为几种,一是创建者和开拓者,第二是布道者,就是推广这种语言的人,第三是实践者,就是在真实的项目中使用这种语言来解决现实问题的人,然后第四种是爱好者,觉得一种语言不错。按照这种定义,我相当于 Golang 语言的一个爱好者。
编程语言又不是找对象,你自己花心一点其实没坏处。
高可用架构:那你现在喜欢哪个语言更多一点?
王渊命:这个没有太大的个人好恶,我觉得关键看使用场景。我自己觉得 Go 的静态编译,易分发,以及和系统结合比较紧密,非常适合用来做这种系统工具,正好弥补了 Java 这方面的缺陷。
PHP 是我第二个会的语言。因为第一个是 ASP,第三个才是 Java。我的第一部手机还是用写 PHP 赚的钱买的。
高可用架构:给非计算机专业却又爱好技术的朋友有什么建议?
王渊命:自学编程关键是要自己能找到一个动力源,然后不断的给自己创造支点,增强自己的自信心,一步一步成长,因为自学编程最大的挑战会来自于自己的自信心不足,每次迷茫的时候需要找到新的支点。
第一步先找一个现实中的,可以用编程解决的真实问题,但这个问题不要太复杂,然后自己学编程去解决一下
第二个支点就是用编程的方式去赚点钱或者找份工作。这个目的本身不是赚钱,是让你的技术能得到市场认可。
第三个支点是得到业内同仁的认可。
如果能做到这三步那你就可以持续的在这条路上走下去了。
高可用架构:在你博客上还写了很多其他社会热点的时评与对当下生活的感悟,这是兴趣还是说强制自己拓充下技术以外的生活?
王渊命:这个事情主要是兴趣,我本身比较宅,爱好不多,就喜欢看看书。看的书也比较杂一点,我属于那种做事前先要思考清楚并且有理论支撑的那种人。
你把一个问题思考清楚和一个问题你能表达让别人明白这里面是有一个沟壑的。写博客正是一个填充沟壑提升思维深度的过程。
我建议技术人员都可以写写博客,一方面提高自己的技术思维深度,另一方面也是塑造一种个人品牌。如果自己成为了一个品牌,那(做很多其他)事情也会更容易些。
往期精彩文章
作为资深高可用架构群成员,从业 10 年的老码农,深知工程师在技术之外面对的挑战,极牛能为技术人提供更多机会和不同视角,更好实现个人价值。
——前微博架构师,极牛创始人吴际超
面向技术人员的企业服务,艰难,但意义深远。极牛在做一件有情怀的事!
——锤子科技研发总监 池建强
本视频采访马文晶,导演 PC,监制杨妹妹,摄影 Journey Van,剪辑王佳林。转载请注明来自高可用架构「ArchNotes」微信公众号及包含以下二维码。
高可用架构
改变互联网的构建方式
长按二维码 关注「高可用架构」公众号