湾区日报文章第95辑

 

目录

2017/06/16 第 941 期

The 5 Laws of Software Estimates

估计软件项目需要多长时间才能做完是有必要的,估计得不准是很正常的,估计准了才不正常。现实往往是我估计完项目工期,但实际做项目的人却是别人,所以肯定不准。

The Road to Burnout is Paved With Context Switching

开始做 manager 后会觉得很烦,因为琐事很多、太多的 context switching,不再像做 maker 那样能集中大块的时间做东西。本文作者的时间安排可以借鉴:一周五天,每天只做一种主题的事情。

The App That Does Nothing

很多时候刷手机并不是为了获取实质的信息,而是因为无聊、手里必须得抓个东西、手指得动起来。Binky 是一个假的社交 app,内容都是假的,你能点赞、能回复,满足你刷手机的快感。

Instagram 顺利迁移到 Python 3

前后用了约 10 个月的时间进行迁移。用两三个月修改代码、替换掉不兼容 Python 3 的 package,用两个月单元测试,用四个月缓慢地 rollout。
迁移到 Python 3 后,程序性能颇有提高:uwsgi/django 比较不吃 CPU 了(-12%),Celery 比较不吃内存了(-30%)。

NBA 的虚拟现实战略

大部分的 NBA 球迷这辈子恐怕都无法现场看球,而在前排、场边近距离看比赛的更是少之又少(硅谷身份象征之一:勇士队季票持有者、总决赛前排)。VR 让广大球迷身临其境。
今年总决赛勇士队夺冠后,各社交媒体上各路风投、公司高管纷纷晒照片(或被 @),都坐在前排,很容易被照进电视镜头里。

2017/06/18 第 942 期

采访 Winnie 的创始人 CEO

很励志的故事。Winnie 是帮助带娃的家长找到对小孩友好的户外场所的 app。创始人 CEO 困难的创业开局模式:带娃 + 老公得癌症。后来公司走上正轨,老公癌症也治好了。
“If I can create another human life and be responsible for its survival, then surely I can start a company!”--“我能造人,当然也能造公司!”

54 Screwups as a Startup CEO

来自 CB Insights 的 CEO 的“自我检讨”,反省自己在创办、管理这家公司的过程中各种做得不够好的地方。其实每个人每隔一段时间都应自己书面检讨一下,帮自己进步。

红杉资本投资 YouTube 的备忘录

这份文档有相当的历史地位,很不错的学习材料:红杉资本在为 YouTube 侵权案辩护时候出示的文档里,包括了当年投资 YouTube 时的备忘录,解释、分析了为啥做这个投资。
直接跳到第九页开始看:YouTube 的使命、解决的问题、解决方案、竞争对手分析、市场分析、盈利模式、为什么决定要投 YouTube。不管是创业者还是投资人,都能从这个文档里挖掘到有价值的信息的,推荐大家看一下。

创业没有合伙人的好处、坏处、建议

以 Y Combinator 为代表的创业加速器们、创业导师们都强烈建议创业时要找一、两个合伙人。若真的从小没认识志同道合的人、没有牛逼的同学 / 同事、找不到创业合伙人呢?难道就真没法创业了?
没有创业合伙人当然也有能成功(而且是巨大成功)的案例。或许会更难(因为孤独、没人共同承担风险、没有相关技能等),或许会更容易(做决定更果断、不会因与合伙人闹翻而公司倒闭等)。具体情况具体分析。身心健康都最重要,要锻炼健身、健康饮食,必要时找心理咨询师也要舍得花这个钱。

UberEATS 团队是如何做设计的

UberEATS 在全球超过 80 个城市有业务。每个季度,他们的设计师就去到一个城市调研(顺便吃,吃,吃),采访司机、餐厅里的人、食客,观察他们如何使用自己做的产品。
这份公费旅游的工作不错,城市深度游,适合吃货(以及那些对 Uber 各种负面新闻免疫、坚信 Uber 光明前景的人)。

2017/06/19 第 943 期

白板面试

对公司来讲,白板面试很容易错过好的程序员,但招来很烂的程序员的概率比较低。错过了好程序员无非就浪费了公司几小时的时间,而招到烂程序员对公司的损失就大得多。
对程序员来说,除非很有理想很有抱负自己做个体户、创业、找规模很小的不知名公司,一般找工作还是得老老实实刷题搞白板面试。做开源项目、写博客、做网红等活动或许能给你带来面试机会,但很难绕过面试流程直接给你 offer 的,只能是作为敲门砖。

How To Ask Questions The Smart Way

这是编程世界里经典的一份文档,教程序员们如何在网上有礼貌地、合理地向别人提问。但提问前,千万要自己先做足功课:搜索、读文档、读代码等。
每个人的生活都很忙,你问的问题肯定不是世界上最重要的事,别穷追不舍地逮住某个可怜的网民要求对方几分钟内立刻给出答案 -- 很遗憾的是,这种事常有发生,人到了网上很容易就失去了生活中基本的礼貌与素质。

Actions, not words, reveal our real values

你说你真的想做某事,但其实你并不想,除非你已经开始做了。“If they really wanted to do it, they would have done it.”

7 Rules for REST API URI Design

给东西命名是很难的。设计 URI 就是在命名,关键是命名规范要 consistent。

如何读懂别人的代码

在程序员的日常工作中,读代码的时间永远比写代码的时间要长得多得多。去理解别人写的代码并非易事,首先得摆正心态,别指望一遍就能读懂;最好能找到 main 函数、设断点一步步执行代码。

2017/06/20 第 944 期

Amazon 的新客户

这篇是我这几天来一直期待的分析 Amazon 收购 Whole Foods 的 Ben Thompson 的文章,果然没让我失望:)Amazon 在下一盘大棋。
Amazon 终极目标、战略、战术,层层铺开。终极目标:向一切经济活动“征税”。两大战略:使用 AWS 的公司们业务做越大,交税越多;成为 Prime 会员的老百姓,每年定期交税。战术:先卖书、再卖可以长期库存不变质的东西、然后卖容易变质的生鲜蔬果类。
买下 Whole Foods 后,立刻有了一大批生鲜蔬果类高端客户。此时,Whole Foods 实体店就是用户界面,在保持用户界面不变的情况下,把后台重构成模块化的 microservice(物流中各个步骤模块化起来),然后上线另一套用户界面:网站、app、电商界面,使用之前重构好的 microservice。

Positioning Your Startup is Vital — Here’s How to Nail It

提供了如何做 positioning 的完形填空模板,以及阐述了三种给产品命名的套路。
For (target customer)Who (statement of need or opportunity),(Product name) is a (product category)That (statement of key benefit).Unlike (competing alternative)(Product name)(statement of primary differentiation).

硬件是新的软件

点评 HotOS'17 的一篇来自 MSR 的短文章。CPU 主频基本不再增长了,Intel 该如何卖 CPU?从指令集上做文章,加入新的指令,一些软件功能做进硬件里。

Should Startups Care About Profitability

答案是:It depends。一般 growth 与 profitability 只能选一样;风投更在意的是 growth,要搞就得搞一把大的。路边小卖部一开始盈利,只是做不大而已。

为什么公司应该允许员工去参加技术会议、并报销费用

如果员工去参加会议时学到了知识会不会更容易跳槽?会不会在参加会议时勾搭上其他公司然后跳槽了?注册费很贵、会不会很浪费钱?碰到这么小肚鸡肠的公司还是尽早走人吧。
允许员工去参加会议、并给报销,显示出公司对员工的信任,对员工追求进步的支持;也是一种投资,员工增长了见识,还把贵公司的品牌传播了出去。作为员工,如果公司不支持、不给报销,每年也应该自费去参加一两个好的会议,投资自己的成长。

2017/06/21 第 945 期

Apple 与公司内部泄密者的战争

Apple 的中国工厂的工人用尽各种办法把零部件带出工厂,主要为了钱;公司总部员工也会泄露消息给记者、博客,往往是为了炫耀或愚蠢而不小心泄露的。
本文的内容是基于从 Apple 内部泄露出来的一份录音,很讽刺啊。

开发者们能从 oncall 的经历里学到什么

当代互联网公司开发者们往往都要轮岗 oncall 了。通过 oncall 的经历,能了解哪些地方容易出错、以后自己的代码里应如何应对(错误处理、监控、logging 等)。
文中还讨论了其他 oncall 经历里能学到的东西,自己看文章。我补充一个文中没讲的:通过 oncall,你能认识一些之前没说过话的同事,或许能成为革命战友(比如半夜一起救火、其乐融融),也可能认识了后互相厌恶(比如互相推卸责任、互相抱怨等)。

如何知道你自己是不是一个好的 manager

文中给出了问你的下属的 12 个问题,看看他们怎么回答的。或者你也可以自己回答一下,判断看看你的上司是不是一个好 manager。
“Do I have a best friend at work?”思考一下,一个好的 manager 怎么能影响你是否在工作中有 best friend?

有时候要故意让产品变得难用一些

产品做得简单易用有时会带来不好的后果:Slack 容易使用,导致别人发的消息太多,很烦;成为自媒体、快速散播消息,导致假新闻泛滥;社交媒体太容易注册一个新账号,招来太多机器人与网络暴力。
湾区日报本身就是很难用:推荐的文章是英文写的,过滤掉了不愿意读英文的人;推荐的网页很多是被墙,又过滤掉了不会翻墙的人。最后剩下的读者整体素质应该会比较高,无理谩骂、恶意攻击的现象就比较少。所以“难用”并不是一件坏事。

2017/06/22 第 946 期

初级工程师进阶指南

找个 mentor、与人交流(线上社区或线下的 meetup)、多阅读、做 side project、有意地培养 soft skills(表达能力、与人打交道的能力、团队协作等)。
与具体编程、写代码无关的 soft skills 往往是区分优秀的工程师与普通工程师的最重要的因素。

写给创业者的招聘终极指南

在创业初期公司没名气、没钱,招人是一件极其困难的事。本文是一个非常详细的值得收藏起来的招聘指南。先想清楚需不需要招人,能不能只找 contractor(时薪高、但不用买保险、给股权)?

NDA 崇拜

本文写于 2003 年,但吐槽了一种至今仍挺普遍的现象:创业公司才开始做没多久,就神神秘秘地,要让所有接触过的人(应聘者、风投等)签 NDA。所有真正应该保密的东西都别告诉外人,有必要告诉外人的就没必要保密了。
你的创业公司能成功,靠的不是你的绝世 idea。关键还是运气与执行力。尽管很多人成功后会总结各种成功经验,但不可否认,运气的成分是很关键的,甚至是最关键的。正确的时间、正确的地点、做了正确的事。

Can the Internet Be Archived

Internet Archive 立志成为当代的亚历山大图书馆,存档整个互联网。网页的寿命一般都很短,平均 100 天左右。现在他们存档了近三千亿个网页了。
Internet Archive 的创始人 Brewster Kahle 也是 Alexa 的创始人,上世纪互联网泡沫时卖给 Amazon 后着实发了一笔,所以后来能自己出钱做有理想的、非盈利性质的 Internet Archive。其总部是个教堂(当初买下这个教堂是因为长得与他们的 logo 相似),到旧金山旅游的可以去参观一下。

我的 Uber 司机拿走了我的背包,我把 Uber 告了并胜诉了

送达目的地后,作者下车从后备箱里取行李,一不留神 Uber 司机将车开走了,装有价值约 $4 千刀物品的背包落在车上,怎么也联系不上司机;把 Uber 公司告上法庭,Uber 不是很配合、拒不提供司机信息;索性最后法庭判 Uber 赔偿 $4 千,但前后折腾好几个月。
以后大家遇到类似情况,可以学着本文作者的做法收集好证据、拿起法律武器、让自己的损失降到最低。

2017/06/23 第 947 期

Exec Comms: You have to practice

公司高管给 talk、接受采访,看上去普遍口才很好,这都是要下功夫、花时间去练习的,接受反馈、不断迭代。练好演讲(忽悠)也是创业过程的一个必修课。

Engineering a culture of psychological safety

成功的工程团队最大的特点是具有 psychological safety。新人容易融入团队、敢发表意见、出故障了能对事不对人地分析。
文中最后提到他在 Google 工作时的经历:在经历了一次生产事故、加班加点救火后,带领全组喝酒庆祝这次失败;因为正是这次事故,让大家对整个系统的里里外外有了充分的理解,几天时间学到的东西比几个月学到的要多得多,所以应该庆祝;每个人轮流在白板写下学到的东西,每写一个,大家举杯庆祝一次。

Netflix 的公司文化

最新版的、文字版的、著名的、经典的 Netflix 公司文化:)无须多解释,当成范文读吧。
"You only say things about fellow employees that you say to their face." 有多少人能做到这点?
以前推荐过旧版的 Netflix 公司文化幻灯片:“硅谷有史以来最重要的文档”

Cryptocurrency 的淘金热对 Nvidia 与 AMD 的影响

GPU 是挖各种 cryptocurrency 的利器;但矿工们大量买入廉价 GPU,搅乱了市场、哄抬了价格,GPU 正儿八经的用户游戏玩家们就难以用正常价格买到。
Cryptocurrency 的大热直接或间接导致 GPU 厂商 Nvidia 与 AMD 的 GPU 更好卖、而且对股价也有正面影响。但是,如果 cryptocurrency 的泡沫破灭了呢?

爆料:投资人试图对女性创业者潜规则

六个女性创业者出来爆料(其中三人实名,都是亚裔):Binary Capital 的联合创始人 Justin Caldbeck 对她们咸猪手、发暧昧短信、见面时直接提议去酒店。
The Information 最先披露此事,要付费订阅才能看到全文,所以改分享这篇不用付费的 Pando 的文章。The Information 描述得比较详细,底下的评论还有人补充说该风投人品不咋地,一面假装要投资他们公司、一面又极力游说他们公司的主力开发人员跳槽到他投资的另一公司。

2017/06/25 第 948 期

一个给 iOS App 瘦身的奇怪的窍门

Halide 是最近很红的 iOS 照相机 app,大小只有 10.4 MB。瘦身窍门?用户至上。专注于简单实用的功能、尽量少用第三方库、不做 A/B 测试、不追踪用户使用数据。
团队只有两人:一个是前 Apple 设计师,一个是前 Twitter 工程师(本文作者)。他们这个 app 有 15,000 行 Swift,没有依赖任何第三方 library;认清现实,这个 app 盈利模式就是付费下载,主要靠良好口碑驱动用户增长,盈利不靠广告、也不急于高速增长,没必要采集用户使用数据。

使用 serverless,每月托管费用从 $10,000 降到 $370

用 javascript 重写系统,放在 AWS 的 Lambda 上跑,使用 API Gateway 做缓存、减少 Lambda 上的调用次数。

新常态:你的医生在网上挖掘你的个人信息

尤其是心理医生,会监控患者的社交账号的发帖情况、通过搜索引擎找关于患者的信息,通过这些信息挖掘出患者自己不会说出、或者描述不清的症状。但说好的个人隐私呢?
极端的例子:1),医生发现你在社交账号上表现出自杀倾向,然后通知警察去你家破门而入;2),患者懒得跟医生说话,“反正我的信息你在网上都看得到,自己去网上看”。

小公司 CTO 的成长之路

Zapier 的创始人 CTO 以自己的经历谈小公司 CTO 技能树的进化之路,真的就像玩游戏获得技能点后得决定往哪个方向进化,毕竟时间精力有限,侧重技术或是侧重管人。
团队里人多了起来后,沟通就很困难。你不能假设每个人都知道你在想什么、记得你说过什么、理解为什么要这么做。Over-communication 很有必要,同一件事、同一句话对不同人要反复说,甚至对同一个人在不同时间点也要反复说,虽然很烦,但要想确保统一思想,只能这么做。

在大学里用 Python 与 Twilio 做选课外挂

来自 Twilio 的营销文章。大学里热门课程很难选上;写程序定时去选课网站监控某热门课,一有空位(如有人退课)及时短信通知。
其实这还不算“选课外挂”。十几年前我们读大学时的选课外挂比较简单暴力:shell script 一行流 + cron job,一有空位直接自动选上;有时候挂一下午,就能选十几门课;当然,最后都要及时退掉不想上的课,不然麻烦就大了:)

2017/06/26 第 949 期

On Starting a Software Business

很多人想辞职创业,但都不敢行动;虽然有存款能撑一段时间,但立刻就没收入,心里还是会怕的。作者以自己的经历讲了自己创业的时间轴,可以作为参考。

Candy Japan 的创业故事

他是计算机专业的芬兰人,到日本做交换生两年,然后在日本定居。2011 年开始做 Candy Japan,每月付费订阅、寄两盒糖果;订阅用户 600 人,每月赚 $1.5 万,生活很惬意。

如果公司用面试程序员的方法来面试翻译员

文中八股文式的谈话内容、钻牛角尖的与实际工作没啥关系的问题、白板面试的套路,程序员们应该都很熟悉。期待更多“用面试程序员的方法来面试 [填入任何工种]”主题的讽刺文章:)
不是程序员的人可以看看此文,如果用这种模式来面试你现在的工作,感觉如何?

The future is emotional

机器、算法可以(或即将)自动化很多工作;那人类还能提供哪些价值?可以在需要服务其他人类的工作中提供“emotional labour”,提供同情心、人性的东西。
比如某人得癌症了,AI 诊断后说“治愈的可能性是 5.7%”;而人类医生会说“别灰心,某某名人跟你一样的癌症、上个月治好了”,然后人类医生与病人唠嗑三个钟头。人类与机器的分工不同。

Chrome 与 Firefox 官方浏览器的 headless 模式是滋生病毒的温床

这该如何是好:小明在愉快地安装完某邪恶公司的全家桶后电脑中毒了,浏览器自动启动 headless 模式,在没有开启 GUI 的情况下自动用小明的微博账号转发小广告。

2017/06/27 第 950 期

美剧 Silicon Valley 的“Not Hotdog”app 是如何做出来的

这是一篇非常技术性的文章,说实话,大部分内容我是看不懂的。一个人用 React Native、TensorFlow 与 Keras 断断续续做了几个月,识别图片不需联网、手机离线就能识别。
用 Macbook Pro 外接 GPU,用 80 个钟头训练 15 万张 hotdog 与非 hotdog 的图片。使用 CodePush 绕过 App Store 的审核直接更新 app 里的 model。一开始的原型是用 Google Cloud 的 Vision API 做的,识别效果不好、而且如果这个 app 红了就要付很多钱给 Google(后来还真的红了)。

Mint 创业初期用户增长的手段

2006 年注册公司、2007 年 9 月上线、2009 年 11 月以 $1.7 亿卖给 Intuit,当时用户数“才”150 万。Mint 用户价值比较高,毕竟都把自己银行账号绑定、并给出了平时的消费记录。
这是一个成熟的有经验的创业团队,从产品上线到用户增长,都相当有策略性。在写代码之前、验证这个 idea 就花了几个月时,去火车站拦住路人问卷调查;内容营销、SEO、社交网络等用户增长的手段都不新鲜,但执行得相当不错。同一个概念不同的人来操作,效果会差很多的。

新的线上服务的用户增长变得越来越难了

移动互联网基本饱和,最大的那几家公司主宰了用户的所有注意力;用户变聪明了,在他们面前展示广告、他们当做没看到;如今的大公司不像以前那样又笨又慢,他们抄袭速度巨快无比。
科技圈是有周期性的,每个周期结束时都有一堆五花八门的领域出现,希望能从当前拥挤的某个平台里杀出一条血路、在新的平台里崭露头角。看样子今年差不多也是移动互联网这个周期的结束,VR、AR、比特币、无人驾驶车等五花八门。

在我的网站禁用 AMP

AMP 页面直接被手机版的 Google 搜索结果缓存,打开超快,这是好事。但是,如果网页有对应的 AMP 版,分享到 Twitter、其客户端会强制打开 AMP 版(阉割版的网页),很不爽。
我也注意到了,最近湾区日报的 AMP 版网页访问量变大了,原来是 Twitter 搞的鬼。分享正常版的网页到 Twitter、从 Twitter 客户端打开就强制变成 AMP 版了,打开速度其实也快不了多少。我再观察一段时间,看是不是也要在湾区日报网站上禁用 AMP 了;毕竟 Twitter 带来的访问量比 Google 带来的访问量要大得多。

高中辍学生投资比特币的故事

他 2011 年时 12 岁,用奶奶给的 $1000 买了比特币。父母承诺:如果 18 岁前赚 $100 万,就可以不用读大学。现在他拥有 403 个比特币,价值超过 $100 万了。
他在 2013 年底比特币开始狂跌之前卖掉,赚 $10 万;然后去开公司与旅游。之后把公司卖了,在拿 $10 万现金与拿 300 比特币之间选择,他选了 300 比特币。他父母是在斯坦福读 PhD 时认识的,很开明。他俩哥哥都是 16 岁读大学,一个读 Johns Hopkins、现在开软件公司,另一个读 CMU、现在 MIT 读 PhD。

评论(没有评论)