工作点滴

工作后的记录

机器学习手记系列 1: Pearson 相关系数

系列说明

按合总指示, 给人人的机器学习小组写点科普性质的东西. 其实自己好像一直都没去系统的学过这些东西, 都是野路子乱搞, 这里把过去学的一点东西写出来, 记录一下, 班门弄斧, 欢迎拍砖.

自己接触到的机器学习, 几乎都是在用历史预估未来某事件发生的概率 (广告点击率, 推荐接受度, 等等).

将这个过程细化一下, 首先都是对历史样本提取特征, 将样本转换成用特征序列来描述, 将同类事件合并, 然后通过某种拟合方式去让特征带上合适的权重, 用于描述事件发生的概率, 最后对还未发生的同类事件, 同样将其转换成特征序列, 用学出来的权重转换成预估概率.

这里有两个关键问题, 一是特征选取, 二是拟合还原方法. 特征选取是为了将样本做合理拆分合并, 同质的才划分到一起, 不然就最后的预估还是随机猜. 拟合还原方法是保证在对数据做了合理拆分后, 能将特征的权重拟合到原数据上且能在预估时还原成概率.

问题

对怎么选特征, 似乎从来都没有好的普适性方法, 但是怎么验证选的特征靠不靠谱, 方法倒是挺多. 先抛开选特征的指导方向不说 (说也说不清), 如果我们选出了一类描述特征, 怎么验证其效果?

特征效果验证

最直接粗暴也是终极方案就是直接拿到线上去应用, 好就是好, 不好就是不好. 这是一句彻底的废话, 也是真理… 不过实际操作中很难真的去这么做, 一是如果要完成整个流程会比较耗时和麻烦, 二是没有那么多线上资源拿来实验, 三是如果实验不好带来的负面影响会非常大, 广告会损失收入, 推荐会严重影响用户体验. 所以如果线下没验证的心里有谱, 没人敢直接拍上去实验的, 老板也不会让乱来, 都是钱和能转换成钱的用户啊.

退回到离线验证上, 终极离线验证也还是拿机器学习的产出 (分类树, LR 模型, 或别的什么) 去评估一部分实验数据, 然后看对实验数据的预估结果是否和实验数据的实际表现一致. 这个还是存在耗时耗资源的问题, 后面再说, 先说简单的.

不管是分类树, 还是 LR 或别的 boosting 什么的, 都是希望能找到有区分度的特征, 能将未来不同的数据尽可能划开. 如果特征是一个 0/1 特征, 那数据就应该能明显被分成不一样的两份. 比如在豆瓣, “历史上关注过计算机类别书目的人” 是一个 0/1 特征, 如果拿这个特征来分拆人群, 并评估 “未来是否关注计算机类别书目”, 评估指标的 1 绝大部分都落在区分特征的 1 中, 那说明这是一个非常正相关的区分 (曾经干过某事的人会继续干另一件事), 效果很好, 反之拿去评估 “未来是否关注女性言情小说类别书目”, 很可能评估指标的 1 绝大部分都落在区分特征的 0 里, 那是非常负相关的区分 (曾经干过某事的人不会再干另一件特定的事), 效果也挺好, 但是如果是评估 “未来是否会关注武侠”, 评估指标的 1 是比较均匀的散布在区分特征的 0/1 里, 那就说明这个特征对该评估指标没有区分度, 还不如没有. (这些例子是随便拍脑袋写的, 不保证其正确性)

如果是一维连续特征, 则最后总特征总可以转换成一个一维向量 (连续值可以离散化成整数区间), 跟 0/1 特征一样, 比较这个特征的自变量取值向量和对应到评估数据上的取值向量的相关度就能判断效果好坏 (正相关或负相关都是好的). 一般最简单的是使用 Pearson (皮尔生) 乘积矩相关系数 r 来做是否线性相关的判断, 英文 wiki 上的条目 Pearson product-moment correlation coefficient 对该系数的含义和计算方法有比较详细的说明, 中文翻译比较杂, 百度百科上的是皮尔森相关系数, 微软的翻译是皮尔生相似度. 简要的说, pearson 相关系数是一个 [-1, 1] 之间的实数, 取值越接近 -1 表示特征值和评估值越负线性相关, 越接近 1 表示越正相关, 越接近 0 表示越不相关 (只是线性, 可能会有其他相关的关系).

还是拿豆瓣的例子说, 比如 “历史上关注过计算机类别书的数量” 作为一个人群划分特征, 那这维特征的自变量向量会是 <0, 1, 2, ...>, 为了取值方便, 将其截断到超过十本的也等于 10, 则向量变为 <0, 1, ..., 10>, 如果去评估 “继续关注计算机类别书的概率”, 这个概率取值可能是 <0.0, 0.1, ..., 1.0>, 则其 Pearson 相似度会是 1. (当然, 这个例子举的太假了点, 先这么着吧)

将问题化简为算特征取值和评估指标的 Pearson 相似度后需要做的工作就会少很多, 直接跑个 Map/Reduce 从 LOG 里提取下数据, 然后看看值的相关性就知道特征是否有区分度了, 没区分度的可以先不考虑 (或者将曲线相关的可能转变成线性关系, 再判断), 有区分度的才继续走更完整的离线验证, 加入分类树或概率模型和其他特征一起作用看效果, 如果还不错就上线实验.

微软的 Excel 里就带了 Pearson 相似度的计算公式, 可以很方便的拿来评估, 说明和用法请见微软帮助页面 PEARSON 函数. 如果要自己计算, 可以参考 wiki 的这个公式:

Pearson 相似度计算公式

C 的实现源码如下 (注意某些情况下可能会有计算精度丢失, 带来结果的不确定性)

double pearson_r(double x[], int x_n, double y[], int y_n) {
  if (x_n != y_n || x_n == 0) {
    return 0;
  }

  double n = (double)(x_n);
  double sum_x = 0;
  double sum_y = 0;
  double sum_x_sq = 0;
  double sum_y_sq = 0;
  double sum_x_by_y = 0;
  
  for (int i = 0; i < x_n; ++i) {
    sum_x += x[i];
    sum_y += y[i];
    sum_x_sq += x[i]*x[i];
    sum_y_sq += y[i]*y[i];
    sum_x_by_y += x[i]*y[i];
  }
  double res = n*sum_x_by_y - sum_x*sum_y;
  res /= sqrt(n*sum_x_sq - sum_x*sum_x);
  res /= sqrt(n*sum_y_sq - sum_y*sum_y);
  return res;
}

紧张起来

五一前调整了一段时间的作息, 本可以每天早上七点以前起来, 做个操活动下筋骨, 每天工作效率也还好. 五一后又变成了早上睡不醒, 更糟糕的是晚上又开始失眠. 印象中真正遭受失眠困扰只有 09 年在香港的某一段时间, 赶 paper, 想 idea, 做实验, 每天过的兢兢战战.

到人人也有半年了, 但是很多事情进展的不如想象的顺利, 有环境的因素, 很多时候也还是自己的推动力不够, 没能找到一种更合适的方法将自己和团队赶到一条能很 high 的狂奔向前的路上. 有时候总会把原因推到外部原因上去, 比如有依赖的什么没有怎样, 又有等合作的数据没有怎样. 有些东西必须自己去推, 有些事情, 虽然说也要放事情下去做, 让下面人成长起来, 这样大家都能过的更舒服, 但是总难找到好的平衡点.

紧张起来, 让自己绷紧点, 同时对别人也 tough 一点, 没有成果, 再 nice 也毫无意义.

Python 的对象模型到底是怎样的?

今天写个小工具, 中间调的欲仙欲死, 直接上图, 大家看看这个程序会输出啥? 环境是 Python 2.7.2, 某 Linux 发行版 (服务器, 我也不知道具体是啥, 可能是 CentOS)

我的理解是如果我的写法有问题, 那应该两个 print m1 的时候的结果都跟 print m2 一样, 要不两个结果应该都不一样, 所以我确认了 model_path 都正确赋值后, 就认为 model_dict 也都被正确赋值了. 但是调试的时候发现两个 model_dict 调用的结果居然一模一样, 然后带的 model_path 还不一致 (当然, 我中间做了很多别的操作, 一开始没验证两个 model_dict 里面的内容). 后面把 model_dict 的内容也打出来就傻眼了, 这俩为啥都一样呢? 就因为一个是字符串一个是 dict? 跑到万能的 PUZZLES 群去问了下, 立马有人说你这个初始化不是应该在 __init__ 里做才对么? 于是将代码改成这样就 OK 了:

后来跟 @runnery@LeeMars 讨论了下, 终于明白是怎么回事了, 先上一张 @runnery 给我的解释图

按这个理解, 我的两次操作都是在操作类属性, 最后的输出应该都是 m2.reload() 后的值. 而实际上第一份代码的里, 两个实例初始化时, model_dictmodel_path 都还是类属性, 而调用 reload() 的过程中, 我做了一个 self.model_path = path 的操作, 而正是这个操作, 让两个实例分别将 model_path 变成了实例属性, 而 model_dict, 对不起, 我从来没修改过他具体的指向, 做的 clear() 操作什么的都还是在原来的 dict 上在操作, 所以一直是类属性.

总结: 这就是一个坑, 对语言不熟的坑

杂而不精

今晚调模型调郁闷了, 发现没个顺手的工具确实不行, 于是把拖了很久, 本来指派给别人但一直没完成的 debug 工具给完成了大半.

很早写过一个 python 脚本, 在命令行下调用, 但是不方便输入和构造数据, 看起来也不是很方便, 但一直也有别的事情, 觉得这事优先级不高就一直搁着. 后来要做不同数据下的对比, 除了自己还是没人写这个, 于是把 python 脚本完善了下, 支持多输入, 多输出带对比, 还是没去写界面或数据构造. 再后来在做别的事情的时候, 顺便把这个 python 脚本也做了一次简单重构, 使其兼容线上配置, 逻辑也保持完全一致, 并将其作为一个 daemon, 用 php 写了个界面, 一堆参数可以简单的用 html 表单 (选择框, 下拉菜单什么的) 来生成, 默认值也好指定, 输出还是把原 python 输出到命令行的东西原封不动输出到网页, 但是不支持多输入. 最后就是今天实在忍不了土鳖的开两个窗口去调试对比 (顺带吐槽下其实是某从的显示器不够大, 开两个窗口并排放不开), 把那个 daemon 改的支持多输入, 并将输出做了一些简单的格式化, 还是裸文本但是看起来有条理多了, 并且把模型/数据/配置等支持在线重载, 免得换个数据就去 kill daemon 然后重启时又提示端口号还没释放.

晚上回来的时候看到汤永程在写他去参加天天向上的事, 说到语言学习, 就突然想回忆下, 自己到底一天都在用哪些语言, 好像我也会挺多, 但是都杂而不精. (前面那句话里两个语言指代不一样, 显然笨狗只会程序设计语言…) 按接触/学习的时间排序如下, 记录兼娱乐, 其中一些自己觉得好的书和资料给了链接, 希望对别人有帮助. 写完回头看, 怎么看都是一部扭曲的非主流码农成长史, 而且发现这都能当简历了 -.-|

PASCAL
– 第一个正式去学的语言, 高中玩 OI 竞赛时学的, 也仅仅用于竞赛而已
– 可以应对 03 年 NOIp 高中组级别的题, 没做过实用化工作, 竞赛中用过两年多, 现在应该忘的差不多了

C
– 大学入学前跟着去玩 ACM 开始去学, 一直到现在还在学, 大一作为必修课马马虎虎学过去了, 到大三大四时通读 C 程序设计语言 并完成所有例题和习题, 很薄的一本真的认真看完花了好久, 这本书真的非常赞, 后面就在工作中一直作为主力高级语言在用了
– 可以应对一般的 ACM 水题, 能独立完成计算机专业 C 语言大作业, 看过/实现过一些简单库函数, 结合 APUE (Unix 环境高级编程) 将其和 *nix 底层对接学习了下, 学习/实习/工作中将其混着一点点 C++ 用了几年, 参考别人的开源项目完成过一个 Online Judge 的内核, 这些年代码量加起来我猜应该够十万行了, 但是大部分还是在已有框架下写策略细节, 没做过大项目整体框架比较遗憾

C++
– 单独从 C 里列出来是想说明我真的不会 C++… 曾经在玩 ACM 的时候用过一点点 vector 什么的, 但是这种应该不叫去学 C++ 吧, 大四实习时因为工作需要时翻了下 C++ Primer Plus, 翻了几章后发现买错书了, 本来应该是买 C++ Primer 的… 刚好那段时间的实习也都在做偏策略的东西, 一直没去看工程细节, 结果就一直不会工程了
– 能看懂简单的 C++ 代码, 能将简单的 C++ 写成 C, 剩下的, 我真的不会 C++…

HTML
– 忘了啥时候开始学的了, 反正成天看网页, 看人源代码, 抄抄改改, 从学校图书馆借过很土鳖的类似 xx 天入门的书学过下后就再没系统的学习过, 倒是折腾过很多地方, WHUACM 那现在还有不少页面是我写的或是基于我写的改的, 后来做 RA 和工作时发现很多需要可视化的结果还是用 HTML 来的爽, 零零碎碎写过一些在行家眼里看来就是三岁小孩折腾的小站
– 能看懂简单的 HTML 框架, 能写简单的 HTML, 比如 yewen.us 这样的 (blog 是 WordPress, 特此说明)

CSS
– 这算语言么? 经历/水平同 HTML

Java
– 大学的选修课, 也仅仅到大学的选修课, 考试过后就没再写过了, 买过 Thinking in Java 但是从来没看完过
– 能完成几年前 Java 1.4 时代的课程大作业水平, 仅此而已, 我真的也不会 Java (猎头问你是 Java 程序员还是 C++ 程序员的时候是最伤人的时候, 我回答都不会后对面口气立马就变的很鄙夷, 连猎头都 bs… 这码农当的太失败了)

JSP
– 本来是想去接手第一版的 woj 然后做第二版的, 后来还没开始正儿八经学就发现不如推倒换 php 重来
– 不会, 曾经还会在 Eclipse 里开个新工程的, 也仅仅会开个新工程, 现在啥也不会了

Linux Shell
– ACM 比赛会用到, 同时本着 “一个合格的计算机专业学生应该会 Linux” 这样的想法自己去折腾过, 选修课上迷迷糊糊学过, 实习的时候开始天天用, 一直都在抄别人的来改, 到现在还是三脚猫功夫, 一直没去找系统学习的方法, 也懒得去系统的学, 觉得是工具用的时候能捡起来就行了, 目前计划在可预见的未来系统的去学学 Shell 脚本学习指南
– 日常工作使用语言, 能写简单的控制脚本, 有若干脚本还在线上系统应用

awk
– 第一次实习的时候因工作关系开始用, 也是从那个时候开始领悟 Linux 的设计哲学, 就是用一堆合适的工具去干一件超酷的事情, 而不要想着为了做一件大事情而去发明一个万能工具 (所以我不是 Emacs 党么?), 一直也还是抄抄改改, 没去系统去学, 有 sed 与 awk 这本书, 但还是只想当工具书用不想系统去学
– 日常工作使用的简单脚本, 能写比较简单的文件级 awk

sed
– 同 awk, 用的更少, 几乎忘光了, 用的时候查 Google/Baidu/参考书

C#
– 某年为了贪一次微软夏令营的机会答应了别人的坑蒙拐骗去当武大微软技术俱乐部主席 (结果那年居然没办夏令营, 真是… 动机不纯必无善果), 一看自己会都跟微软特色没关系, 还是学点啥吧. 瞄上 C#, 从 MSDN 上下了个视频教程对着写完过, 然后, 然后就没有然后了. 在 MSRA 的时候修改的那个原型到底用的 C# 还是 C++ 都忘记了
– 不会, 但是真心觉得比 Java 优美, 特别是现在还在持续改进中

Python
– 好奇心强显然会对各种东西感兴趣, 从研究生开始将 python 作为主力思考/原型实现语言, 写起来确实快, 而且喜欢用缩进来控制语法, 从根本上杜绝了把代码写的很难看或读到很难看的代码 (当然, 有人炫技也还是可以很变态的…). 从 A Byte of Python (中文版) 入门, 再通过 Dive into Python (中文版) 略提高, 再又是抄抄改改了, 成天拿来做系统原型和算法/策略调研和实现, 压根没做 Web 框架什么的 (Django 什么的继续不会). 手头有一本 Python Cookbook, 无奈此书奇技淫巧过多, 只敢将其当工具书偶尔翻看
– 日常工作使用的主力语言, 若干自己的小系统, 若干系统原型 (还有一些一直懒得改和没人改的在线上用)

PHP
– 既然会 HTML 了总该会门动态语言来做交互吧, JSP 看起来就很重那就玩比较好上手的 PHP 咯, 又是一门通过抄抄改改入门的语言, 到现在还是抄抄改改的水平, 手里常备PHP官方手册做参考, 反正也不是项目必须语言, 做点调试工具什么的还是够了
– 菜鸟入门水平, 有一些小原型和调试工具

JavaScript
– 没学过, 不会, 会抄简单的样例连蒙带猜的改, 还是比如 yewen.us 的导航栏效果, 比如会知道怎么改参数用 HighCharts 的简单功能

Perl
– 一直觉得 Perl 是很神奇很牛逼的语言, 但是由于此语言装逼者众多, 且语言本身设计初衷很大一部分就是为了装逼, 而且本来很多不想装逼的因为语言特性又很容易将代码写的巨扭曲, 所以一直没能像别的那样连蒙带猜拆拆改改的去入门乃至提高. 为了使用和改动迪生大神的某 perl 脚本时下决心去学学, 去年换工作前利用平常和周末不加班省出来的时间完整的学了一遍 Perl 语言入门 (小骆驼书), 感觉确实很精妙很方便, 但一直没实际用过, 有需要的时候大部分时间都顺手用 python 解决了, 现在恐怕又忘光了, 但是要捡起来应该比较快, 但要估计这辈子都不打算达到装逼级的熟悉和精通了, 打酱油的 3P 党就好 (Perl/PHP/Python)
– 系统入门过的语言, 从来没实战过的语言

果然都是杂而不精, 同笨狗一贯性格, 甚至现在都还有兴趣去看看 Go 和 Lua, 前者是因为 Google 和设计者名身在外想看看是不是能从中看出点什么未来趋势, 同时悟点以前没悟出来的本质性东西, 后者是听说游戏领域用的很多 (这个应该是受云风影响), 而且很方便实现 robots 做模拟测试, 想看看以后工作中是不是能用的上 (实在不知道 robots 翻译成什么好, 总感觉用 机器人 这个词怪怪的). 如果闲的蛋疼, 还想去看看 ruby 和 lisp, 一个是经常拿来跟 python 对比的语言, 自己一直用 python, 也想看看他山之石, 另一个好歹也活了这么久, 是跟计算机科学和人工智能一起萌芽发展起来的东西, 膜拜下也好, 而且随着多核架构和并行架构越来越普遍, 据说会更有优势?

不过, 要专注, 要做事, 要带人, 而且参考一贯的光说不练的风格, 估计也就这样了… 偶尔打酱油插科打诨还可以.

有些笔试题的存在意义就是搞笑么?

昨天有个以前一起玩 ACM 的队友跟我说个题, 说是前几天腾讯实习生招聘的笔试题之一, 原文如下

已知a[0],a[1]…a[n-1]
现在要构造b[0],b[1]…b[n-1]
其中 b[i]=a[0]*a[1]*….a[n-1]/a[i]
要求,不能用除法,不能使用其他任何存储变量,除了循环变量i,j之类的
要求O(1)的空间复杂度,O(n)的时间复杂度

关键是不能用除法

看到这题后的第一反应是这特么不会爆类型么? double 也经不起这么搞吧. 然后就冷静下来想怎么解决, 不能用除法就避开那个除法操作咯, 把 b[i] 的推导公式换成 a[0]*…*a[i-1]*a[i+1]*…*a[n-1] 就是了, 一看就像个 DP. 推了下后写了这么个代码 (假设所有数都是 int 且不爆类型大小)

// 先构造一遍, 使得 b[i] = a[0]*...*a[i-1]
b[0] = 1;
for (int i = 1; i < n; ++i) {
  b[i] = b[i-1]*a[i-1];
}

// 逆序, 使得遍历到 b[i] 时, sum = a[i+1]*...*a[n-1]
//这时候 b[i]*sum = a[0]*...*a[n-1]/a[i]
int sum = 1;
for (int i = n-1; i >= 0; --i) {
  b[i] *= sum;
  sum *= a[i];
}

然后被提醒说 sum 这个变量也不能有, 好像原文中是说了不能用其他存储变量… 但是这不还是 O(1) 的空间复杂度么, 腾讯好像经常喜欢搞这种无聊的要求 (卡一两个变量), 于是当场就怒了

叶文/Snoopy阿排 20:41:49
那把他写到循环里好了… -.-|
叶文/Snoopy阿排 20:42:32
老实说, 这个题出的很烂…
叶文/Snoopy阿排 20:42:36
烂的无与伦比
** 20:43:05
哈哈
叶文/Snoopy阿排 20:43:15
首先, 这种奇技淫巧没有任何意义
其次, 连乘更大的问题是爆数据类型…
** 20:44:41
是啊
** 20:44:51
关键一点就是没有任何意义
叶文/Snoopy阿排 20:45:41
而且, 要真抠细节, 他没说不能修改 a 的值, 我在做逆序的时候把 sum 换成 a[] 就行了

果然改 a 数组的值就达到目的了? 好像是? 这样有意思么?

最后, 真心求既不使用多余变量, 且不修改 a 的值的做法.

档案户口迁移记

去年曾答应某人写这么一篇教程, 后来想想这样对度娘太不厚道, 而且那个朋友最后也没走, 所以搁下. 不过很遗憾今年很多前同事也走了, 问起来似乎这方面有经验的就是我了, 那就写个教程吧. 以下内容适用于户口/档案由度娘委托海淀人才保管, 且是市内迁移到其他人才机构托管的情况, 其他迁移请查阅相关资料. 由于某狗没入党, 所以没有党组关系迁移的手续, 如果是党员的请注意党组关系要怎么转.

离职流程参考度娘内网, 有很详细的流程, 按图走就行了. 记得工作交接清楚, 能解除的报警短信都解了, 不要像我, 隔三差五还能收到报警短信, 都不知道找谁把那个报警去掉.

档案户口比较烦, 一步一步写.

1. 新单位调档函 (新单位办理)

到新单位要一份调档函, 一般都是一份打印好了直接填个名字就行的表, 并确认新单位的户口/档案托管机构是哪里, 去看看户口/档案调入须知, 比如朝阳区中智的集体户口迁入迁出.

2. 档案户口迁出申请 (度娘处办理)

度娘的档案存在海淀人才, 按海淀人才的档案调入调出页面上的提示, 打印调出表, 填好, 找直接经理签字, 找 HR 盖章. (我上次去的时候 HR 在大厦的 F1-CE 区集中办公)

一定要注意的是, 我们的档案里没有定级表 (研究生) 或见习考核鉴定表 (本科生), 其实已经成了死档, 无法调入调出, 还需要去海淀人才下载中心下载定级表 (研究生用) 或见习考核鉴定表 (本科生用), 跟档案调出表一样, 自己填好个人信息部分, 找直接经理签字, 找 HR 盖章 (什么定级工资啥的都空着, 海淀人才会帮你填, 日期最好也空着找海淀人才填).

离职的时候在 HR 那要求开一份档案/户口转出介绍信, 盖章.

3. 档案户口迁出办理 (海淀人才处办理)

从软件园广场坐 982 到四季青桥北, 下车后往回走小几十米, 路西就是海淀人才服务大厅, 进门, 右拐上二楼, 拿一个档案的号和一个户口的号 (似乎是一个 2 开头一个 3 开头).

办户口那人一般很少, 直接去说要办市内迁移, 他要什么材料就给他什么材料, 完了签字登记, 户口页原件到手.

档案排队人一般很多, 先在拿号那的收款处查下自己的档案托管费是否结清, 度娘似乎是半年一结, 所以一般会欠海淀人才几个月的托管费, 自己补上吧, 如果新单位给报销, 记得要发票. 拿着新单位调函, 档案转出表, 交费单, 定级表或鉴定表, 到办档案的窗口办理档案迁出, 他查好后会让你到另一个没有叫号的窗口去排队等拿资料, 等档案袋调出来, 把你该塞进去的塞进去, 一封口, 档案原件到手.

4. 档案户口迁入办理 (新单位委托的人才机构)

先看看要迁入地的要求, 要复印证件就复印证件, 要填表就填表. 户口还要求有无犯罪记录证明, 这个可以找四季青派出所开, 也可以在自己租房所在地找片警开, 我当时是没时间去四季青派出所, 就找社区里的片警开的.

这个不同的地方有不同的要求, 一般按其网站上的说明来就行了, 没什么要注意的坑, 不行的话问问新单位的 HR, 或打电话问问新委托机构, 而且办理过程一般都很快. (顺带吐槽下, 海淀人才的电话非办公时间没人接, 办公时间根本打不进去, 早上九点卡点打才比较靠谱)

5. 社保?

只要还在北京市, 社保什么都是无缝迁移, 可以不管. 但是缴纳方式可能要注意, 我就是新单位交社保交挂了才想起来要去办户口/档案迁移的.

我毕业时户口还是外地, 所以社保一直按 外埠城镇 缴纳, 到新单位时想户口都落好了, 应该是 本埠城镇 了吧, 结果 HR 告诉我社保交不上去, 还得按原来的交, 然后自己改. (两者缴纳的比例是完全一样的, 2012 年开始单位缴纳比例也完全一样了, 不知道还有什么区别, 我猜改成本埠的要靠谱点)

怎么改直接问新单位的 HR, 我得到的信息是提供: a) 身份证双面复印件 (复印在一张 A4 纸上); b) 户口本户主页 (显示户别类型: 本市城镇页) 和本人页的复印件 (复印在一张 A4 纸上), 后面的事情让 HR 办. 户口那个复印件必须要去托管的人才机构办 (办户口迁移时过自己手的只有本人页的原件), 而且建议是等新委托的机构落户完成后去办理. (这个我还没办完, 此流程仅供参考)

—-伤感的分割线—-

曾经一起追梦的少年, 终究也还是散落四方. 不同于毕业那几天内就人走楼空, 周围熟悉的人慢慢的一个一个少掉这才更让人难过. 祝大家一切都好, 保持联系, 坚持最初的梦想.

互联网企业的 x 文化?

在去年的年度盘点里有提到一些公司文化差异的问题, 当时想说的是这个世界越来越 x 的文化导向, 怎么就变这样了呢? 民间口语中略有轻浮个人觉得还能接受, 可以用尚未开化完全或民风彪悍等理由解释. 但是在一些公众场合, 特别是有影响力的公众场合, 还是觉得很难忍受, 过 x 的文化在很多地方会被认定为性骚扰才对?

这个问题最早是看 CCAV 某年的内部年会 东方红时空 时想到的, 里面有不少荤段子, 具体细节现在回忆不起来了. 当时看到平常很严肃那些主持人什么的也这么恶搞和低俗, 有点震撼. 不过要说那个片子留下了什么, 最有影响力的应该是电影剪接恶搞的兴起 (胡戈早期的剪接作品都是如此, 一个馒头引发的血案和讲春运的那个), 以及敬一丹还是谁说的一句 “在这样的夜晚, 除了创造人类, 我们还有什么追求”. 但是跟后面的那些比起来, 这个又算很纯洁的了.

后面看到网络上一些对阿里系的传闻, 觉得明显过头了, 比如知乎上在淘宝的工作挑战这个问题中提到的男女关系, 这里面的内容我向一些阿里的员工求证过, 无法证实, 但是从交谈来看, 很多无法证伪不那么夸张的事情似乎也是事实, 甚至都算公司文化了. 另一件很震撼的事是 @Fenng 曾经在新浪微博上转过一个淘宝新人培训时跳恰恰舞的图, 但他转的那个原微博已经被删, 只找到这张图, 搜 “百淘 新人” 能找到不少淘宝人的辟谣, 结合人人奥斯卡上类似的那一段, 应该是谣言. 去年冬天跟一去了淘宝的大学同学聚时也聊了下这方面的话题, 感觉阿里在那方面的企业文化确实是明显超过我的底线了, 淫而不荡, 这个太难了, 在网络上见过太多说着说着就成真的事了. 个人认为之所以阿里系会这样, 是因为阿里是一个销售导向的企业, 当今社会很多生意和黄赌毒都有说不清道不明的关系, 那销售等对外团队中这种文化就比较盛行, 继而带的整个公司都是这样. 由于这个文化冲突, 找实习, 毕业找工作, 换工作时, 阿里系都是被我直接忽略的对象.

到人人后只是觉得这边的某些文化更本土化一些, 连加入的第一个群名字都叫 “土俗骚”, 日常也有一些比较三俗的事, 但是整体还好, 不会过. 在人人奥斯卡上是被小震撼了把, 虽然以前也听说过会很黄很暴力, 但是一看这名字 基情穿越, 再结合下内容, 确实也还是有点过. 听闻销售那边会比较狠, 技术方向会稍微好一点.

回想下以前呆过的那些地方, 似乎都比较保守, 外企对这个问题都很敏感, 毕竟性骚扰是很严重的问题. 百度也挺保守的, 最多就是很熟的小圈子内闷骚下. 是说这些地方的大部分人以前在学校还是比较传统的乖宝宝, 所以比较正派?

不管是假正经还是真正派, 希望自己能一直光明向前, 言行一致. 不抽烟不喝酒, 只混技术圈, 远离人情世故, 会丢掉一些东西损失一些朋友和感情, 但是留下的会是更经得起考验的朋友吧. 不抽烟是因为家里没人抽烟, 自己也没兴趣, 对身体也不好, 不喝酒是因为酒精过敏 (海鲜过敏一般认为是个悲剧, 酒精过敏我看来还算好事了), 只混技术圈是因为不会人情世故不会说话, 出去绝对被各种拍死. 似乎杜月笙还谁说过, 如果一个男人不抽烟不喝酒, 那还有什么靠得住的 (大意如此), 我说是因为那年代没别什么能爱好了吧, 现在随便找个爱好就各种耗时烧包了.

2011 年度盘点

按惯例每年写一篇总结, 记录自己的过去, 碎碎念兼反思得失. 下面基本按时间序来说说不同角度的大事

元旦回家, 一个人的春节

避开春节的火车, 选在元旦回家, 家里人基本都在, 该吃吃该睡睡几天也就过去了, 不用像过年一样大把时间都耗在各种走亲戚上, 经常像个小孩一样腻着爸妈, 晚上一起烤火打牌, 随随便便什么都聊下, 也挺好的

过年一个人在北京过, 年前几天和年后才上班的几天公司都冷冷清清的, 没怎么干活, 在做一些自己的小爱好什么的, 其实跟休假差不多. 过年那几天提前把一些吃的屯好, 最后过的倒还行. 装上三国志 11 在这几天通了一次 (应该是简单模式), 也重新回顾了下那段历史, 好像就这段时间把三国演义的小说好好看完了. 期间去了趟地坛庙会, 跟我想的庙会还是有很大落差, 就一游乐场嘛

换室友, 换房子

在西二旗租的房子的前室友 sandy_sp 因为个人原因, 离开北京去了上海银联, 一个听起来很操蛋又很有米, 偶尔想想也很悠闲很爽的地方, 所以室友换成了 boluor. 跟 boluor 还是经常会在晚上扯技术问题, 本来都打算要睡的两个人穿个裤衩站各自门口就一些系统问题扯上一两个小时, 再看下时间不早还是快去睡觉, 第二天还要干活. 后面我走了后 boluor 不无遗憾的说现在没人跟他扯这些了, 只能自己闷头看书, 我好像也觉得现在这个状态并不是非常好, 很多跟人学习的过程是一个隐性的, 要时刻注意

因为换工作的关系, 也因为想离 MM 更近点, 从西二旗那搬来了柳芳, 从 13 号线的那头到了这头. 新房子就在公司对面, 早上上班只要几分钟, 大部分时间还耗在等电梯和等红绿灯上了. 这边更市区一些, 买什么或办点什么事都要方便不少, 生活方式略有变化, 不像在西二旗只能窝家里或公司, 出门就奔上地华联. 新房子有新室友, xenplus, 也是武大集训队的师弟, 在公司的同事, 把我忽悠过来的这只鱼, 不过好像因为在这边和 MM 在一起的时间更多点, 所以都缺少些技术讨论和同步成长? 因为买菜什么的变方便, 所以开伙频度明显增加, 自己厨艺只是略有进步, 某喵倒是越来越强

不那么顺利的工作, 坑爹的事故

上半年做了件大事, 中间因为一个诡异的问题把整个进度拖慢了不少, 但是没等最终好好做完就被大老板整个拍掉. 唉, 总是抓不准做事的时机, 而且坑爹的诡异问题经常被自己撞上, 不知道该自嘲运气实在有问题, 还是自夸做的多也容易错的多? (那个诡异的问题和交换机的 buffer 设置有关, 会导致服务器超时不一致, 但是这种事情谁想的到谁有权限控制啊) 整个过程中因为自己的疏忽和流程的漏洞, 弄得有连着两周都在出各种事故, 后来自己都没法忍了写事故通报时都不知道到底该怪谁

上半年做了另一件自己认为很有意义, 但实际上几乎没有任何老大认可收益的事情. 虽然自己坚持这件事的意义重大, 而且很多还在一线的同事也认可, 但是, 有些东西, 老大说没意义就是没意义, 或者就算老大想认可但评估体系没法考量那这事就是没意义的, sigh

用 Markdown 做基础维护了一个类 wiki 的分享站 ourfcr.info, 帮了不少人, 但是也因为纯属个人爱好和没做好协同编辑, 其实也只是一个人在做. 那一段每天早上六七点到公司, 干这事到九点等大家来了再切回正常工作状态的日子, 是个人习惯和工作效率都很高的一段时间, 很舒服很充实, 后期很多有心无力和懒得搞也慢慢荒了, 现在离职后那个内部站自己都看不到, 索性也算断了这个念想, 不怀旧, 也欺骗自己不愧疚

七月去业务一线实习了一段时间, 从另一个角度看了很多不一样的东西, 颠覆了很多认识, 也有很多想法, 但最后, 却发现大部分事情还是无能为力去改变. 特别是后续的工作方向又发生大变, 正如离职时的告别邮件里说的, 很多未竟的梦想和许诺, 实在抱歉, sigh

在八月还是九月的某个时间, 突然就觉得做的事情真的没意思了, 而且从前面的很多记录都以叹气结尾就知道工作认同感是怎样, 之前的一些不爽和念想就变成了 “我要换个地方看看不一样的活法”, 这直接导致了离职. 这期间本来想作收尾工作的一次小流量, 最后还莫名其妙的出了持续两周的事故, 又是坑爹的诡异问题导致, 真心无奈, 彻底无奈 (这次的问题是持续集成的编译机群新增了一台, 系统环境不一致造成, 又是莫名其妙的不可控也压根想不到的问题)

换工作

十一月初从百度凤巢广告系统策略离开, 到人人来做人群定向, 做事有一定的延续性, 也有挺大的改变. 目前来看一切都还算好玩, 不一样的数据, 不一样的应用场景, 有很多不一样的东西要去学习, 也有很多不一样的坑可以刨

虽然从百度走了, 但是感觉很多时候还是在用百度的方式在思考问题, 跟以前的同事 (同时也都是很好的朋友) 都还保持很好的联系, 让很多人都吐槽 “好像你从来就没走过一样”. 最后几天很 ws 的跑回去参加以前组的年终聚餐, 本只想跟大家聚聚, 然后就一些不涉及两边公司机密的纯技术问题进行下探讨, 最后倒变成了纯混吃 + 恶意占用抽奖 quota, 太损 RP 了

跟大家聊一些技术点的时候, 明显还是能感觉到两边的整体成熟度有很大差异, 人人这边是更年轻更无畏的另一种风格, 其实很像几年前的百度, 没有太多人可以教你, 要你自己学习自己进步. 当然, 人人这边很多事情本身也是在做开拓性的工作, 没有参考也正常

工作环境变朴实了很多, 有些落差, 不过基本上还不影响干活本身, 今天去看了下很快要搬过去的新工作区, 希望继续跌落, 这还是朴实路线啊 (我很厚道的忍住了吐槽没用贬义词, 但是没忍住要加个括号吐槽下) 唯一让我还是觉得不甚喜欢的就是人人跟国内大部分 IT 企业一样, 会有很黄很暴力的氛围, 关于这个, 我准备单独写篇博文讨论下, 草稿和框架已经有了

各项游玩

春天的时候跟槽群的朋友一起射箭, 好玩. 去植物园, 除了天气和交通比较坑爹, 其他都还很赞, 只是大家打 UNO 的兴致没那么高了

小组内组织去开卡丁车, 磕磕碰碰的上手, 意犹未尽的离开, 速度感带来的刺激果然是男生的本能追求. 多的票后来又跟 MM 一起偷偷去了一回

每年一度的大 bui, 凑上 FC2.0 的人一起去的坝上, 想起 07 年都可以组织整个 ECOM 的大 bui, 现在光是 FC 检索端就要两辆大巴, 扩张真快. 草原没有想的那么漂亮, 被牵着走的骑马也挺没劲, 只有回来路上马被别的马惊了下时跑了两下算是比较 high 的体验. 没在草原玩坑爹的游乐设备后面被证明是明智的选择, 跟着老万一起去开的四轮摩托, 在草原上跑的煞是惬意. 长期不晒太阳, 出去随便晒了下背上就脱皮了, 这还是穿了衣服的保护呢

秋天小组 bui 去打了趟高尔夫, 在室内对一块练习场挥杆的那种, 运动细胞还是不咋的啊, 完了不出意外全身酸痛好几天

终于去了趟颐和园, 也去了趟天坛, 想想在北京还有挺多地方没去的, 故宫, 后海, 798, 十三陵, 虽然俗气了点但是还是值得去去吧. 又去爬了两次香山, 都是不同的路线, 锻炼下挺好的, 在室内闷久了逗松鼠玩都是件很有乐趣的事情

冬天来人人后去了次温泉, 第一次去温泉, 泡的挺爽, 只是容易出汗且怕闷的笨狗没法持续的好好享受, 果然不是享受的命 :P

到人人后因为开会, 去密云水库附近的一个度假村呆了两天, 那段时间北京城区的空气实在太糟糕, 出去透透气非常爽. 继去年去皇后镇后再一次看到满天星空, 有种回到无忧无虑小时候的淡淡的幸福和忧伤. 但是那两天已经很冷, 风也挺大, 就没继续文艺下去, 不想在外面冻得像个二逼就回屋里好好当普通青年吧

爸妈来京, 亲情和爱情

7 月份爸妈来京玩, 不过当时在上班, 也没怎么陪他们玩, 景点本身也没什么太大意思, 老爸也喜欢自己到处晃, 就让他们自己玩去了. 爸妈每天早上六点左右出门, 玩到中午回来, 刚好避开游客高峰期和交通高峰期, 也不算太热, 我倒是觉得这种模式挺好

期间我的作息时间跟他们差太多, 一般都是爸妈出门时我妈把睡地板的我捅起来让睡床上去, 然后我还能完整睡上一觉再起来去公司上班. 晚上会比平时早点回来, 一起吃晚饭, 然后在家干会活, 一起聊天扯淡, 发现现在跟爸妈好好谈谈都是件很奢侈的事

一些陪同的项目更多都是吃吃喝喝, 略显无趣. 最后找了天跟老爸一起骑车去晃了圈北体, 堂妹在那边上学, 家里人想看看就看看, 反正也不远

跟爸妈就 MM 的事情好好谈妥了, 坚持到最后, 一开始的问题其实都不是问题. 等某喵也谈妥, 这事就成了算了, 免得夜长梦多 :P

学习

本来毕业后这个词就出现的少了, 自己还是明白得保持学习, 可惜从小到大懒惯了, 虽偶尔想想, 但也没有啥太多进步. 论文还是看的少看的不够深, 该关注的东西贴的不够紧. 还是得经常提醒和敲打下自己. 这个行业本来发展就很快, 从业者又都是即聪明又勤奋的人, 必须逼这自己持续往前跑, 才能跑到别人前面, 至少要维持不掉队吧

本打算在下半年把一些基础的东西重新回顾扎实下, 结果只好好看完了 perl 入门, 做完所有练习题后也没在实际生产中用到, 估计现在又忘的差不多了. 其他诸如数据结构, 算法, 数学等内容, 原来打算在谋划换工作时, 用不拼命工作省下了的时间过一遍, 却没料到来人人的过程会这么快, 这些事后面就被搁下了

运动和健康

考虑到自己的体重实在是有问题, 且锻炼机会越来越少, 为了逼自己锻炼, 也完成许久以来的骚包念想, 五一假的时候去入手了一辆美利达 Duke 500, 开始骑行锻炼

五月份和死猫/囧猫去了趟十三陵水库, 低强度活动, 走八高辅路到昌平城区, 再沿十三陵水库一圈, 原路返回. 期间各种欢乐, 比如赶上国际越野跑, 水库边文艺女青年和她的 A-Bike, 死猫的神奇座杆, 也还遇到有骑车的事故. 长大下坡上 45KM+ 的速度和第一次去滑雪时的感觉一样刺激

之后一直没太有空去骑长途, 有一段终于觉得自己太颓废, 自己拉了一趟香山, 只是到山脚下, 来回 30 多公里花一个多小时, 平均速度 20 多, 自己还挺满意的

秋天和死猫, 猫嫂加囧猫去了趟蟒山, 大部分路线和去十三陵一样, 连中午吃饭都是一个地方. 但是因为绕路和爬山, 对笨狗这样的新手来说强度还是有明显增加的, 途中好几次想放弃登顶, 感谢死猫一直陪我鼓励我到最上面, 最后一路放下来真的是太爽了. 可惜囧猫因为借的车刹车装反导致下山时摔了, 出事和回程少个人还是让这一次骑行还是留下不少遗憾

换工作搬家时从西二旗到柳芳来回骑了几趟, 才开始在城区骑稍远的距离, 对各种红绿灯和自行车道上的不讲究很不爽. 八高等路线上的堵车也还是心烦, 特别是不讲究的汽车把自行车道甚至人行道都霸占了时. 第一次从西二旗到柳芳路上遇到马拉松, 到底是北京此类赛事真的很多还是我运气真的很好老被我碰上?

对体重彻底没法忍, 给自己定的锻炼计划是每天 50 个俯卧撑 30 个仰卧起坐, 执行过程中还是有偏, 最近维持每天早晚一次广播体操 + 45 个俯卧撑, 肥了懒了后运动起来各种不给力啊, 随便弄弄都腰酸手疼的. 目前体重 66.6kg, 看起来不可能在 2012 来之前降到 60kg (一开始的大跃进计划) 或 65kg (后来觉得靠谱点的计划) 了. 但是还是得维持锻炼, 明年给自己定个 60kg 的体重 KPI?

骚包和折腾

清明节的时候突然脑抽进入完成式, 忽悠上阿牛一起去换手机, 入手 HTC Desire (G7/Bravo). 现在回头看, 当时不是一个太好的出手时机, 因为买之前价格坚挺了很久, 而买了后很快就跌了好多, 不过反正都是玩, 过去的事情就过去了吧. 接下来就是各种折腾, S-OFF, ROOT, 刷机, 玩软件, 一开始还有兴趣记录下, 后面就懒得记了, 现在终于回归理性, 就想要个稳定顺手的系统好好用着别出毛病就行了

换房子时重新办宽带, 薅上联通羊毛, 送了个 3G 号加一年的 66 套餐. 鉴于之前移动 159 的号还得用, 而那个 N1200 又给了熊, 干脆再买个诺基亚 C1-02 插移动号当备机, Desire 就换联通 3G 号, 在外面无聊时可以上网玩了. WCDMA 网络速度比 EDGE 确实有质的飞跃, 但是联通的信号稳定性还是不如移动, 希望联通能越来越靠谱, 良性竞争推动整个行业进步, 不要只靠国家强制制式绑定来扩展市场

被 CHH 放毒, 对乐高的科技系列无限 YY, 这不就是从小到大一直想玩却没钱买的东西么. 圣诞节前完成对自己的忽悠, 说忙一年了就当买个大玩具奖励自己吧, 果断出手 2010 科技旗舰 8043. 圣诞当天上午收到同城快递, 下午和晚上就忍不住将其装了起来, 默认的挖掘机形态. 找电池时还想自己以前买那么多 eneloop AA 充电电池终于有正经用途了, 坑爹的是这货居然是 6*AA (机体) + 6*AAA (遥控器), 最后拆各种电视/空调遥控器终于再凑够六节 AAA, 玩的甚爽, 准备元旦或什么时候拆了挖掘机形态换推土机形态

换工作后去办了户口和档案迁移, 真是各种坑. 现在看事情应该都办完了, 回头单写一帖说这个办理过程, 也给其他人一个教程介绍

因为翻墙需要, 在 flyssh.net 上买了一年的 ssh, 后面推荐别人买时发现他家还提供主机服务了, 最便宜的一年才 20 块钱, 试试看的心态就买了个玩. 把 yewen.us 指向这, 也就有了最新的这个 笨狗又一窝, 最近一两个月花了些时间把以前散落各处的日志合并整理到这里, 现在只剩以前 Q-zone 的一百多篇没有分类和打 TAG, 其他的都搬好了, 真是体力活. BBS 上写过的一些东西, 虽然值得纪念, 但找起来都难, 还是算了

遍地创业机会?

从百度离职后, 看了很多不一样的东西, 也被很多朋友介绍说去创业吧, 所以有此一篇

遍地黄金的创业机会?

接到过一些创业邀请, 主要在 手机应用, 增值服务 两个方向, 听起来就像是说 “遍地是黄金, 谁不捡就是傻子”

移动互联网现在很热, 也确实有很多一夜暴富的案例, 但是是不是真的就遍地黄金想拿就有? 我还是觉得未必, 一是笨狗胆小, 二还是觉得这不符合我理解商业规律. 我个人觉得 90% 的创业公司 (或者说创业项目比较好) 会死掉这个说法绝对不是夸大其词, 甚至在我看来, 只会更高, 特别是现在很多完全没有仔细思考就一猛子扎进去乱搞的人越来越多, 跟当年股市泡沫好像就是一样的嘛. 移动互联网上的很多创业都是 “觉得一个东西好玩” 就去做, 很多都只是创业者自己的小众需求而已, 没法扩大规模, 没法变现, 最后, 只能死掉

商业模式是才是最后赚钱的核心

前一段在回顾浪潮之巅时, 自己掰出来这么一句话:

创业的最高层次是创造新的生活方式, 并衍生新的商业模式

这句话更多的是想说 Twitter 和 Facebook, 这两个公司都是创造了一种新的生活模式, 让个人的信息发布和联络渠道发生了颠覆性改变, 其革命程度不亚于当年 Google 等搜索引擎把大家获取资料的方式从目录检索变成关键词检索. 但是抛开 “伟大” 而言, 大家都是要吃饭的, 再看看这两家的盈利状况呢? Twitter 现在似乎一直没有一个靠谱的盈利模式, 从外界能获取到的信息看来, 能维持运作就不错了, 而且最近 Twitter 的更新越来越慢, 都让人怀疑他们还在没在好好做产品. Facebook 虽然没上市, 没公布其财务状况, 但是外界的信息显示他家今年的利润应该不下 10 亿美元, 而且吸金能力越来越强. 所以, 这两家我看好 faceboook 的前途 (虽然我不喜欢 facebook 这家企业, 但是喜好和看好是两码事), 觉得 twitter 会在不久的将来挂掉.

两者最大的区别就在于是否找到了一个可以健康发展的商业模式. Facebook 利用他强大的用户信息网络, 能将定向投放广告做的越来越准, 而且他的用户黏性保证了这个广告市场只会越来越大, 广告主们竞争越来越激烈, 整个体系是一个健康前进的生态系统. 反观 Twitter, 因为更多的是只言片语, 且有大量的 API/客户端 分流, 用户黏性小 (更多指的是在其网页上的停留时间), 没有定向广告的能力, 又没有从用户那收钱的增值服务, 想不出来后续能靠什么撑下去, 概念最终总还是要落地, 童话的最后公主和王子在一起后, 也还是要过柴米油盐的生活, 不切实际的泡沫总会破灭的.

如果说前面说的更多是对未来的展望和分析, 有个人喜好因素在里面, 那我们回顾下历史. 互联网上这几年 Google 和 Yahoo 应该算是反差最大的两家了吧, G 的绝大部分收入还是来自 AdWords 和 AdSense, 前者依托他强大的搜索技术和用户量, 后者依托其海量数据处理能力和庞大的广告主资源, 虽然 G 一直想多元化经营, 但是很遗憾, 其他部门的营收真的只能算九牛一毛. 而 Y, 一直守着自己的目录式搜索, 跟进关键词搜索的模式还是慢了点, 而且技术也糙了点, 等发现广告市场的风向从 Banner 广告转向精准定位时再去做 panama, 不仅时机上落后于人, 技术上也一直跟不上, 发了那么多 paper 也无济于事. 市场只看结果, Google 两倍于 Yahoo 的 CPM, 再加上几倍的市场份额, 就注定了一个会进入良性循环而另一个在恶性循环中苦苦挣扎, 好像 Yahoo 都快要被收购了?

再举个例子, Apple 和 Nokia. Apple 固然有其工业设计等因素推动其前进, 但是 App Store 确实是个伟大的战略, Apple 通过 iPhone 的强大, 时尚等特性扩大用户群, 然后通过 App Store 来吸引开发者, 把付钱和赚钱的渠道打通, 然后两边都能进入良性循环, 用户能有越来越多的好应用可以使用, 开发者也越来越容易从自己的好作品中获利. 而 Nokia, 现在好像只剩下调侃他 结实 和 续航 的段子了, 功能和设计上的不思进取导致了用户群流失, 对开发者不友好, 开发者很难赚钱导致开发者流失, 最后也就只剩下 Nokia 自己在推官方应用, 以及一些大公司为了安抚用户推出点 Symbian 的客户端, 用户和开发者两边都恶性循环, 最后的结果, 微软要收购诺基亚的谣言好像又越来越盛了?

增值服务都在闷声发大财

前面那个部分基本上都是在吐槽, 也没提出什么建设性意见, 毕竟生活方式的革命不是谁都能想出来的, 最近几年全球在互联网和移动互联网上的大跃进也基本上掏空了大家的需求. 如果不能 revolution, 那回头考虑下 evolution, 很多传统行业还是在低调的赚钱, 赚大钱, 靠的就是 evolution.

因为工作关系的原因, 过去几年关注互联网广告比较多, 这是个很奇怪的市场, 不管是国外的 Google, Yahoo, Bing 等等, 还是国内的 百度, 淘宝 等终端服务商, 都在拼命发展自己的技术能力, 把系统弄的越来越牛逼, 也越来越复杂, 而需要使用此服务的广告商, 根据个人的了解, 不管国内还国外, 都是小白, 而且一个比一个白. 看起来好像是先进生产力和生成方式跟落后劳动者的冲突了, 解决这个问题, 要么是广告主自己学习进化, 去适应更精细的游戏规则, 但是这个途径太麻烦, 并不是每个人都需要在每个领域都成为专家, 特别是很多广告主是中小企业, 压根没有人力来做这个事情, 大企业很多也没有太多人力来做这事, 那要么就是引入中间人, 让专门的人来做专门的事. 说到这, 想起来前段时间京东老总刘强东在微博上说要自己建干线物流, 其实也是类似问题, 要么由中间人 (干线物流公司) 来完成这部分自己不擅长, 也不必要去擅长的工作, 要么就自己花很大成本去做这事了, 这是一个反例.

回到互联网广告的中间人, 一般会管他们叫 广告代理公司 或 SEM (Search Engine Marketing), 这个市场在国外貌似稍微成熟一点, 在国内大都是很糙的起步阶段. 这里面有非常多的事情可以做, 不同的网络媒体, 不同的投放优化方式, 拿人钱财替人消灾, 据说这个行业的毛利润至少有 10%, 佣金是一部分, 优化后的利润空间自己也可以分一部分, 可惜现在这个圈子缺人缺技术, 好多人都是看着钱在面前, 却捞不到, 腾不出手捞, 没空捞.

在互联网广告之外, 帮别人赚钱也是一门很大的生意, 淘宝自己就是干这事的最大中间商, 什么聚划算啦, 直通车啦, 都是为了更好的让卖家赚钱, 同时自己收佣金或压缩成本获利. 在淘宝之外, 目前应该也有好大一批帮淘宝卖家赚钱的创业企业在行动了, 我猜赚钱也是大大的, 低调发财真好. 因为有朋友在这个圈里, 为了不直接导致市场白热化, 这事就不说太白太细了. 继续感慨 “小钱钱, 真心甜.”

游戏行业的暴利

早几周本科室友 6k 来北京玩, 因为他自己是个狂热的游戏玩家, 同时也在游戏行业做了好几年, 于是就扯这行的暴利. 现在在互联网上现在被骚扰的最多的估计就是游戏广告, 而且游戏广告都很贵, 从这点上来看也就知道游戏有多赚钱, 不然他们不会一直烧下去的.

国内的网游应该已经没有靠点卡赚钱的了, 魔兽世界这种极品不是阿猫阿狗都做的出来且能运营好的, 绝大部分都是靠增值服务, 提供钱换时间的服务, 比如更好的装备, 更快的升级等, 更赤果果的是卖道具, 除了好看啥用都没有的道具, 还贼贵. 考虑到现在做一个真正好玩的游戏确实太费时间太难, 点卡赚钱不靠谱, 破坏游戏平衡性的增值服务又不能搞太多, 那么最后现在大部分游戏的运营模式都进入了这样一个外人看不懂的怪圈:

  • 通过免费, 甚至送钱的方式, 吸引大量玩家并努力保持黏性 (赚点卡的境界)
  • 发展高端付费玩家, 让大量玩家陪玩, 使他们获得尽可能大的满足感 (破坏游戏平衡性的增值服务境界)
  • 引起付费玩家的妒忌, 让他们互相砸钱买无用道具来攀比 (让玩家烧钱给自己的境界)

老实说我自己觉得这种方式太下作, 但是人傻钱多这种事情又不是我能决定的, 官二代富二代烧的钱再怎么来路不正我也没有足够能力去明显改变这个世界, 这里只是说下暴利情况. 千万不要看不起烧钱的玩家, 人家都是可以几秒钟花几万人民币的, 所以, 养好你的免费玩家, 甚至雇点职业玩家陪好人民币玩家, 然后就让他们互相在你的游戏里烧钱就行了. 如果没有那么强烈的正义感, 也不像某些游戏制作人一样有真正的梦想, 有点技术又想快点捞钱, 这个路子确实不错. 但是我还是会持续鄙视做这种游戏, 运营这种游戏, 和在游戏里烧钱的人.

这一节主要是想说, 你是否赞同并支持自己做的事和赚钱是不冲突的两回事, 只要你放的下良心和矜持, 钱也还是比较容易来的. 这一点, 比如 Jack M, 嗯 这事不能说太细.

关于毕业去哪里

因为自己最近换了个地方, 看了看最近呆过的这两家, 更像是同一家的不同阶段. 百度已经相对成熟化, 更多的是靠整体技术和制度在驱动, 而人人相对有更多的个人英雄主义和随意性.

对应届生来说, 如果不是自己能力比较强, 或自己有很好的想法, 还是建议去类似百度这样, 还在上升期的技术性大企业, 学东西相对有保障, 周围有热心的大牛的概率也要高很多, 钱可能会少点, 短期收益不会那么明显, 但是长期来看是在打更扎实的基础. 相对的, 爆发期的小企业会有很多机会, 发挥的自由度会大很多, 如果有不错的底子, 只要是不那么坑爹的团队, 总能干出点很赞的事情. 缺点基本上就是两者的优点互换一下, 大企业的整体框架会相对稳定, 制度比较完善, 每个人更多的会扮演螺丝钉的角色, 而且看事情的面会稍微窄一点, 做的比较好也是某个位置上比较优秀的螺丝钉. 而小一点的地方如果遇上好的老大和团队, 确实能更快更好的成长, 但是这种机会相对可遇不可求, 所以除非确定, 按笨狗胆小心理, 是不会去赌的.

招聘算法工程师/C++后台研发工程师

人人网招聘策略工程师, C++ 后台研发工程师. 职位描述如下

算法工程师

工作内容

  • 对人人网相关产品进行数据分析, 提升产品用户体验
  • 处理海量数据, 快速开发新产品原型, 验证策略效果

职位要求

  • 有较强的数据处理和分析能力, 较强的逻辑思维能力, 对技术和产品都有很好的敏感度
  • 利用现有数据, 提升广告投放相关性, 设计新产品的策略并持续提升
  • 喜欢做有挑战的新事情, 并解决现有问题
  • 熟悉 C/C++ 语言编程, 熟悉 Linux/Shell/Python 等应用场景, 对算法和数据结构有较好理解
  • 良好的沟通能力和团队协作精神
  • 有 hadoop 或其他 map/reduce 系统使用经验者优先
  • 有数据挖掘, 机器学习, 自然语言处理经验者优先

C++后台研发工程师

工作内容

  • 维护人人网的系统开发, 提升系统效率, 稳定性和处理能力, 以及新产品的开发

职位要求

  • 优秀的分析问题和解决问题能力, 喜欢解决有挑战性的技术问题
  • 较强的 Linux 上 C/C++ 开发能力, 熟悉 Shell 编程
  • 熟悉网络编程, 多线程编程技术
  • 对数据结构和算法有较好理解
  • 良好的沟通能力和团队合作精神
  • 有相关系统开发和设计经验者优先

个人补充说明

人人是中国最大的实名社交网络, 有更真实更密集的用户数据, 我们希望通过数据挖掘, 机器学习等方法来改善我们的产品, 为万千网民提供更优质的服务.

这两个职位同时对校招和社招开放, 对于能尽快入职的社招同学或能过来实习的校招同学尤其欢迎. 由于人手不够, 会优先考虑将合适这两个职位的同学转到广告相关领域. 算法工程师后续会有较大机会参与到应用研究和改善中去.

有对职位感兴趣的同学, 请将简历直接发给我 (wen.ye@renren-inc.comi@yewen.us), 邮件标题注明 “应聘_职位_姓名