2016/02/25 第501期
在创业公司工作且有孩子的人到底花多少时间在工作上
Twitter 与 Medium 的创始人 Ev Williams 向有小孩的同行们做了个问卷调查。29% 的人每周工作50~60小时;2% 工作90小时以上;4%工作35~40小时。
有个很有意思的趋势:年龄越大、所在的公司规模越大,工作时间越长 — 当然,年龄大的,小孩也比较大,比较不用太操心;这就能放比较多的时间在工作上。
你从未听说过的最重要的 Apple 高管
第一代 iPhone 其实很糟糕,不仅没啥 app 可用,性能还很差,又费电。Steve Jobs 就下定决心要自己做芯片了。然后文章里的主人公Johny Srouji就被从IBM挖了过来。最近的 iPad Pro 上线后,他被奖励了 90,000 股的 Apple 股票。
What’s Next in Computing
计算平台的更迭周期,10到15年一次(类似7、8年一次的金融危机)。80年代初的个人电脑,90年代中期的互联网,前几年开始的手机。下一个革命性的计算平台是什么?文章头脑风暴了一些当前被媒体报道烂了的东西。
口述历史:1996年美国总统候选人的网站
竞选双方分别请人(都是两人团队)做网站。那时怎么做宣传网站?送鼠标垫、电视上口头拼写出网址。竞选团队想改网页的内容?传真给开发人员。面对突如其来的巨大访问量,没法像云计算时代点个鼠标就几秒钟迅速扩容,干瞪眼了
Stripe 内部是如何做设计的
做给开发人员用的产品大部分都是毫无设计可言的。但stripe倒是对设计看得很重,去看看他们的网站(或用一下他们产品的dashboard就知道了)。
2016/02/26 第502期
Jetbrains:硅谷不愿谈及的独角兽
开发者们对Jetbrains应该不陌生,各种精品IDE:IntelliJ、PyCharm、WebStorm等。这是地处欧洲小国、不拉风投、脚踏实地、创业16年、打造精品IDE的公司。
这样的公司,没有内容营销、没有庞大的销售与公关团队;由于不花时间与媒体打交道,媒体也不愿报道。这样的公司,没有追赶各种新潮酷炫技术、没有知名风投各路大V的推荐。被问及他们的产品与微软的Visual Studio的对比,他们说:"Try it. Test it. If you feel it’s better, use it." 就是这么自信。
LinkedIn有比它的市值更糟糕的问题
LinkedIn上的内容是用户生成的,求职者们与招聘方各自生成的内容(文章、状态更新等)。他们有什么动机生成那些内容?自我宣传。一个充斥着自我宣传内容的平台价值有多大?
公司们会逐渐明白一个道理,在LinkedIn现有的这个平台上是招不到真正牛逼的员工的。
"As a result, LinkedIn is now, at best, a business card holder. At worst, it’s a delivery service for spam."
为什么新闻类的app都做不下去了
新闻类的app一个一个地倒下,是因为社交类的app成功了。越来越多的人在社交类的app里看新闻、与朋友互动。做app先做一个平台(iOS或Android,选一个),火了之后才开始做其他平台的,避免浪费时间金钱。
本文还谈到了他们的新闻app做不下去后,他们转向另一个平台:邮件订阅!现在越来越多email first的创业公司了,比如之前介绍过的 The Skimm。
The Great Re-Anchoring
来自 BuzzFeed 的 VP of Design 的文章,主要讲公司里做设计的流程、设计师们做事的方式不是一成不变的,应该隔一段时间回过头来反思一下现有的各种流程、做事方式是否还适用、是否依然高效。
做什么样的 app 能赚钱的
作者提出了好的app必备的三个条件:1,能赚钱(用户愿意买);2,App Store上能被搜索到;3,竞争对手太烂。根据这三个条件,他用了一些工具研究某些app的下载量与盈利、研究搜索关键词。
根据这套方法论,他决定去做西班牙语的圣经app,花了不到$500雇人写了程序,一年赚$10万以上,最后把app卖了。他写了一篇如何卖掉这个app的文章,湾区日报以前有推荐过。
2016/02/27 第503期
LinkedIn 里使用 Swift 开发的经验
终于看到有主流科技公司的主流 iOS app 是用 Swift 写的了。介绍了开发 SlidesShare(小app, 源码275个文件)与LinkedIn主app(大app,源码2748个文件)时遇到的坑。
SlidesShare 开发了 3 个月,高峰时有4个工程师参与开发。新的 LinkedIn 主app开发了整整1年,高峰时有50个 iOS 工程师参与开发。2015年夏天,在Macbook Pro上编译 LinkedIn 主app(2748个源文件),耗时25分钟;公司就给 iOS 工程师们配了 Mac Pro,编译时间立马减少一半。
风投里的各种头衔代表了什么
科普文章,解释了 Partners、Principals、Associates 与 Analysts 都分别是干啥的。
下线 Just Landed
Just Landed 是查询飞机航班的 iOS app,运营将近4年,下线了。开发者总结了经验教训:航班数据不好拿到、质量差、api太烂;一次性的付费下载实在赚不了钱;没时间没动力去更新维护。
里面提到一个开发者们都会遇到的问题:app依赖了很多的第三方服务,那些第三方服务倒闭了、下线了后,你的app如果还想继续运行下去,就得被迫找替代品。这种情况遇到一次、两次、三四次后,如果app也没太赚钱,还有多大动力去继续维护app?本文的这个app已经2年多没有更新过了。
Stack Overflow 的后台架构(2016版)
所有机器都是物理机器,4台SQL server,11台IIS web server,2台Redis,3台ElasticSearch,4台HAProxy(CentOS)。网站C#/ASP.net写的。
他们是实用主义者。主要跑在Windows平台上,但HAProxy是搭在Linux(CentOS)上。真的需要11台 web server吗?不。其实只需要1台 web server 就能撑起 Stack Overflow 的访问量,他们还真的试过。那么多机器都是冗余,以防不测。
标准化平台的终结
天下大势,分久必合,合久必分。最早的电脑不同机型有不同操作系统;后来Windows一家独大,俨然标准化的平台;现在,Android、iOS、Windows等众多OS并存。
2016/02/28 第504期
打造 Uber 内部最高 QPS 的 service
这是 Uber 内部 geofence 的 microservice,用 go 写的。没有复杂的算法、快糙猛、超简单、超稳定,开发人员新手入门边学 go 边开发,该服务唯一一次挂掉是因为入门级的go编程错误造成的。
170,000 QPS,95th percentile 的 response time 小于 5ms、99th percentile 是小于 50ms。
我刚好最近也在公司里第一次用 go 写了个小 microservice,所有代码加一起不到3百行,部署在 Amazon 的 ECS 上,很不错的体验。
The Guardian 如何不断改进他们内部的数据分析系统
主流的线上媒体们都非常 data-driven。本文介绍了 The Guardian 内部的分析系统,小编们可以清楚知道自己的文章访问量、阅读时长、访问来源、分享到了哪个社交平台等。
小编们靠数据做决策、选材、写稿子、做宣传,而不是靠主编们主观地拍脑袋决定。
Invest in Lines, Not Dots
这是一个路遥知马力日久见人心的道理。风投与创业者每次见面都是一个点(dot),一段时间下来见了好几次面了,就连成了线(line),这样才能评估创业者的个人素质、进而决定是不是投资他们。
问题是,我们这个时代,大家都太急了,都想一蹴而就、在没有任何积累的情况下都想一夜成功。风投都想见一次面就能投资下一个Facebook下一个Google,创业者们都想一天之内就能有巨额融资瞬间几亿用户。连见几次面的耐心都没有。
程序员变老了该怎么办
很多人都认为(一般情况下)35岁以上的程序员在就业市场上会变得很吃亏,一方面技能跟不上,另一方面要价太贵了。程序员最主要的还是要持续学习,真的对干这行有兴趣的人,都没问题的。
如何与这4种难以对付的客户打交道
很形象地归纳总结了4种麻烦客户:Mr. I want it now、Mr. Complainer、Mr. Lazy、Mr. I know better。我觉得这4种客户湾区日报都有遇到过:)
最主要的是要让客户们弄明白:产品(不管是软件还是硬件)是人做的,产品背后是人,跟客户们是同一种生物的人,人一天只有24小时,人有时候是会犯错的,人是需要赚钱养家糊口的。
2016/02/29 第505期
我的 PhD 生涯
原文被墙,iPhone用户推荐使用
湾区日报App
免翻墙读文章,或者看打印出的PDF文件。
即将去 CMU 任教职的 Jean Yang 在本文详细记录了她在 MIT 读 PhD 这几年(2008~2016)非常充实的生活:在学校的研究、几次暑期实习经历、各种课外活动、心路历程等。
搭配以前推荐过的 The Ph.D. Grind (斯坦福)一起阅读,可以一窥在美国计算机强校读博士的经历。
Why we moved to React
Instacart 一开始是用 Backbonejs 写前端代码;后来代码太乱、速度太慢、不好调试。然后他们就把 Backbone 里的大部分 view 都用 React 重写了。
如何让用户误以为你的 app 加载速度很快
文章介绍了几个很鸡贼的小技巧:放上进度条、抢跑(提前在后台处理,比如Instagram在用户还没点分享图片前、抢先在后台上传图片了)、放占位符(Facebook的Newsfeed、Medium的图片加载)、用动画让用户分心。
API-based SaaS 的崛起
所谓的 API-based SaaS:主要产品是REST Api,这就是用户界面;没有GUI或者GUI只是附属品;核心价值体现在用户调用API后得到的数据;通常是按使用量收费。
Stripe(支付API)、SendGrid(发邮件API)、Twilio(电话、短信API)、Contentful(内容管理API)等都是 API-based SaaS。做这种 API-based SaaS 的,一开始很难说服别人来用,但一旦用户用上了就不容易切换到其他家的API了。
The Wizard of Oz Approach
这是YC的两个 partner 回复创业者的来信。要把精力用在最有用的事情上。不要在还没有用户以前花大半年去做酷炫的技术;快速做原型,靠人力手动地去做你原来计划让算法来做的事情。
一开始的产品的用户界面可以只是一个电子邮件地址(或者微信公众号),反正用户也不知道背后回复信息的是人还是机器人:)
2016/03/01 第506期
好的程序员与差的程序员之间的区别
每个程序员都有写垃圾代码的时刻(比如赶进度的时候),但程序员的好坏就体现在如何处理自己写过的垃圾代码上,是完全不知道那是垃圾代码、还是视而不见、还是回过头重构干净?
文章标题是Javascript,其实适用于所有程序员。
我学到的最宝贵的商业经验
这是 Flipboard 的创始人/CEO写的文章。回忆自己在互联网泡沫破灭后在自己的上一家公司做艰难决策时学到的经验:从一、两条大家都同意的 first principles 开始推导出结论。
All Software is Legacy
作者对自己维护的 perl 的 CGI module 有感而发,颇有哲理。我们现在写的每一行新代码最终都将成为 legacy;正如所有软件都有 bug,所有软件都是 legacy。
『The important thing is that we learn from that and we make sure the future legacy is easy to understand. Write clean interfaces, good tests, descriptive commit messages. Another important thing is to understand the lineage; In CGI.pm’s case the module was in part responsible for Perl’s huge popularity early on, and even propelled Perl forwards. When the limitations of CGI.pm’s implementation were hit alternative code was written in response, again and again, leading to where we are today.』
几年前很多网站的 url 里经常看到 /cgi-bin/ 的字样,那十有八九是用 perl 的 CGI.pm 搭的网站:)
Stack Overflow 是如何面试工程师的
由于 Stack Overflow 里 2/3 的工程师都是远程办公,所以面试主要也是远程的,用 Google Hangouts + 共享文档写代码,注重交流的过程而非quiz。做招聘决定时,只有 yes 与 no,maybe 等于 no。
对于公司来讲,面试真的很难。连这么有经验的Google都觉得难。文中引用了Google管人事的 VP 的话:"We looked at tens of thousands of interviews, and everyone who had done the interviews and what they scored the candidate, and how that person ultimately performed in their job. We found zero relationship. It’s a complete random mess…"
不健康的 Hackathon
Hackathon 是很多公司用来招聘大学生、品牌宣传、利用免费劳动力的重要手段。但Hackthon不健康:鼓励不睡觉、提供垃圾食品、拥挤不通风、评判时偏爱口才好的而非动手能力强的。
2016/03/02 第507期
BuzzFeed 公司内部对待 data science 是什么态度
只有提出好的问题,才能得到好的答案;数据告诉你发生了什么,但你得自己去弄明白why;尽信数据,不如无数据;很多其他公司关心的关键指标都是噱头,切莫跟风。
与 Slack 分手
因为电子邮件过多,转而使用 Slack 这样的群聊工具。结果,原来的一个信箱,变成了多个信箱(多个Slack channels)。工作时开着 Slack 就像一整天都在开会一样,而且是同一个效率低下、叽叽喳喳、大部分与会者各说各话的会。
对理发店进行 growth hack
这算是互联网思维做理发店。如何把用户吸引进来?如何做好 user onboarding?作何让用户帮你宣传(referrals)?如何发短信通知用户快点再回来理发?
反驳“Twitter 没落了”的说法
全世界所有人都被 Facebook 教育得只看活跃用户数(注册用户,登陆的用户)这个关键指标。而对于 Twitter 这个平台,没有登录的用户、没有注册的用户也是很重要的。
上周末 Stephen Curry 在 OKC 的精彩表演之后,他的所有竞争对手是在哪个社交平台上恭喜他的?不是 Facebook,不是 Instagram,不是 Snapchat,而是 Twitter!你不需要有 Twitter 账号也能看到这些内容。
Gmail 的 Smart Compose 是如何做出来的
所谓 Smart Compose 就是 Gmail 网页右下方的编辑邮件的输入框。本文介绍了打造这个输入框的思考过程、需要考量的各种元素、遇到的困难、以及解决办法。
2016/03/03 第508期
Scaling Knowledge at Airbnb
公司里员工多了后,分享信息就变得困难。Airbnb的data team为了有效地在这家数千员工的公司里分享有用的信息,他们建了个git repo,在里面放iPython笔记本文件等来描述、可视化数据,靠pull request进行质量上的把关。
他们用 Flask web-app 将 git repo 中的 iPython笔记本、R Markdown 等文件展示出来,变成一个公司内部的博客,分享从数据里得到的有趣的发现,便于公司上下做决策。
找到内容营销的渠道
公司们都在做内容营销,写博客、做infographics、做视频等,以期别人看到这些内容,顺便知道了他们的产品,然后再有一小部分付费。Okay,那有了内容后,如何让别人找到这些内容?
分发内容的渠道有两类:一类是你拥有自己粉丝的(比如邮件订阅、你公司的微博账号、你公司的公众号等),一类是别人的地盘(比如Hacker News、别人的微博账号、各种论坛等)。自己拥有大量粉丝是个优势,但粉丝数是需要长时间积累的,现代人普遍没这个耐心(也没这个本事),所以很多要嘛付费要嘛软磨硬泡求别人帮自己做宣传:)
给产品经理解释什么是持续集成、持续交付、持续部署
科普文章一篇。解释了不少 DevOps 的概念,讲得还算比较清楚;也适合其他非工程岗位的人学习一下,这样才能用工程师熟悉的词汇与工程师交流:)
聊天 app 的几种做广告的方式
三种模式:"opt in" content channel(关注公众号后推送内容?)、伪装成CRM(与公众号互动?)、sponsored content(品牌贴纸)。好吧,中国用户们会说,这些都是微信玩剩下的。
用户总是选择最简单易用的产品
你花了时间金钱精力做了网站/app,用户根本不在乎;他们生活中都有比用你的网站/app更重要的事情要做。你的产品只是他们生活中的todo list里优先级极低的item。
"Instead of trying to maximise your engagement with users, minimise it! Focus on minimising your impact on the users day. Start thinking of yourself as a utility, rather than a destination."
2016/03/04 第509期
中国互联网的创新与来自中国的潜在的竞争对手
给被宠坏了的硅谷的公司、及公司里被宠坏了的人敲响警钟:中国互联网公司在中国市场厮杀惨烈,极快的产品创新速度;等他们内战结束了,胜出的极具竞争力的中国公司们将打过太平洋,大家多保重。
"… a standard workday in China is 9AM to 9PM, and a standard work-week is 6 days long, from Monday through Saturday. This schedule is not just for a special event or right before a product launch; it’s the norm in China." 相比之下,我觉得在硅谷工作的人,真的被宠坏了。
"… companies in China can’t afford to wait to hire that elusive 10x engineer. Instead of risking falling behind, they’ll just hire the 10 engineers they can hire today (even if less skilled) to get the job done faster. " 小米加步枪,人海战术!
The Tim Cook Legacy
Jony Ive 负责 Apple 的产品,而 Time Cook 则是把握 Apple 这个公司的核心价值观。本文针对几个核心价值观列出了 Tim Cook 任上经历的几次危机,以及他的处理手段。
过去Apple是电脑公司、mp3公司,现在是手机公司,以后或许是汽车公司,只要坚持这些核心价值观,这家公司就能持续创新、持续赢得用户信任、持续地赚钱。
UI 设计的核心原则
Clarity、Flexibility、Familiarity、Efficiency、Consistency and structure。
如何比较不同创业公司开出来的offer里的期权
求职者拿到一些创业公司的 offer,怎么比较 offer 里开出的 option?作者是Twitter与Tumblr以前的董事会成员,他的建议是:不好比较,不要太关注期权。
"So instead of obsessing about comparing two illiquid, high risk equity packages, I encourage spending more time deciding if you love the founders, vision, product and culture."
这是个 To learn or to earn 的问题。To learn,就去创业公司折腾一下;To earn,就去成熟的大公司拿真金白银的钱。
156 家失败的创业公司的验尸报告
CB Insights 汇总了一大批失败的创业公司的验尸报告的文章,并给出摘要。这份报告一直都在更新,最好把原链接收藏下来,时不时翻出来看看。
怎样才算失败?大家都能想到的:没钱了,运营不下去了。
2016/03/05 第510期
Going fast slowly
Varnish 发布10周年之际,其开发者phk有感而发:慢工出细活,打造优质代码。Varnish的代码量除以这十年的有效编程时间,每小时增加10行代码。10年前,他40岁。
文章的标题取得好:Going fast slowly — 这里的 fast 应该是指 Varnish 的作用,帮网站提速;这里的 slowly 当然是这份优质代码发展、进化的十年时间,与足够的耐心。
"Perfection is attained, not when there is nothing more to add, but when there is nothing more to remove."
Content is King, But Context is God
每家互联网公司或多或少都有线上媒体的成分,都需要有优质内容(不管是其核心产品、还是营销用的内容)。应该根据不同平台、不同群体、不同情境而定制不同的内容,这就是所谓的context。
Emoji 是如何被加入到 unicode 里的
本文采访了 Unicode Consortium 的60多岁的联合创始人、现任主席 Mark Davis(同时也是Google的员工)。emoji是何时被加入unicode里的?如何决定是否采用某个emoji?
写 Twitter bots 的程序员死了后,这些 bots 该怎么办
数千万的 Twitter 帐号是机器人自动发 tweet,微博的情况估计也类似。写这些机器人的程序员们如果死了,这些机器人还是会继续运行下去,直到服务器因为欠费被关了或程序出错自动停止:)
但如果程序员活的比 Twitter(或微博)这家公司久呢?hmm …
Doing a TED Talk: The Full Story
这篇文章的作者很生动形象讲了他从接到 TED 的邀请、心理挣扎、彩排、到最后走上 TED 讲台的经历,很大开眼界。
如果演讲前需要背下演讲稿,要背到什么程度才算熟练?要达到 Happy-Birthday 级别的记忆(餐厅里别人在唱生日快乐歌,你能随时加入一起唱,同时还能拍照、继续吃饭)。要达到这种级别,TED建议做这两个测试:1,大声背诵出来,并保证比自己2倍速的录音要快;2,背诵讲稿的同时,去做需要注意力的不相干的事情,比如看食谱边学做一道菜。