招聘有多重要?

A red vintage “for hire” sign招聘有多重要?

很重要……

嗯,废话!

说“很重要”的确是废话,而没有比较就没有差异,同样一句“很重要”我看到许多人理解其程度实际上大相径庭。在很多互联网公司,招聘被视为“最重要”的事情。这是令许多人不理解,甚至觉得不可思议的事情,这里的“许多人”也包括曾经的我。公司不开展业务吗?不管理员工吗?不和了解客户需求吗?这些事情哪个不比招聘重要呢?

中午吃饭的时候,同事老兔和我算了这么一笔账。估算非常之粗略,请勿以之作为任何有效依据,但是从大略上足以窥其端倪。

  1. 假如一个勤奋的中级程序员工程师,一年薪水 200K 的话,一年 365 天,大约有 52 周,扣掉双休日还有 365-52*2 = 261 天,加上法定假大概 10 天,

[……]阅读全文

程序员懂业务有多重要?

Image result for complex程序员懂业务有多重要?印象中我从来都说,“很重要”这句没有营养的废话。在许多项目中,业务才是真正驱使价值兑现(冠冕堂皇的说法,基本上意思就是“赚钱”)的法宝,而技术实际上有诸多选择,选择某一项并无太大区别。可是,老实说,下意识地,在技术和业务难以两全其美的时候,我还是倾向于选择那些从技术角度更有趣,但是业务上显得没“那么”重要的项目。我不讳认这一点,但是随着这些年的经验积累,或者说经历的项目的洗礼,业务的分量已经越来越大了。

在华为的时候,我做过一些杂七杂八的项目,其中最大的一个项目是一个大型的电信门户网站,由于我参与的是基线版本的研发,定制业务少,变态需求少,扩展性、性能、可维护性这些技术层面

[……]阅读全文

为什么云计算服务是亚马逊先做出来?

Image result for aws google cloud azure最近看了一个知乎的 帖子 ,大家讨论为什么是 Amazon 先把云计算服务做出来,而不是 Google。类似的问题我遇到过好几次了,之前还在亚马逊的时候,我觉得利益相关等等原因,自己不太适合回答这个问题;而现在,又看到各路人马大神已经把这个问题从各个角度分析得底朝天了,于是觉得似乎又没有太大必要了。不过现在,回头看到这个帖子的时候,我还想再从我的视角总结总结,不只是为什么 Amazon 先把云服务做出来,还有为什么现在它可以一路领先。虽然说 Google 也是云服务的三驾马车之一(另两驾是 Amazon 和微软),但如今许多方面它都和另两驾还有不少的差距。我记得刚加入 Oracle 的时候,但凡听说我从 Amazon 来,

[……]阅读全文

关于 RESTful 不足的思考

Related image在 Amazon 的时候,公司内有大量的组来维护不计其数的 service,而 service 之间的通用通讯方式是公司内部的一个框架,协议是自定的,客户端也是内部的;现在到了 Oracle,我看到这个变成了 RESTful,也就是说,协议本身变成了最常见和适用的一种。我看到有太多论述 RESTful 优点的文章了,而实际工作中也确实有所体会,比如接口和报文的可读性好,不需要特制的客户端,上手和调试都比较容易等等。但是,如果看到某个东西被冠以过多正面的评价,就要当心了。我也慢慢地体会到了一些问题。不过,在谈谈我的思考之前,我想先明确一下我对 REST 的认识,而这点,鉴于历史原因,也是我不太愿意花时间争辩的内容。我

[……]阅读全文

推荐最近玩的几款独立游戏

如今各种平台上的大作满天飞,可是不知道有多少人和我一样,很难对这些大作燃起热情。可是凭着怀旧的心态,去回味一下老游戏,或者所谓的“经典”的时候,却又发现时过境迁,物是人非,一样缺少玩下去的动力。平时工作生活就很忙了,留下属于自己的时间不太多,也不太愿意沉迷太多的时间给或新或老的游戏,再加上随着年龄的增长,似乎对越来越多的事情失去了兴趣。直到某些“独立游戏”出现,由于资金、人力的关系,它们大多没有绚烂的画面,繁冗的剧情,以及漫长的游戏时间,但是由于开发者可以决定它们的走向,始终围绕核心想法构建,于是它们或精致或别样,总能把某一游戏性发挥到极致,让我重新找到许多游戏的快乐。我不算什么资深玩家,在这

[……]阅读全文

关于国内程序员肉身翻墙

Image result for 翻墙本来是没有倾向谈论这个话题的,但是最近邮件或者微信问我这个问题的国内程序员朋友很多,我在这里一并介绍一下,也算作简单的解答。同样的问题就直接参阅即可。事实上,我很乐意收到这样或者那样的问题,也包括肉身翻墙这样的话题,混熟了的话瞎扯也开心。但是也请大家注意一点礼貌,有好几次有程序员没头没脑地微信上跳出来问问题,然而话都说不清楚,或者连个招呼也不会打,更有甚者二话不说直接把 log 贴过来让我看问题,实在是让人觉得很不舒服。有些我回复了,有些我实在是不想回复了。另外,具体的问题我比较好解答,像有不少人问我,“你觉得美国怎么样?”,我都不知道从何说起。具体问题还是邮件沟通更合适,我答复起来也更舒服,微信 [……] 阅读全文

评审的艺术——谈谈现实中的代码评审

曾经写过一点关于代码评审(code review)的文章,比如 这篇这篇 ,现在觉得关于它的认识又有了不少更新。软件工程的技术和实践分成两部分,一部分是和书本知识一致的,大约占一半,这部分基本上在大学里就可以学,自学只要方法得当、刻苦努力也可是途径;但是第二部分来自于实际团队、经验,内容通常无法从书本当中获得,而且难说对错,不同的人和不同的经历造就了不同的认识。代码评审就是第二部分颇具槽点,可以大加讨论的典型。

代码评审是展现个性和性格的途径

我本人特别反对一种颇为常见的观点,就是“一个良好运作的项目,不同的人,应该写出一样的代码”。我非常理解这种观点的初衷,一个良好规范约束的团队中 [……] 阅读全文

接触 Python 后的一点感受记录

python最近因为工作的关系开始学习 Python 了。以前从不曾正儿八经地学过,如果说工作学习经验带来改变的话,那么编程语言的学习就是个很好的例子。如果在十年前,我要学习 Python 的话大概会买本系统介绍的 Python 教程,然后一页一页慢慢看,估计能够啃完大半本,跳过一些自认为次要的特性。等到在项目中使用已经得是一两个月之后了吧。但是如今我显然不太会做一样的事情,我现在会拿着我那些熟悉的编程语言来比较,不同的特性上面,Python 是怎样的,是先进还是落后,适合解决什么问题,在哪些领域可以大行其道,但在遇到哪些问题的时候事倍功半。

想起以前接触过的编程语言里,事实上有一半都不能算系统地学过,大致上只是零散地

[……]阅读全文

写在 Oracle 入职一个月之时(兼招人帖)

OCI加入 Oracle 的 OCI(Oracle Cloud Infrastructure)团队一个月了,感触颇多。事实上每一次团队的更换都是一次体验记录和整理的好机会。技术方面的东西有很多,在允许的范围内,我会在以后慢慢再谈,但是其他方面,现在我想稍微谈一谈,特别是和我的老东家 Amazon 比较地看。以下的文字更像一篇帖子,而不是文章。

先说工作中的生活。Amazon 的总部在西雅图,整个 SLU 满大街走着大亚麻的人,但是 OCI 目前只有 downtown 两栋楼的几层,人数要少得多。对我来说,每天上班从 van pool 改成了 bus,commute 的时间代价略高,但由于车次很多,因此也能够接受。Downtown 的

[……]阅读全文

开发环境上的代码同步

最近在搭建开发环境,大致的布局是这样的:一个专门的数据库 VM,一个用于编译和代码执行的 VM(dev virt,装的 RedHat),还有用来写代码和运行这两个虚拟环境的 Mac(local)。这里我需要一个工具,可以满这样的需求:

  • 能够把 Mac 上写的代码同步到 dev virt 上去。
  • 不需要手动触发,每当有修改,应该能够自动同步。

我把我的解决办法简单记录在这里。在接下去记录之前,需要回答这样两个问题:

  • 为什么需要把编译和执行环境放到 VM 里面去?因为尽量使得代码的编译执行环境接近于生产线。
  • 为什么要在 Mac 上写代码,而不在 dev virt 那个 VM 上写代码?因为在 Mac 上

[……]阅读全文

再见,亚马逊时光

IMG_6884 新入职 Oracle 已经超过一周了,但是一直没敢下笔,写一点东西纪念将近 6 年的亚马逊时光,总有惶恐的感觉。现在觉得不能再拖了,文字不在多寡,仿佛一种仪式,把整个亚马逊的经历画上句号。离开老东家的时候,往往是喜忧参半的,并且难免对前任颇有微词。在我离开华为的时候,便是如此,多为感怀和想念,但是诚实地说,也有一些厌烦的情绪,于是有释放之后的舒坦。这其中的缘由,我在以前的文中写到过。但是离开亚马逊,我却仿佛不再有这些负面的情绪,除了感伤和怀念,便是感激。要说明的是,如今亚马逊的股票直往上蹿,它却远非完美,也有诸多令人遗憾的风言风语。我觉得它在某些方面可以被称为“美国的华为”,做企业的成就自不必说,但是

[……]阅读全文

《Person of Interest》剧评

POI

看完美剧 Person of Interest(POI,疑犯追踪,下同),心有波澜,写一点点文字,零零散散,算是剧评。

我不觉得我是一个美剧狂热的爱好者,但是确实也看了好几部美剧。读书的时候开始看 Friends(六人行),后来顺着相同的风格,看 Two and a Half Men(好汉两个半),以及 How I Met Your Mother(老爸老妈浪漫史)等等,都是很欢快的风格;另一条线看一些悬疑、枪战、罪犯之类的片子,比如最早看 Prison Break(越狱),看 24(反恐 24 小时),后来看 Breaking Bad(绝命毒师),看 Crime Scene Investigation(犯罪现场

[……]阅读全文

折腾的快乐

sde

先讲个故事

公司里有这么一个小小的差事,某一个月,每天都要把 Excel 的某一列的数据根据某种规则换算以后拷贝到另一列去。

DA(数据分析师)看了以后说,就手工完成吧。反正只有一个月,这件事情每天做 3 分钟,也没有多耽误时间。

TPM 看了以后说,这事情每天做做很简单啊,写一张便签贴在屏幕上,每天就不会忘记了。

Dev Manager 看了以后说,衡量一下这个很小的时间成本,用其它的方式来解决是不划算的,还是手工搞定吧。

……

不过地球上还有一种特殊的物种不同意。它门叫做程序员——这么重复性的劳动难道不能用脚本完成吗?

就是,用 geek 的脚趾头想一想,这还用问?

于是写脚本,调试,测试,整合,两个钟

[……]阅读全文

2017 年总结

summary

一周前才家人送上飞机回国过年,这两个月要一个人安安静静呆着了,就从写一点东西回顾这个过去的 2017 开始吧。

健康

我总是把健康放在首位。就像我之前写的,健康是一个拥有它的时候不会注意到它的东西。Crohn’s Disease 时不时回来找我,但是总的来说,仅仅急性地比较严重地犯了一次,其它都还可控,比 2016 年好;抑郁症的问题也基本得到控制,虽然有时候还会头晕,特别是天气不好的时候,这也比 2016 年好。除了药物以外,时间越长我越能够理解自己的身体,总的来说我已经很满意了。当然,要是没有一个比较好的状态,我也没有办法完成面试求职这些事情。

孩子出生以后,爬山的次数明显不如 [……] 阅读全文

时间投入上的权衡

time management

时间管理被很多人忽略了。被忽略的一个原因是,我们被洗脑洗得太久,读到的鸡汤文太多,觉得一个人的主观努力程度扮演了过度重要的作用。事实上,这里有两个问题,一个是如何评价目标的达成,特别是人一生这个大的范围内的评价,鸡汤文中总把一个人在事业上的“成功”列为最大的目标,但实际我觉得这只对一部分人成立;另一个是,即便这个目标成立,主观努力依然被高估了——或者说,主观努力当然重要,而且对于大多数人来说,天赋并无法起到决定性作用,但是,许多人的主观能动力是类似的,结果却大相径庭。这里面,除了主观努力和先天天赋以外,明显还有别的因素在起作用,而时间管理就是其中之一。

几年前写过一点关于时间的 文字 ,不过都是

[……]阅读全文

Blog 安全问题小记

xmlrpc

最近 Blog 遭遇了几个安全问题,折腾了几个钟头,在此记录一下。

最大的问题是 blog 访问时不时地出现“502 bad gateway”,即便不出现,latency 也能达到接近三十秒。

于是登上 vps 去看原因,top 命令发现 CPU 都用完了。靠,十个 php-fpm 居然都在满功率工作。研究了一下,通常 php-fpm 在没有请求的时候是不应该占用那么多 CPU 资源的,而且 mysql 也高,似乎有人在访问网站,但是去 access log 里面却没找到东西:

top - 02:08:12 up 56 min,  1 user,  load average: 10.18, 9.41, 8.68

[……]阅读全文

职业生涯下一站

career

水文一篇。

在亚马逊已经呆了五年多了,想起 第一次换工作 的情形仿佛还历历在目。如今,就在我还有半年多就将迎来我第十个工作的年头,经历了 骑驴找马的面试 ,不久我将迎来第二次职业生涯的重大变更,下一站:Oracle,Bare Metal Cloud 组。

我的工作经历,可以用多样来形容,也可以用乱七八糟来形容。其中的原因有客观的,也有主观的。客观的原因是项目和团队的需要,本来工程师团队如同资源池,就是要去解决不同的问题,这些问题是由当时的境况和市场决定的。主观的原因是,我本来就是一个领域涉猎相对广泛的程序员,而且兴趣三年两头自己都弄不清楚,有时候这未必是好事,但是这也让我得以尝试各种风格的项目和团队。

[……]阅读全文

几个系统设计问题的解决思路

曾经写过一些系统设计方面的思考(比如 这个这个),但是最近准备面试,又接触了更多系统设计方面的问题。这里我想简单记录一些典型系统设计问题的思路。通过学习常见的系统,在心中形成一些问题解决的套路,以在思考和分析新问题的时候提供一些既定思路。很抱歉时间关系写得很简略,主要是提示一些思路和方向。

设计 Tweeter
两种常见模型的 trade off:

  • Pull on demand: merge x timelines
  • Push on change: async, read once to get them

缓存的设计,cache through

设计 Web crawl[……] 阅读全文

近期面试求职的经历和感受

好久没有更新了。回来报个到,也向关注和提醒我 blog 更新的朋友们道个歉。原因在于,最近非常忙,忙于找工作。现在下家还没有定下来,手头有几个 offer,还在考虑中,但是很快会决定下来,然后更新更进一步的信息。无论如何,blog 的更新已经恢复正轨。
通常人的一生中不会有太多属于自己的求职季节,尤其像我这样的,总觉得在一个地方需要积累,因而并不是频繁跳槽的粉丝。第一份工作在华为, 我干了三年半 ;第二份工作在亚马逊,直到现在,超过了五年半。职业生涯的前方就将是第 10 个年头。

为什么是现在?

三年半前我通过 L 签证来到西雅图,而 L 签证是不能够更换雇主的,因而自然也不用考虑工作变更的可能性。去年 [……] 阅读全文

back to top