無標題文檔

再见,丁香园

已经正式从丁香园离开两个月,时间过得很快。

说起来离职的过程并不算是十分得愉快,然而两个月过去了心态也平静了很多,应该可以从初心上去写点文字回忆在丁香园的这段时期。

初心

2010 年的时候,@Fenng 来找我问有个项目你或许可以试试,这家公司的名字叫做丁香园。那时候个人个人在阿里的时候正处在转型期(瓶颈期?),所以抱着聊聊看的心态和创始人 李天天 一起吃了个吃饭。

印象很深,这顿饭吃完了以后,我自己就有感觉是应该为自己的理想和初心去实践些什么。后面的一来二回持续沟通了以后,就做下了这个决定:离开阿里去当时这个没任何名气的小公司见证团队从小到大的过程。

我当时在博客里说明了我离开阿里的想法,私底下很多朋友和同事很不解我的决定。毕竟,在阿里(淘宝)四年的时间不算短,无论个人发展方面还是待遇方面,当时的丁香园是没有任何优势的。

然而,时至今日我还是坚持我这个决定,并不后悔。

技术

在淘宝做了四年的前端,来到丁香园的时候整个公司的技术团队不足十人。技术方面,由于丁香园在前端方面是没有任何的框架以及代码规范可言,业务的高速发展对于优化和重构这块是势在必行的。

现在回过头来想,开始我可能过于理想化以及出于技术方面的思维惯性(说白了就是没经验),还是沿用了淘宝的技术架构。

在前端框架的选型上,使用了淘宝前端团队自己编写的 KISSY,这个后来是个大坑。KISSY 无论在框架的接受程度上还是可维护性、扩展性方面,相比当时业内的通用知名框架没有任何的优势可言。

甚至在一段时间内,我还在和团队的其他前端逐个在说明 KISSY 框架如何使用,乃至至一段时间内都影响到了业务的发展。

悬崖勒马,经过考虑团队还是重新选择到了 jQuery 框架。好在当时的业务高速发展,冗余代码迅速被迭代才没有被后来的绝大多数前端们发现竟然还有这段黑历史 :^)

然而由此带来的影响,再后来 node.js 等推出和成熟,在技术方面的由于前一次的“吃亏”,团队并没有坚持选择非常新的技术。

PHP 作为前端和后台的“粘合剂”,在丁香园的服务器中存在了很久一段时间(至今历史代码还在)。

疲于应付业务和需求技术方面在很长的一段时期是没有任何的规范可言,这可能是小团队的通病。

客户端的兴起,业务驱动个人逐渐技术方面转向了客户端这边。因此,比较遗憾的是前端这边并没有推动太多新的技术和流程,然后又要去挖移动端这个“坑”。

在丁香园的六年多,可以说有 70% 的时间都给了移动端这边:团队、技术、架构、甚至采购。这一切的内容对于我而言都是从零开始,而我也是乐在其中。

期间产品两个 iOS 和 Android 平台的版本分别获得了 App Store 以及豌豆荚的推荐和奖励,这在我个人职业生涯中也是莫大的鼓舞很肯定。

产品的迭代用户数量的攀升,带来了团队的壮大以及需求的不断增长,移动团队在公司十分被重视,各种资源都能够得到满足,有段时间内移动端团队相对于其他技术团队独立,这是好事也是坏事就不详细说。

说回到了技术方面,由于没有 QA 团队,所以在质量保证方面产品团员、开发、甚至运营都需要承担一部分的测试和质量保证工作。

“吃自己的狗粮”

这是团队的传统也是为什么不设 QA 这个职位的初衷。现在看来,这个话题还是颇有争议的,或许可以单独开一篇文章去讨论的。

业务的洗礼、QA 角色的“平均”,所以丁香园在技术方面的选型以及步进是偏向于保守的。

不过期间也做出过尝试,令人感到自豪和欣慰的是 iOS 端(2015年)开始逐渐的迁移到 Swift2,在一段时间内由于这块新技术调整造成产品迭代缓慢,产品和需求方都表示理解。

再后面,Android 也想考虑尝试下例如 Kotlin 等技术,比较遗憾我无法参与其中了,这是后话。

业务

写了一半,可能会招惹非议,略过吧。

团队

回到团队本身,如果说总分有十分,我完全毫无保留得给我们的团队打分九分,留一分让我剩下用岁月慢慢给到你们。

我爱这个团队,我爱团队的每个成员,我爱你们。

很多人崇尚的扁平化、足够的自由度,以及“漠视 KPI”,等看起来很美好的关键词,都或许在这个团队都得以实现。

同时,管理层面的 Sense 就是十分关注组员的成长,无论是技术还是个人方面。团队的信息透明也是我所推崇的,所有的信息都不会被二次咀嚼以后,再分别给到团队分别不同的人。

技术方面,能够给予足够的自由度以及尽可能的尝试,这里回过头来思考可能会抛出好几个问题。例如,如何保证团队的自我驱动能力?新技术的尝试如何保证项目本身的质量和进度?等等。

这些我问题坦白讲,我至今也在继续摸索和求证。

很是感谢在丁香园的几年,在管理方面的很多想法都能得到实践以及总结,团队从小到大的过程并不是所有管理者所能亲身经历。

Fenng 曾经和我说或许如果当时留在阿里待遇方面可能会更加可观,我可以很如实的回答,丁香园给予我的这些经历可能留在阿里这些年都无法换回,感谢这六年。

--

2016 年丁香园发生了些不愉快的事情,管理层的变更、团队的调动以及后续管理者的价值观、技术均无法认同,这是我离开团队的根本原因。

从丁香园离职了以后,我也有过抱着巨大的怨念去回忆以及诉说我的离职过程,现在回过头来想其实十分没必要以及幼稚。然而时至今日,还能听到很多或许有关于我以及团队的刺耳言论,个人有时还是无法控制自己的情感。

爱的深,可能就会更在乎它的每个细节。我现在已经可以自我调节和理智面对,对于那些信息的源头的始作俑者,我只想对你们说,你们是永远都不会 GET 和理解我对这个团队的情感以及初心。它对于我而言不仅仅是我一份工作的证明,怎么可能去伤害。

夏虫不可语冰

再见丁香园,曾经和现在都爱过的。

-- EOF --

如何评价真阿当的文章:《2016年前端技术观察》?

每到年底「事情」就是多,刷知乎的时候看见 Hax 又开始喷了,作为吃瓜群众当然是会围观。

其实坦白讲,这次喷没有一点技术含量。虽然目前我本人也不是 100% 做前端技术,但业界的风潮还是要跟上的(否则怎么和前端们谈笑风生)。

基本上,就一句话,这个钩太直了。你们这些「玻璃心」的前端还竟然能够主动上去咬,你们真是需求不足。

打字和说话都没 Hax 这个胖子快,那么我就长话短说:

  1. 如果说五年前不知道 CSS 预处理器是无知,那么现在说这个话就是无畏了。
  2. 前端抢后端的活?坦白讲,技术方面好的前端谁不会了解后端技术,为何要分得那么清楚?如果前端要深入某个领域,那么又未尝不可呢?人为设置对立面,然后引发论战,这个「阿当」这方面的段位不低。
  3. Angular 是后端的银弹?我们先讨论业务好吗…抛开场景和业务直接谈技术都是刷流氓。
  4. TypeScript 你说只是增加了些语法糖我也忍了,但你说 ES6 这就不可理喻了。
  5. 前端这几年的技术爆炸式的增长,但很显然前端这个职位的定位以及自身的发展是需要自我明确的,不要浮躁。
  6. 为何不说说 Vue.js

还有,顺便提一句,那个「阿当」直到现在也真不知道是否在淘宝工作过,那个部门的?有印象的多年前就已经语出惊人有过舌战,而从一而论到底是他的技术观念的确如此还是有其他的「原因」那么就不得而知了。

至少当时本人在淘宝前端团队的时候,内部就有过讨论。第一反应是这哥们是谁,没听说过?第二反应就是,谁 TM 招他进来的?

不过既然现在人家已经转为产品经理了,那么我们就应该宽容一点。

毕竟,和产品经理撕技术,很掉身价。

再顺便的顺便提一句,我从来不建议前端乃至技术人员去购买纸质的书籍,尤其是《程序员》这个杂志,现在的《程序员》杂志真心的害人不浅误人子弟。

不信?你应该看看那个杂志编辑的嘴脸,就能明白他们对于技术方面的态度,乃至就不奇怪为什么会有允许这篇文章刊登印成铅字了。

CSDN

说实在的,我现在挺惭愧以前还为《程序员》杂志写过文章还被印成铅字。

-- eof --

upyun-cli.py,又拍云的命令行工具

截图

其实这是个填坑的项目,两年了我终于把当时留下的坑给填上了,但愿这迟来的不会太迟。

事情是两年前 又拍云 做了个活动,大概是为又拍云开发第三方应用就可以获得不定的流量。由于我的博客一直用的是又拍云的资源服务,自然这个活动对于我而言是很有诱惑力的。

又拍云 其实已经是非常老的老朋友了,往前可以追溯到又拍在线图片服务时期。凭借多年的图片处理以及运维经验,我个人从 12 年使用到现在没有出现过任何的问题,对于又拍云的服务自然是非常的信赖。

对于老用户也是相当的信任,那个活动我其实并没有开始针对又拍云的 SDK 开发任何的小项目,只是报了个名,他们就将不菲的流量资源(T 级别,多到个人博客根本用不完)已经给到我了。

其实我是个极其懒惰的人,自然这件事情就因为各种琐事给忘在脑后了。直到近期我翻阅 github 项目的时,发现 Star 的项目中,为数不多的项目还在持续的更新,这里就有又拍云的 Python SDK

有些触动,不仅仅是因为 又拍云 那种默默实打实做实事的态度,同时也是为了我自己的懒惰感到非常的惭愧。

言归正传,我自己也荒废了 Python 语言多年,刚好可以拿这个 SDK 练练手,所以就有了这个小项目。

有些惭愧没使用 Python 做过实际项目多年,发现 Python 这门语言的发展还是很快的,非常适合短平快的些项目的开发。

现在的 Python 已经过了阵痛期,如果你还在问是选择 Python2 还是 Python3 这些月经性的问题,这里我建议如果没有历史包袱那么就直接使用 Python3 开始吧。

回到 upyun-cli.py ,除了使用 Upyun SDK,还使用了些目前很流行的模块,例如 clickcoloramapyaml 等。

当然这个小脚本还没有大到需要分模块的地步,因此我将所有的代码都集中在一个文件,也同时是为了方便部署使用。

最后废话不多说,还是抛砖引玉直接看代码吧。

作为 Python 新手,我很期待有经验的同学能够给我些更多的建议 :^)

NFC,Apple Pay 的幕后英雄

昨日,果粉们期待的 Apple Pay 终于在中国大陆上线,对于 iPhone6 以及以上的用户而言,又多了一种移动支付方式。我们开玩笑的说,以后这手机的支付方式的数量恐怕会比我们的存款还要多 :^)

Apple Pay 通过 NFC 近场通信协议支付。NFC 已经不是新鲜事物,往上可以追溯到 Nokia 时代。

Nokia 6131

NFC 协议的制定在 2004 年,两年后也就是 2006 年才出现了第一款搭载 NFC 的设备是 Nokia 6131。那时候,NFC 只是用来点对点近距离通讯,和支付似乎毫无关系。

直到那以后的很多年,Nokia 作为行业的老大,NFC 大部分都是 Nokia 「自己」在玩(这里有来自 Windows Phone 的 Blog 的 Nokia NFC 设备的详细历史)。NFC 和早先众多的硬件(例如 GPS)类似,高昂的价格以及小众的使用场景让其束之高阁。

钱江后浪推前浪,前浪死在沙滩上。Nokia 以后发生了什么大家都很清楚了,而 NFC 作为 Nokia 的「遗产」却被 Android 继承了下来。真正大范围铺开让公众了解 NFC ,是在 Android 平台的崛起。

Nesus S

在 2010 年 Google 发布的 Samsung Nexus S 首次将 NFC 加入到机子的硬件配置中。

Nexus S 这款机子有曲面屏幕、Android 2.3、NFC、可更换电池等特性,外形直到今天看来都不会过时。现在看来,三星正是通过 Nexus S 让其在 Android 奠定其领头地位,这是后话了。

Google Wallet

NFC 逐渐和支付关联起来,大概是 Google Wallet 的发布。现在看来,Google 每一步棋都下得十分的稳妥。有 Google 开道加上硬件的摩尔定律,NFC 芯片才逐渐得在 Androd 平台铺开。次年(2012年),Google 发布了 Google Wallet ,而这时候做硬件方面的准备已经有了。

那年,Android 产品总监 Hugo Barra (现在去小米当差了)在当年的 Google IO 2012 中提到,现在每周搭载 NFC 的 Android 设备出货量达到了一百万台

所以从另个角度上说,Android 平台的发展使得 NFC 老树新开。

然而,Google 不在中国大陆市场拓展以及国内的 Android 的市场混乱,再加上 支付宝 和 微信 这「两座大山」,NFC 用于支付的场景几乎无法普及。

一方面厂商卖力气吆喝「我发布的手机搭载了 NFC!」,而另一方面由于使用场景的缺失,用户对购买手机对于有无搭载此芯片也处于无所谓的态度。如此循环,厂商自然逐渐不会讲 NFC 作为卖点,而根据「传统」以及「人有我有」的思想,NFC 已然成了 Android 中高端机型的标配。

iPhone6 with NFC Chip

我们回到 iOS 平台,众所周知 Apple 在硬件方面是相对比较「保守」的。千呼万唤始出来,直到 iPhone 6 才搭载了 NFC 芯片,苹果用于 NFC 芯片的场景就直白了很多 - 支付。

Apple Pay 其实在国外已经发布了一段时间,NFC 用于支付的使用场景也逐渐的增长。

现在,每款 iPhone6 以及以后的苹果设备、Android 的中高端机型上都会搭载 NFC 芯片。 NFC 从当时的阳春白雪到现在飞入寻常百姓家,一直在后台默默得无闻着。

那么,有着惊人的品牌溢价和号召能力的苹果这次能否如指纹识别一样,逆推 NFC 使之成为主流的使用场景呢?

我们还是拭目以待吧。


-- split --


顺便光聊聊 Apple Pay 这个玩意。

如果单纯聊 Apple Pay 那么绕不过的两个坎的分别就是 支付宝 和 微信。 Apple Pay 本质上还是刷卡消费,所以更准确的说法应该是 银联 和 支付宝 以及 微信 ,而不是 Apple Pay。

我们从体量上看, 2015 年的 iPhone 出货量已经显示了增速放缓甚至下行。从总量上看,iPhone 6 以及以上搭载了 NFC 硬件设备的数量级大概在千万级别。

这几千万用户哪怕全部绑定了银行卡,对于支付宝和微信过亿庞大的活跃用户量,比例上也仅仅是个零头。蚂蚁撼树,实在是很难有太多的变数,即便这是苹果的产品。

然后从支付方式上看,Apple Pay 使用的 NFC 通讯方式是比目前扫码支付要便捷。但是要想到和指纹识别不同,NFC 作为非常成熟的技术,在技术上已经完全不是壁垒。

Apple Pay 能做到的支付体验,相信微信支付、支付宝也一样能够做到。同时苹果迈出了第一步,甚至国内的众 Android 厂商就会跟进。能够遇见的将来,「小米支付」、「华为支付」甚至「锤子支付」等众多付方式就会出现。

所以,至少在中国大陆对比支付宝和微信支付等平台,Apple Pay 只是个可以替代的产品。Apple Pay 会像 Apple Music 甚至早先的 iTunes Ping 一样,成为明日黄花。

--

最后,来个段子:

经过三个小时,我们的产品经理 狗蛋 终于绑定好了 Apple Pay,拿着刚发的年终奖准备中午去麦当劳「大干一番」。

然而,现实有点让 狗蛋 出乎意料。当他兴冲冲的点完准备付钱的时候,收银员告知他不支持他口中所说的「Apple Pay」方式支付。

「这怎么会呢?」,狗蛋表示疑惑喃喃自问:「你们店还有星巴克等在新闻里说是已经支持了的,怎么会用不了呢…」

「先生,您可以再考虑下使用其他方式付款,我们店是支持 支付宝 和 微信 付款的。」

很明显,几个回合的询问下来,营业员愿意招待他的时间越来越短,同时后面排队的顾客对 狗蛋 也来也不耐烦。

最终,招架不住现实情况的 狗蛋 只能选择使用微信付款。

-- eof --

成为更好的自己

第一次看见 闭月 大概是在零九年的时候。

看她的气质,当时看到她以为是设计师。然而,她自己说她是前端的时候,我有一些惊讶。那时候前端这个职位还是刚刚起步,在国内提供这个职位的公司不多。作为女生来应聘这个职位并且能够通过面试,自然就更是难得。

再后来的合作,就是当时淘宝 UED 组织的前端兴趣小组「懒懒交流会」了。她当时作为组织委员和主持人帮助我们这些不善言辞的技术人员一次次的完成了分享,十分的辛苦。她的临场表现以及应变能力也是得到了大家的赏识和肯定。

印象中很深的一次是在 D2 交流会上,我演讲时因误操作加上我当时的上台经验不足,造成场面有点尴尬。她作为主持人帮我打了圆场,使得我的讲解能够顺利继续进行,至今对此还是表示感谢。

再后来我从原团队离职,她还组织大家每人给我写了张明信片,十分的有心。

偶尔老同事聚餐,聊到她的时候得知她换岗去当了产品经理,我还是有些诧异的。在阿里的内部转岗是需要很大的勇气以及承受很大的压力的。

然后就是看她的朋友圈,她和其他的姑娘晒自拍和美食不同,她总是会晒些自己阶段性的东西,例如今天她做了什么。甚至,她为了能够在生完孩子以后穿上比基尼而做了个健身计划,这当时被我们这些老同事奉为谈资。

就是那么个喜欢折腾的姑娘,竟然在八月份的时候离职去创业了,还是一个人。这多多少少让我们感到有些意外。在阿里近六年,她放弃了具有竞争力的薪资以及丰厚的阿里股票,这比转岗更需要勇气以及所承担的压力。

从阿里离职创业的人不少,而像闭月她那样「裸辞」去创业的人不多。但同时,看她冒着那么大的风险以及顶着那么大的压力,我们十分好奇她的创业项目是什么。

她首先印了一批记事本,免费送给同样想坚持六十天完成计划的用户。

将近一千多本有质量有设计的记事本定制下来费用对于创业而言不多,但是平均算下来也不少。要知道,例如 Moleskine 这样品质的记事本市场价都是满百以上,而想要达到和它一样品质的笔记本去除品牌的溢价,小几十也肯定是需要的。

闭月姑娘创业的第一张牌打得就让人很惊奇。

抛开情怀,我粗略考虑了下这称之为 iBetterMe 的项目

那一千本记事本送给用户,其实都知道是培养种子用户。这一千本记事本的种子用户,目标和共性都很明确,就是他们都想有个六十天的目标计划改变下自身。

有用户必定就会有产品,目前闭月的「产品」只是本薄薄的记事本。按照我个人的理解,我倾向于将她的应用和 EverNote 这类产品作为类比。

作为记事和效率类的应用从目前的技术上讲,便利性、体验以及成本上说移动设备还是无法和传统的纸质记事本相媲美。这也是 EverNote 后面和 Moleskine 合作推出实体的纸质记事本的原因 -- 想抹平这块体验上带来的鸿沟,以及覆盖部分非智能设备用户(然而 EverNote 并没有成功,这是后话)。

iBetterMe 采用的覆盖用户的路线却是独具构思。先发行纸质的记事本,这在一方面可以从功能单一的角度上以实体效率工具出发,让用户「看得见、摸得着」;同时,在另一面也可以避免直接推出一款同质应用和目前已经红海的移动市场竞争。

要知道,目前移动这块目前的竞争已经到达了饱和的阶段,目前市场缺的不是技术是想法。

有任何有价值的想法在没有完全形成生态之前贸然推出,要么就犹如块石子扔到了大海中连涟漪都不会有,要么就是直接被更强的竞争对手 copy 连还手的机会都没有。所以,在此之前使用这样的策略起步,不为是个非常稳妥的办法。

以上只是我个人对于 iBetterMe 的猜测,考虑到闭月的爱人是 iOS 程序员,所以推出移动端是迟早的事情(笑),到时候再来评论也不迟。

目前,这个项目状态从官网的简陋上看得出还只是起步阶段,毕竟目前只有闭月和她的爱人两个人在维持。好的团队当人需要磨合,而目前再没有比夫妻档更有默契的了(继续笑)。

从一六年一月份开始,闭月团队除了继续培养种子用户,还开始了对外的招聘计划。从零开始组建一个团队不容易,我想如果你对这个团队和项目有任何的想法和建议的话,他们会很乐意听的。

总之,退一步讲 iBetterMe 这个项目不管成不成,它是闭月初次创业的一次难得的经历。这份经历于以后这个项目是否能够继续,都会将会是难得的财富。

- eof -

我的照片

嗨!我叫「明城」,八零后、技术男、伪苹果粉、微软无脑黑、宁波佬,现居杭州。

除了我的博客,同时也欢迎您访问我的 GitHubTwitterInstagram 主页。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 其实无所谓叫什么名字,因为我曾经为这个名字伤透了脑筋。最后想到的这个名字都没啥特别的,说到 底是因为我实在给它不了个非常酷的名字。

如果您想联系我,可以发我邮件 echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d

注:本站点所持观点仅代表个人意见,不代表所服务公司的立场。

文章

项目

微信公众号