通过与开发者的日常接触,我们发现优秀的开发者大多非常低调,他们在媒体和社交网络上的曝光度并不是很高,这也让大部分用户没办法接触到代码、产品背后真正的人,没有机会去了解背后的思考、理念。
「掘金专访」是我们作出的一次尝试,我们希望通过与开发者的交流,让开发者有机会表达自己,也让大家有机会能够真正接触到他们。
本期掘金专访,我们请到了稀土掘金的创始人阴明,由他来跟大家谈谈前端开发的经验和创业过程中的点滴。
问:请明明先介绍一下自己吧。
我是阴明君,稀土掘金的创始人,90年的创业狗。本科在香港中文大学学习通信,毕业后去剑桥大学读了计算机科学的研究生。
本来是「学院派」的我,因为实在是太喜欢开发、产品的世界,义无反顾地跳到了「蓝翔派」的业务开发工作中,希望做出有价值的产品。大学毕业后就直接开始创业了,现在每天辛苦而积极地工作着。
问:之前你在掘金主要负责前端开发工作,那么当初是怎么接触到开发的?
本科的时候我的专业是通信,有一些编程的课程,但还不算是专职写代码的人。有一个关系很好的同学很会做业务开发,也很有设计的感觉,我觉得他自己开发出来的博客、小工具特别酷。然后就一步步地进入到了开发的世界,从静态网页、小产品、基于 Google App Engine 和 Heroku 的各种小应用的开始了。
问:当时为什么选择前端?
在大学里,我开始帮助教授们做他们实验室的展示网站赚钱,在香港人力成本很高,开发网页也算是一个高级工种因此自己赚了不少银子💰 。
后来因为想要同时搞定多个任务,于是就开始上网泡各种学习的资源站点,例如 Wordpress 的主题库、jQuery 的插件库、CSS 样式等等,从而可以提高业务能力及效果。再往后就开始接触类似于 Backbone、YUI、JavaScriptMVC 等等前端框架来完成比较复杂的业务代码,这个时候也恰恰在学校学习了数据库、服务器编程等技术,就开始自己搞完整的业务开发了。
选择前端还是因为自己比较喜欢花哨的东西,看到有页面上的样式效果我不知道怎么实现就特别想一探究竟,这种驱动力让我快速地学习了很多的前端样式、动画、体验功能的技巧。当然,和很多人觉得前端硬功能不够强一样,单纯追求效果和动画当然不是好的开发者啦。
问:可以说说自己的前端学习路线么?
当然,我也经常和别人分享我的学习经验:
- 找本好书开始看,或者是一个好的教程,花钱去学,别省
- 去解决真实的业务功能,小日历、小日程本、小工具等等,从自己想要实现的东西中去不断学习提升能力
- 专注 HTML、CSS、JavaScript 的基础知识,不要单纯迷恋新技术、新框架
- 如果真的想要以开发为工作,那就好好地加入一个开发团队去解决更大的问题,在更大的需求里面去锤炼自己的能力,找更厉害的人带自己
- 有选择性的找高手的 Twitter、GitHub、Blog 关注,记得一定要不断迭代,自己能力提升了不再需要看的东西要尽快删除掉。
- 如果是喜欢造轮子的人,在技术能力到达一定水平之后,开始学习如何做开源项目。注意,是真的开源,符合标准、有代码格式、会继续维护的真开源!
问:前端圈一直给人变化太快的印象,新技术层出不穷,一会儿 React,一会儿 Vue。那么前端开发者该如何克服新技术焦虑?
「如果你的功夫底子足够高,就不会崇拜任何一个门派的武功,也会理解每一套武功的优劣。」
这让我想到了 2015 年底我看的一篇文章 JavaScript Application Architecture On The Road To 2015,文章作者 Addy Osmani 是 Chrome 团队的工程师也是知名开源库 TodoMVC、Yeoman 等的开发者。在做掘金之前,我也是一个特别喜欢新技术、新框架的人,每天忙不迭地地刷 RSS 订阅器和高手 Twitter 来跟进技术的发展。但是这样的技术架构方向的文章,我其实理解不到其背后的深意。当时忙于掘金的业务开发,突然发现文章里解释的问题不断涌现,我就都突然明白了文章里解释的未来方向。
直到自己开始完全地负责掘金 Web 端开发,并在代码中切实地使用了 Vue.js、ES6、SCSS、Webpack 等等技术,不再只是做一些 Demo 的小功能,而是开发一个完整应用。业务的需求迭代,也让我不断地理解了,为什么要做组件化,为什么要有 Flux 模式的状态管理器,前端路由带来的复杂性,后端渲染为什么有必要,什么是自动打包工具,如何做自动化的部署测试等等。这一切的需求和问题都要真实存在。
因此,当你了解了一大堆要去解决的问题,技术框架的选择更像是你已经知道了要去做那道菜而在很多刀里选择最合适的。不再是新技术带给你焦虑,而是你渴望更好用的刀出现。
问:掘金团队发展到现在 20 多人的规模,仍在持续招人,在沸点活动中也有很多人询问如何加入掘金,相信大家也会关心,你在面试的时候会注重考查哪些方面呢?
说的明确一点:
- 硬技术,你所负责的具体业务功能你得会,不会你也得自己主动去学,没人会无条件教你。
- 不要成为问题的制造者,要能提供解决方案的人。不能只知道提问题,塑造对立面,而是在提问题的同时想明白前因后果并尽可能去想解决方案。
- 善于沟通,能讲明白自己的想法,并愿意聆听别人的想法。
正好最近我们在招后端开发和内容运营,想加入掘金的小伙伴可以看向这里 https://xitu.io/jobs 或者发邮件到 [email protected]
问:你是怎么决定要做掘金这个产品的?–> 来自掘金用户 L9m 的提问
需求呀,看技术内容太麻烦了,到处找还找不到靠谱的, 我想让所有人通过掘金找到好的技术内容。这些年技术不断迭代,各种新技术新陈代谢的很快,而我看到了一个很多人可能并不是特别在意的事情:技术迭代周期极速缩短。
曾经的技术平台、语言甚至是框架的迭代周期都在 2-3 年一个重要版本,而如今这个周期已经缩短至 2-3 个月就会有一个重要版本。之前我在掘金上分享了一篇文章:盘点 2016 年热门技术全年版本迭代,其中诸如 React Native、Node.js、Docker 这样的热门技术内容一年内更新了 50 到 100 多个版本,就连 Linux Kernel 也更新了 135 个版本。而新的技术内容,如微信小程序(不完全算技术啦)、TensorFlow、WebVR 等更新速度更是不断加快。
在这样的一个内容爆发出现的背景下,用户获取有效的信息效率的问题就从一个应该被解决变成了必须被解决的状态。而百度在这样的必须被解决的问题面前并没有帮助用户解决信息检索效率的问题,因而我想要通过掘金来解决这个问题。
问:掘金最困难的时候是怎样的?你是怎么坚持下来的?
公司有很多困难的时候,我把它分为:创业成本和产品成本。
创业成本也就是公司内部运营、管理、融资的成本。创始人并不是公司老板,只有有效益赚钱的创始人才是公司老板。因此,从一开始的创业想法到组建团队、开发产品、调整方向、搭建基础团队架构、梳理核心成员的工作关系、行政安排、绩效考核机制等等。这一切都是创业成本,对于一个初出茅庐的年轻人这些成本往往是大过做产品功能的。管理好一个团队,让大家能够有目的性的、有充足资源并高效率地完成任务是我的责任,而这一切的过程是很难捋顺的。
之前在 ifanr 的报道文章 中曾经讲了自己很郁闷的时候:“一定要说让我心惊肉跳的当然是在公司很困难的时候有核心团队成员决定离开呀。其实我很理解对方,也不好强求,公司做的不是最好的状态下强留对方也是很蠢的。但是,一刹那会有很强烈的自卑感以及失落感涌入心头,好在现在坚持下来了深感欣慰。”但其实这并不是最糟糕的事情,随着团队不断变大,管理沟通成本遇到的问题也就更多。
有段时间公司很爱开会,但是又讨论不出个所以然来,因此我就不断地强调开会一定要明确目的、有组织安排的人、有结论,并且一定不能超过 2 个小时。而且,把周期性的例会等工作,都放到非早晨、下午等工作核心时间执行。这样,就能部分降低无谓的沟通时间。
产品成本的话就是不断加深对产品的理解,从而更好地选择有价值的事情去做。产品思维其实是不断成长的,每一次变化都是一次痛苦的自我否定的过程。大多数人做产品(功能)都会经历这样的成长阶段:
- 面向兴趣编程
- 面向功能编程
- 面向臆想用户编程
- 面向用户反馈编程
- 面向真实需求编程
- 面向商业编程
- 面向未来编程
- …
当然了,我也只是自我剖析后写了上面这些产品思考的不同阶段,可能中间少了几个环节。而这么多的环节当中,一般只有 2、5、6 三个阶段犯错误不会太多,其他的阶段基本上产品功能选择都很有可能是瞎做。例如我们团队一开始做的稀土(人才版的 ProductHunt),兴趣有,功能很快做完,还臆想了不少用户需求,并且不断根据用户反馈做东西,但其实价值很小。这种感觉很糟糕,而一个成熟的创业者应该起码是面向商业编程的,并在不断向商业发展的路径中完善用户需求、基础功能和一些有品牌价值的情怀。
这其中的自我反省、自我否定甚至是在改变方向中所带来的负面反馈及情绪,就是产品成本的痛苦之处。一个好的产品,很多时候团队自己就应该想的很明白很明白了,其他的事情根本不需要去思考太多,也不用做太多功能。
问:公司现在的收入来源会有哪几个方向?
公司有三个目标:
- 我们服务优秀的技术人才
- 我们助力新技术的发展和普及
- 我们帮助企业快速技术迭代
我们通过内容分发渠道来满足第一个目标,这其中包含了通过我们的分发能力也为企业带来广告等营收,然后去实现新技术内容的生产商的工作,这里我们相信好的内容生产是有成本并会有付费价值的,最后会去面向企业、技术人才进行具体的服务培训。
问:说到掘金盈利,我想起了得到、知乎 Live 等产品,他们都在做知识变现,那么你如何看待知识付费?掘金会做这方面的尝试吗?
掘金现在的产品其实在做技术内容的分发,如何让更多的人看到他们关心的技术内容就是现在的需求。然后,我们很快就发现中文语境下好的技术文章实在是太少了,如何刺激作者、让读者看到更加高质量的内容是我们要实现的功能。
另外,现在技术迭代速度越来越快,传统的书籍出版已经跟不上人们对于新技术内容的需求,因而传统的技术出版行业也需要更优化的一套发布流程。这其中,会不断地优化内容生产方式及付费模式,让作者、读者都受益。
问:最后一个问题,对未来的规划是怎样的?2017年有哪些公司的目标,哪些个人的目标?
2017 年公司的目标自然还是增长,我们 2016 年 Web 端增长了约 10 倍,应用端也增长了 7 倍左右,这让我们在下一年有更大的增长目标。然后,就是服务好我们的客户,好好赚钱。此外,一直有很多的用户希望我们办更多有质量的线下活动或者是 Podcast,这里我们也会投入资源。再往下,就是我们会完整开启内容付费生产的功能,争取以此再一步提高优质内容在掘金里沉淀。
个人的话,还是希望带领整个公司做出更有价值的产品,让公司收支平衡,从而公司可以稳稳地继续发展。
问:哈哈哈,这才是最后一个问题,上个月掘金上线了掘金收藏夹,你为什么建了一个色情技术相关的收藏夹?而且也写了几篇关于色情类技术和产品分析的文章,为什么这么钟情与色情类的产品和技术。顺便求分享你的开车经验。
自己一直很痴迷于了解色情网站的运营流程,因为他们面对的是巨大的流量和复杂的用户需求,因而对技术要求也很高。记得很久之前就了解了最早的线上支付、在线视频、在线直播室的技术都是色情网站的开发者推动起来的。人之欲,食色性也。
开车经验的话,请大家自行 Tumblr。
问:还有还有,明明你别走,请问 CEO 你有性生活吗?这是掘金用户墨镜猫的提问,和我可没关系。✋
我是程序猿,又是创业狗,性生活既不能帮我写出好代码,也不能让公司发展赚钱,还那么费时耗力。
所以我肯定是有的了呀,科科。
感谢明明抽出时间来接受我们的专访,大家有问题可以来掘金继续向明明提问。
喜欢掘金!
来自vue-cnode手机版