知乎的程序员

来源:互联网 发布:上海威纳 数据 编辑:程序博客网 时间:2024/06/10 08:21

十、招聘渠道

招人第 94 天,怒答。

不是太难,是你太懒

先纠正下概念,什么是难?

- 大家都招不到人,你也招不到人,这叫难,行业形势决定
- 大家都能招到人,你招不到人,这不较难,是你公司的问题
- 大家有的能招到人,你却招不到人,这也不叫难,是你 公司 + HR 的问题

基本上大家都了解当下形势:缺口大,资源少。

无例言x,我公司的招人职位有俩:

- 有较丰富前端重构经验的工程师(精通 javascript,多终端的适配经验丰富)
- 有大规模 Node.js 编程经验,在模块工程化,异步编程方面有深入研究的 Node.js 开发工程师

换算到 阿里的 P 级别,能对应上 P6 和 P6+ 的职位,了解的人就会摇头了,这两个职位有多难招。ok,然后,如何争取这少量的资源,需要从渠道和自身两个方式入手:


一、渠道

1. 招聘类网站

100offer、内推网、拉勾网、histarter、脉圈、灯塔、jobdeer、哪儿上班、周伯通、猎聘

无论初创的还是成熟的,付费的免费的,一个都不要放过,尤其是初创的,别看流量小,但是服务好,甚至会给你 VIP 权限,比如 脉圈 帮我们制作单页 H5 微信传播页面,帮我们宣传公司和职位的,微信里面转发效果极好。

另外像什么,赶集/58/51job/智联 也就不要去尝试了,为了让你买一个季度或者半年的会员费,市场团队电话会骚扰死你,另外我也始终不会相信,从这上面能拿到多少优质的 前端/全栈 开发工程师简历


2. 社交类(人脉)网站或应用

大街、linkedin、微博、QQ 群

这种效果比较明显的是 微博和 QQ 群,利用你的社交关系,利用群组方式进行职位的直接推送,效果有时候也非常赞。

我 2012 ~ 2013 年用 QQ 群帮 阿里巴巴 挖到 7 个正式前端工程师,2 个极其优秀的实习生,用 微博私信 挖到 1 个功底扎实,颜值很高的女前端工程师。


3. 终极利器 - github

还有什么网站能像 github 这样,一下子就能看到一个人的 coding 状态,关注的技术方向,贡献能力,代码风格,代码质量,分支的创建风格和合并方式,甚至建立 issue 时候的态度和表达(英语)能力,文档的书写风格和描述能力... 

最最重要的是,大部分人的主页都有邮箱和博客地址,包括代码注释里面,如果都没有,你可以对他提 pull request 来获取好感,再逐步拿到联系方式,每天花 2 个小时,逛一逛 github,你会发现,中国的程序员竟然如此之多,信息如此之全,我只能帮你到这儿了。

4. 终极利器 2 - 垂直论坛

虽然 github 非常好,但这个属于主动出击型的,能让别人找你,就不要主动找人,这就是论坛的魅力,别人看到你的帖子,认同了,简历自然进来了。

所以招人千万不要写:

杭州 招 3 年经验 前端工程师, 2 位。机会难得,速投简历。 说实话,这种招聘贴其实特别多,这叫 “等沉式” 招聘贴,写了也白写,谁鸟你呢。

你需要走心,你需要客观,你需要真诚以待,你还需要互动。这里是我写的一篇招聘文章吧,献丑了:

20k【美国硅谷】【巨量期权】【正在A轮】【度假办公】【全站 Node.js】


5. 熟人推荐

首先,你得有熟人,其次,请人吃个饭,唱个歌也是再所难免,所以平时多参加各种技术会议,D2 啊,京js 啊之类,能混上饭局就去混,多加好友。

二、自身

1. 公司前景

这个可能不是你能决定的,毕竟你可能只是 HR 或者是 技术团队主管,公司前景可以通过多提供客观数据和一定的市场运作方式描述,来让候选人了解你公司的一个发展方向和盈利点,不要说没用的话,什么 不差钱,以后要颠覆谁谁谁,以后做行业的 xxx,我们要改变人类的生活,要多么多么高大上而有意义,切记不要对程序员说这些,他们 0 和 1 的世界里,你不要以为他没有自己的一套观察视角和分析逻辑。

2. 团队组成

这个很关键,无论你是 1 万人的大公司,还是像我们一样只有 10 个人的小团队,你要让他了解,他接下来委身多年的团队,同事们都大概什么个情况,说白了就是团队文化和氛围,大家都是什么样子的人,喜欢怎样的做事方式,一般 简单/自在/大牛多/沟通效率高/工程师地位高/妹子多 这些都是加分项。

3. 薪资福利


注意,薪资和福利不能划等号,我薪资高啊,但是我没福利,我福利好啊,但是我薪资不咋地,都不行。

薪资是贴补他家用,是他在这个行业中贡献的一个价值表现,也是他在自己小社会中地位的体现,钱多了不见得多么有面子,但是钱少了可能就冷了这颗心。

福利是关怀,是对薪资的补充,是与众不同的东西,是让人幸福的东西,是让人可以对别人炫耀的东西。

A: Hi, 阿正正,你猜我们公司这次去哪儿 outing 了?
B: 刚才在忙,你们去哪儿了?
A: 我们去那个十分有名的 千岛湖 你知道么,就是千岛湖大头鱼,还住靠湖五星级酒店,整整玩了 2 天,yeah!
B: 擦,这么酸爽!叼叼叼!
A: 恩,都不想回来工作了,你们去哪儿 outing 啊?
B: 正在收拾行囊,后天去 美国硅谷 度假办公。
A: 多长时间啊?
B: 2 个月吧。
A: 哦...
A: 那我能求你给我带个 MK 的包包么,我想送给我女神。



关于薪资和福利,取决于城市,公司的当前规模,融资阶段和公司的薪资结构,所以制订这个,我的建议是,尽量保留弹性,如果福利一般,那就薪资定高一些,如果福利突出,薪资可以适中,但无论怎样,你要明白,你需要的是人才,而不是人力,对于人才,投入越多,关怀越多,回报比越高,投入越少,关怀越少,你就等着收 辞呈 吧。


最后呢,我对比了下我圈儿里其他公司的招人情况,我的是最乐观的,那么列下我的招人情况,和各位共勉:

Moveha 正式招聘 前端/Nodejs 工程师第 94 天,收到简历 103 份,筛选后发出面试邀约 40 人,最终确认并面试约 30 人,进入终面 10 人,发放 offer 8 份,目前 2 人(一个腾讯的,一个阿里的,都是高级前端开发工程师)已回复并确认近期入职。 流量分析,来自拉勾网简历 10 份,来自 QQ 群 7 份,其余大多来自技术论坛和社区。

初创招人路漫漫却修远,简单分享下与大家共勉。

总是会这样的。。 
话说,你从来不说话,突然说话了,别人的确不知道该和你说什么。。因为大家都不了解你的情况和性格了 

高个屁,已经很低了。
java 目前是应用领域比较广泛,第三方包完整,教材资料众多,标准统一的平台了,这还叫成本高,你让其他语言的小伙伴怎么想。

我来给你算算:
Java SE 8.才2672个类,1121个接口,一共217个package。
来我们做减法。
awt和 swing 以及org开头的包不用看。那还剩多少?

我跟你点一下常用的标准package。
1. java.io (输入输出)

2. java.lang (基本类型的对象,线程,以及注解反射等)

http://3.java.net 和 java.nio (java 网络部分和nio 读写)

4.java 8 新增的 java.time (日历和时间)

5.使用最多的java.util (分别涉及,常用数据结构,concurrent并发,锁,日志接口)

6.剩下就是一个 java.sql 的数据库操作,和javax.security 这类的常用加解密, xml操作(一般用第三方的)

好了,上面是官方标准库。你要说有多少门语言的标准库能比JAVA的更全。该做的事情都已经帮你弄好了,你还有什么需求?

来,我和你清点一下常用第三方库。

1.log 相关,log4j slf4j 之类的接口,一个下午可以搞定怎么使用,从此你不用考虑日志问题了,不管是远程的,本地地,格式怪异的。

2.网络相关,netty,这个就是nio的高级封装,学会怎么使用也就一天。

3.java.util 的补充包,google的guava 。lang 补充包 apache common lang,jodd(可选)。数据结构你几乎不用任何考虑,lang的扩充补全了标准的不足。

4.web 开发,springMVC spring mybatis(hibernate) ,三大件,这个我就不说了,看文档看文档。与之配合的是javaEE 标准库。

5.常用杂碎的各种包,json 格式包,数据库连接池,disruptor(从此生产者消费者模型,妈妈再也不用担心我乱写了),常用内存缓存工具 EhCache。时间调度 Quartz。

6.apache 项目组下还有一大堆其他的组件。


清点完了第三方库,我们来看看JAVA关于标准的一些情况

上链接:The Java Community Process(SM) Program

看看这些标准,简直像一个碎嘴的妈,要把你照顾到家的节奏。这种统一的标准,省了多少力,学起来方便,重复造轮子也给了你说明书。


你倒是说说成本高在哪里,还有没有什么其他语言的成本更低的?

这才学了半年,程序猿什么时候给你这种门槛非常低的错觉了?

九、qq邮箱 (看起来随意,发件人昵称不舒服,带有太多个人生活到公司不专业

  • 关于简历
从2005年开始,我个人一直是Gmail的用户,找工作相关的事情我也一直是用的Gmail收发邮件,简历的附件我一般会保存为PDF再发过去(为了避免被猎头修改),附件的命名一般是:庄表伟简历2013.pdf(这样有助于对方保存,或者在今后查找邮件和附件)。

当然,简历的内容,比简历的命名、所使用的邮箱,更加重要。
当然,比简历更加重要的,是面试时的充分交流。
当然,比面试更加重要的,是一个人的真才实学。
当然,比能力更加重要的,是真的获得这份工作以后,是否能够努力做好。
所以,我其实很怀疑,换一个邮箱发简历,对于改善一个人的职业生涯,会有多大帮助。


另一个看法,用工作的邮箱应聘求职的,是个求职者,不带有太多个人生活进入公司。 用QQ邮箱的,许多都是工作和生活融为QQ里,你或许可以看到他在公司的喜怒哀乐和成长。

平时QQ邮箱算是主力邮箱了,但需要发稍微正式的邮件的时候都会换成gmail或者其他邮箱。因为qq.com看起来就有些随意。


非QQ邮箱接收QQ邮箱发过来的附件 → 跳转到QQ中转站 → 需要QQ帐号登录下载 → 碰到跳服务器繁忙什么的 → 钛合金F5 。今年碰到过两次这样的,工作累到不想动还被强迫这种闹心事儿,不觉得有什么方便的


晚上打开微博就见此人对使用QQ邮箱求职者的评价,但是有的人认为,QQ邮箱的用户体验真的是做的极佳,国内甚至国外有哪家在收发邮件和一些细节上能比过QQ邮箱的?

仅仅因为概率统计上,QQ邮箱用户邮件撰写格式不规范的比例较高,就拒绝应聘使用QQ邮箱的应聘者,这样的企业行为是否合适?


先上个图再说。

回答问题的人里面,有多少是在创业公司从事招聘工作呢?

作为一个互联网行业创业公司的创始人,在过去的1年半时间里,我有一半左右的工作时间是用在招聘上的。对于我们这样一个团队来说,招到一个不合适的人,对公司的影响简直是灾难性的。

想象一下竞争对手团队里面,都是受过良好教育,有着优秀职业经验,情商智商双高的优秀人才,再看看你邮箱里的这些连名字都没搞清楚的邮件,你会有面试的兴趣吗?


PS: 我使用的是Gmail邮箱搜索,关键字:

应聘 from: *@qq.com

事实上,如果把“应聘”两个字从关键字里去掉,可以看到更多奇葩的邮件。这些邮件在我邮箱中,永远都是unread状态。

也许这些邮箱中我会错过一些不错的人,但是与仔细从沙子中寻找可能存在的金子相比,我更愿意在金沙中筛选金疙瘩。


【修改一下,才发现很多人无非是在说骆同学用语粗鲁态度蛮横云云,似乎是微博上吵架吵到知乎来了。那,还,有,人,关,心,问,题,本,身,吗?我还以为知乎是严肃的问答社区呢。】


补充:
不出意料评论里面被喷了。那就本着治病救人的人道主义精神,再补充几句:
1. 也许你们说的在逻辑上都对(用QQ邮箱的也有天才啊,共产党员也有好人啊),可是都没用。正确但是没用的话,就是垃圾。一天到晚说政治正确但是没有任何意义的话,对这个世界没有任何帮助。地球是靠“知行合一”的实干家推起来的。

2. 这个世界没有所谓绝对的公平。当你因为没有当局长的爹而在公务员考试中被落榜;当你因为没有穿正装被客户拒之门外;当你因为邮件没有按照投资人指定的标题而把精心准备的BP丢到垃圾箱;当你因为几个装订问题而被招标方把熬了一周通宵赶出来的标书当面扔进垃圾桶;当你发现跟你面试时表现差不多但是仅仅因为长得漂亮的同学淘汰你拿到offer;当你去美领馆面签时仅仅因为签证官昨晚的性生活不和谐而被reject;当马修·埃蒙斯最后一枪竟然打出4.4环……你会发现,仅仅是注意一下邮箱迎合一下招聘者的口味是多么fair不过的事情。

3. loser之所以为loser,不是没有原因的。这个问题跟问“漂亮姑娘因为我没钱就拒绝了我,这样合理吗”在本质上是一个道理。你可以举一万个逻辑的理性的高雅的理由证明这个不合理。但是so 他妈 what? 女神会跟你走吗?早看清楚了的早就去想办法挣钱搞定女神了,只留下loser在风中纠结琢磨:为什么我说的逻辑上都对,但是还是没有妹子?

Welcome to the real world! It sucks. You're gonna love it!


八、引导孩子学习编程

我是一个普通的java工程师,他母亲是一个普通的大学计算机讲师。

孩子6岁开始在我的笔记本上用debug敲简单的汇编命令,起初只是简单的rd,t,但他对得到的结果有异常的敏感,比如他会去想为什么ax的值是0,或者为什么不是0,以及怎么变成0。
通过半年左右的学习,已经能用notepad++和masm完成不算简单的汇编程序,现在他对编程的兴趣越发强大,C几乎是完全自学的,最近还学会了 C 和 visual c++(.net),且娴熟运用mfc,stl,atl,他母亲只给了一点点引导和提示,这样的孩子属于神童吗?该怎么引导和教育?

现在最大的问题是,孩子对数学没有足够的兴趣,对数学,算法的兴趣达不到编程的百分之一,该怎么引导孩子形成算法的基本思维?


从你的描述来看,你不需要操心他对算法不敏感。
当他在程序中学到一定瓶颈,必然会开始自发学习算法

极致的程序需要的不仅是技术的熟知,更是对文学艺术和美的追求。
要做的引导,就是学习更多方面的学科,历史,英语,中文
像一个正常的孩子一样学习丰富的多方面的知识。
特别是不要自傲,被夸大的孩子很容易陷入自我满足和傲慢,这对一生的性格都有影响


尽早引导到非商业平台上,微软的平台太封闭且商业,做多了意思不大;
如果真正喜欢编程,应该会对GNU,开源运动,自由软件运动,Linux背后的精神内涵有认同感。
而且开源界的好东西太多了,可学的,有趣的东西数不胜数。
我其实和lz的娃的经历差不多,很小的时候接触编程,然后沉迷其中,同样一开始接触的也是m$平台的东西,直到高中接触到了*nix和开源运动,相见恨晚;十分后悔没有早点接触,所以如果lz的娃大一点以后,希望能引导到*nix平台上,相信如果真的喜欢编程,应该会在这边能找到很多志同道合的朋友。
希望10年后,能再多一个hacker


七、开源

Apple的开源不太了解,我在这里试图比较一下Google和Facebook。资料大部分来源于网络,欢迎补充。
首先看看自身开源的项目,数量太多只列举比较有影响力的:
Google的开源项目里面,包括操作系统 (Android,基于Linux),浏览器(Chromium,之前基于Webkit现在fork为Blink),编程语言(Go, Dart),JavaScript VM(V8),代码审查工具(Gerrit),虚拟机/集群管理工具(Ganeti,lmctfy),数据库(LevelDB),OCR和条形码(Tesseract, ZXing),视频编码(WebM),前端框架和工具(Angular, Polymer, Closure, GWT)...
Facebook的开源项目有代码审核/重构工具(Phabricator, codemod),PHP语言VM和大量的PHP相关工具(HipHop, 等等...),Python web框架(Tornado), 前端框架(React),日志管理(Scribe),Linux缓存模块(flashcache),rpc
胶水语言(Thrift)。
从范畴来看,Facebook主要集中在服务器这方面,而Google涉及的范围要广得多,综合影响力也更大
然后看看对外开源项目的贡献:
Facebook对Apache的很多开源项目有贡献,包括Cassandra, Hive, Hadoop 和 Hbase。其他贡献的项目包括memcached,MySQL和Varnish。在数据这方面Google完全是自己的一套系统(见下文研究比较),所以在对这一类项目的贡献上Facebook更活跃一些。另一方面,Google自发布Chrome起一直是Webkit的主要贡献者,而在Webkit comitters名单里没有facebook的雇员;Linux内核贡献2013排名 Google爬升到第8,Facebook具体排名不清楚,但未进前10。
最后比较下对外发布的论文/研究成果: Google Research粗略统计有近千篇论文,Facebook Research总计不到100篇。可以说,Google Research产出了大数据研究的一些最重要的文献:BigTable, MapReduce, GFS, Spanner... Hadoop基本上就是在MapReduce和GFS的论文影响下诞生的。Facebook的研究文献,说实话我并不十分了解,但从数量和影响力上来说都远不如Google。另外值得一提的是Facebook牵头搞了Open Compute Project,旨在提供一整套开源的服务器硬件架构设计。
综合来说,我觉得还是Google的贡献更大一些。


六、生活方式  http://www.zhihu.com/question/22867204/answer/22944185

我的生活习惯和wangye差不多,每天早上10:30 - 11:00到达公司, 会和几个团队成员先sync一下各种事情的进展,很快很轻量. 然后想今天该写神马东西。基本上是从TODO list里捞有用的东西出来,作为一个主要写C++的工程师,人生很大的一段时间在编译链接,于是趁这些时间会浏览各种新闻和刷微薄...
12:00 吃免费的午饭,同时一边写代码。一直写到下午5点,中途偶尔会去1 on 1或者开会讨论,但是讨论的东西一定是技术问题和技术方案,不会有扯淡的东西。任何会议如果觉得打断你写程序的思路,都可以忽略,老板不会找茬

下午6点,吃免费的晚饭。
6点半,团队的sync meeting,总结下今天做的的事情,和短时间未来的计划,看看最新的产品数据(大概是明天或者未来一周)

7点,写程序,或者随便上网看看
8点半,回家
9点,开始写自己的一些项目,可能是开源项目,也可能是学一些新东西,也可能是陪老婆
11点半,睡前刷邮件
12点,看pocket中收藏的文章
12点30,睡觉

周六因为我家住得略远,而且高速特别堵车(G6),为了不把生命浪费在堵车上,偶尔会home office

内推邮箱: huang at wandoujia.com

请问豌豆对C++开发者有什么要求吗?

把google c++ codestyle guidelines每一条都看懂,并且知道这么做的原因;同时对智能指针, RAII等现代C++的概念都比较熟悉,如果能读过chromium的代码,并能熟悉chromium的消息和线程框架的话会有加分



五、跳槽原因

考虑了很久还是决定先匿名了.
本人经历介绍, 全国前5大学本科毕业, 应届入职广州网易游戏, 做过支持部门的程序, 游戏工作室程序, 朋友又有很多支持部门非技术职位. 对网易游戏的强烈感情才让我下决心写这一篇, 觉得不吐不快.

看了一下上面的答案很少是写网易游戏的, 就仔细说说网易游戏的情况吧. 涉及到一些内部的东西, 或许有人能猜出来我是谁, 会心一笑即可

离职以后还怀念的东西:

  1. 免费的三餐, 健身房, 理疗等等. 网易的食堂真心没话说, 虽然吃了4年没长胖反倒变轻了, 但是菜式非常丰富, 三荤N素, 西餐, 面点, 寿司, 汤, 杂粮, 酸奶, 水果全都有..
  2. 良好的人际关系. 大学刚刚毕业没有同学进到同一个公司, 又远离家乡, 所有的朋友几乎都来自公司的同事和技术社区, 我在这里找到的很多的好朋友, 有共同的技术信仰和爱好, 业余时间也常在一起娱乐
  3. 技术氛围浓厚. 公司定期举办技术沙龙, 基本上从前端到后端到web到运维, 各方面的技术都有, 所有的讲座都在网站上面有视频和Slide下载. 如果开发中遇到疑问, 问别的部门的同事, 对方也肯定会慷慨相助,

离职的原因, 最大的原因是觉得没有发展了. 没有发展可以从几个方面来说, 一是个人不能发展, 二是产品不能发展. 三是公司不能发展

一: 个人不能发展, 包括了技术发展, 和薪水职位的发展.

技术不能发展是我个人原因外加游戏公司的特殊环境造成的.
由于游戏开发其实就是一个不停实现策划玩法的过程, 在整个基础引擎成熟以后, 剩下的技能编写其实是一件挺枯燥和乏味的事情. 虽然从一进公司开始就被教育说, "不要以为只有做引擎才是有技术含量的, 写逻辑也是可以区分写得好和写的不好的, 也是有技术含量的". 是的, 写逻辑是可以区分好和不好. 但是这并不能否认这件事情的乏味性. 而要尝试去改变底层的东西, 能够让这个乏味的过程变得有趣的事情是几乎推动不起来的, 因为
  • 要改变底层, 必须保持原有玩法的兼容, 如果需要涉及到原有玩法的重写, 那么这件事情是几乎不可能办到的.
  • 游戏开发是一个劳动密集型过程, 策划的需求在不断的推进, 程序经常面临的问题是在"开发策划新需求"和"优化现有代码"之间权衡, 甚至和策划在这个问题上扯皮, 更何况去做一些耗时的底层改动.
  • 底层的改动往往要牵扯到策划, 比如新工具的开发之类的, 因此对于策划的培训, 包括策划的抵触情绪都会影响项目的进行.
  • 如果现有的产品很成功, 而你的改进具有未知的风险性, 怎样保证你的改动不会带来服务器的问题, 不会影响在线和营收. 况且, 对于公司来说, 你程序上面代码的改进, 说不定还不如增加一个收费道具对公司的营收来的有效和明显. 对于一个"短视"的公司来说, 这种事情是不会去推进的.
所以导致的结果就是, 公司越成功的产品, 使用的技术越是落后. 假设最新的产品使用的技术落后Web2-3年的话, 那么最成功的产品使用的技术就落后Web 5-8年.

薪水职位的发展
在我入职网易游戏的时候, 好像不存在技术级别晋升这一说, 某某某做了5年工资没涨一分的事情也经常听说. 后来确实制定了技术级别晋升的通道, 但是好像这个通道的最终评判标准是什么就讨论了好久.. 最后得出的结论就是, 技术评级的标准是, 这里我必须强调一下,你所在部门的营收.这个标准的制定, 表面上看起来是为了激励你去成长, 去好好的做产品, 但是从事实上来说, 这个标准不仅导致了支持部门和非盈利工作室的成员想要提升工资更难了, 而对成功产品, 开发中产品和支持部门所有成员带来的心理影响更是巨大的.
  • 支持部门的人会想: 反正我们不创造盈利, 职位晋升也很慢, 那为何要认真工作呢.每天混混就行了, 赶快给腾讯投个简历吧.
  • 非盈利工作室会想: 反正我技术做的再牛逼也升值慢, 那不如随便混混, 赶快找机会跳槽进盈利工作室吧.
  • 盈利工作室会想: 我升职升的好快啊, 用来交税的钱更多了.

"技术级别影响工资, 但是技术高低不决定技术级别.."

这个制度后来演化的结果就变成, 按照部门营收, 分配每次技术评级的名额..你这个月赚1亿, 给你50个名额, 你这个月赚1千万, 给你10个名额..于是乎, 每到技术评级的时候, 大家就开始平分, 上次你升过了, 这次给他升...

薪水职位另一方面就是, 大家都知道的, 应届生工资太高了.
当你想到, 你在公司里面, 没日没夜辛辛苦苦加班了三年, 升职升的还不算慢的, 工资只有人家应届生的一个零头的时候, 我想, 不管是谁都会在心底默默的问候一下的. 而且这个高不是某几个精英比你高, 是全部比你高, 是某几年全部的人, 比一到两年前的全部的人高. 这个时候就会生出一种错觉, 还不如晚生两年, 同样的职位, 工资就可以是4-5倍了.

我想说, 任何工资保密制度, 其实都只是掩耳盗铃而已. 想靠这个制度来保密工资, 让老员工不知道简直是异想天开, 而如果更加一厢情愿的想让某些混饭吃的老员工听到这个消息以后觉得不爽然后离职, 这简直已经犯了常识性错误了.

二, 产品不能发展

游戏产品的成功其实没有什么方法论, 世界观再好, 文案再好, 数值再好, 程序再牛. 游戏火不了就是火不了. 任何成功的产品和失败的产品, 从事后看都能分析出一堆的理由. 但是你让制作人带着原班人马再去做一款游戏就一定能保证成功吗? 我想说的是没有人敢保证.

三, 公司不能发展

在网易游戏这几年, 我是眼睁睁的看着网易从一个国内一流公司, 慢慢落到二流公司, 以后能不能保持三流公司都不知道了. 也许十年, 也许五年, 网易公司就不复存在了, 到时候我也许还会再写一篇文章来纪念他

公司的几大问题

1. 保守
也许是三石的性格导致的, 不见到确实的盈利模式就不会跟进. 导致网易游戏这几年错过了页游, 虽然大势未定但是基本上错过了手游. 现有的几款手游也基本就是模仿加换皮模式. 端游萎缩, 不知道以后的未来在什么方向.
在网易的时候经常听到人吐槽说, 当年某某平台, 要花100万卖给三石的, 结果三石嫌贵不买, 然后现在估计每个月在平台上面花的钱就不知道几百万了.
渠道为王, 问题是网易手中没有任何渠道. 导致拉入任何玩家的成本是腾讯的5倍以上, 家底再厚也经不住这样浪费啊.

2. 管理
这是大公司的通病, 派系斗争, 任人唯亲, 中层权力过大无人监管. 只要有人罩着, 做的再烂也不会受罚, 升职也快, 我确实知道有人在公司每日所做的事情就是排挤对手, 压榨下级和讨好上司.
这些东西都是管理层的问题, 好在, 在网易游戏, 中下层的关系还是很融洽的.
但是做决定的是中上层, 掌握公司和产品命运的是中上层.

3. 独立核算
这可以算是一种原罪了吧. 就是每个工作室独立核算, 根据营收按比例分红, 一部分给公司, 一部分自己发. 这样只要游戏做得好, 工资就是用来交税的.
这个制度的确是有他的优越性, 就是在网易游戏创办的初期, 没人愿意做游戏, 这个时候这样诱人的制度就像家庭联产承包责任制一样, 解放思想, 于是, 游戏火了以后诞生了大批的百万富翁. 对于后来的员工而言, 就有足够的精神力量支持去做好游戏. 因为一旦成功, 就是暴富的开始.
但是任何制度都是有两面性的. 独立核算带来的结果有几个.
  1. 支持部门和非盈利部门, 包括新游戏工作室, 没有任何话语权. 从游戏的推广周期安排, 推广资源的分配, 到技术级别提升, 甚至包括这些部门的奖金, 弱势部门被强势部门全方位挤压, 因为所有支持部门的KPI是游戏工作室评定的, 制定技术级别晋升规则的管理人员是从盈利部门出来的, 因此屁股决定脑袋, 自然会制定偏向自己部门的规则. 但是, 公司的未来是靠新游戏的, 不是靠已经走入衰退期的老游戏. 如果没人愿意去做尝试新游戏, 愿意去做新游戏的人, 享受的待遇 (新工作室盈利前无奖金), 和给予的资源又太少, 所有人, 包括新进公司的新人, 想的都是想办法进最赚钱的部门去养老, 而不是去创造一个新的牛X的游戏, 我是看不到这个公司有任何的发展前途.
  2. 资源浪费. 从我进入网易开始, 就很少有见到有整个公司统一的平台化的产品. 连登录这种最基本的应用都有好几种方式. 更别说任务管理了.. 连一个部门下面的各个项目组都用的不一样, 你用Trac, 我用Redmine, 他用Bugzilla.. 为什么没有统一的平台呢? 盈利工作室的人忙着炒股票开网店, 没空做这个. 支持部门的人觉得反正做了我也升不了职, 不做了. 其他部门的人做了, 要给游戏工作室用. 游戏工作室问: "我们用你这个要分钱给你吗?", 答: "要的". 然后游戏部下命令, 所有工作室禁止使用这个产品, 每个工作室自己开发一个一模一样的.. 在我离职前终于有了统一的任务平台了, 但是这个东西不是应该早几年就做的吗?
  3. 最大的问题, 在于一旦游戏成功, 就可以一直吃老本, 不用考虑发展, 只要考虑维持就可以了. 谁都不会做损害自己利益的事情. 如果遇到公司的未来和自己眼前利益冲突, 我想, 对于绝大部分人来说, 肯定是会选择自己眼前利益的. <<浪潮之巅>>里面写了很多大公司, 包括诺基亚, 包括摩托罗拉, 都有这样的问题. 盈利部门在衰退, 新浪潮在涌起, 如何选择? 至少到目前, 我觉得网易一定会步他们的后尘.


很多人可能会评论说, 你是吃不着葡萄说葡萄酸, 有人说, 你是不在其位, 你在管理层的位置你也没有办法.

其实, 我只是为网易游戏感到痛心而已, 我是大学时候看着云风的书做梦都想进网易游戏的. 但是进入以后这几年看他变成现在这个样子, 只能说哀其不幸, 怒其不争吧.

希望网易游戏能够狠狠打我脸, 赢来第二春.


1. 个人发展受阻,一直想承担更大的责任,努力coding和分享,无奈boss其实并不很清楚手下每个人的具体贡献。努力过后年终评定和不努力似乎没什么差别。大公司似乎都这样,一般得看整个团队的产品KPI完成情况,对具体某一个人的努力和回报并不能完全做到绝对公平。

2. 新人质量有所下降,不少牛逼的老员工离职,还是想和优秀的队友一起工作,所以选择了和以前同事一起创业。

离职后以上2点都解决了,唯一麻烦的就是创业太辛苦了一点,另外就是钱其实拿得相对少了一些。在新公司我主要收获的是快速的成长,包括技术上的iOS开发能力和非技术上的(例如自我时间管理,团队高效协作等等),我写过一篇文章专门总结自己在新公司的收获:写在创业一周年

网易有道还是一个非常好的公司,技术氛围非常好,对员工的关怀也做得很好,在里面的2年时间的工作还是很开心的。大公司不可能完全给到每一个人期望的机会,这也是我能理解的,所以说只能说遗憾了。

离职后的年末,还收到网易给我寄来的礼物,感谢我曾经给公司做的贡献。而我身边大部分离职的网易人回想起网易的那段工作经历,都是心存感激的。


本来离开网易打算自由职业的, 某次来贵荚蹭饭后和 junyu 聊天, 发现当时几个内部系统是他写的, 同时 code review 了一下, 发现竟然还写得不错. 同时当时贵荚有个叫hacker的职位, 简直深得我心. taste 决定一切, 贵荚在国内这样恶劣的互联网环境下保持着难得的品味坚持着正确的三观, 同时还活得不错.
果断加入;


2011年6月初,收到 junyu 老师的邮件,邀请我去 lead 豌豆荚这边的一条新产品线。因为当时我正在腾讯做一个新产品,与腾讯应用中心其他的产品相对独立,而且很受 leader 的关注,所以其实还是做得很开心的,便拒绝了这个邀请。但当晚 junyu回的邮件对我震动很大,也是最终促使我下定决心来北京的原因。我摘抄一些内容如下:

我觉得我可能更多会考虑领域的选择问题,例如从一个最粗糙的划分来说,你是更喜欢和 business 打交道,还是和终端用户打交道。我觉得对于这点挺多人都有明确的偏好的,我自己的乐趣毫无疑问是和用户打交道,让自己的产品能影响用户的日常生活,这是我觉得开心的事情。其它的领域,可能没有那么大的开心。
当然我觉得按我的性格也是会有始有终的,何况我觉得在腾讯独立负责一个项目的机会也挺难得。但豌豆荚的机会虽然是一直会有,但做为一个创业团队,或者说整个移动互联网创业最黄金的时间窗口是有限的,我觉得最 excited 的也是这种基本从零开始创造新事物,而不是追随别人的感觉。即使不谈钱,对个人履历重要的可能是经验值,这点看将来想走什么道路,是在大公司的体系下做事情的能力,还是自己做一番事业的能力。
创业公司 v.s. 大公司的话题我们以前在 Talk 上聊过不少… 总的来说,我在 Google 也做过产品设计,自己也做了一段时间,觉得几个区别:
1. 权责。大公司怕犯错,所有事情要层层决策,很多想法展开不了;创业团队可以更自主更施展自己的想法,责任也大。
2. 速度。我在 Google 做一个事情,最快要面世恐怕也要两三个月,创业团队是以天计算的。周期短,迭代速度快,修正自己的认识的频率就高,就提高得快
3. 影响力。当然 Google 会和我说,你做的设计能影响数以亿计的用户… 问题是都是他们注意不到的影响。在创业团队整个事情是自己做的,影响力足够大。Mark 有个算法,就是拿用户数除以员工数得出每个员工的影响因子。挺有意思的。
4. 团队。创业团队可以挑自己喜欢的人,做事情更有默契。不用和傻瓜同事共事,不用把很多时间花在所谓的协调、协作上
基本上,junyu说中了我那之前所有的痛点。各人的追求不同,我感觉对自己未来的要求,在腾讯是得不到的。就算继续做下去,也许两三年间能在成都这边作个小领导,但对产品设计能力方面的提升肯定相当有限,大多精力被花在公司政治和内耗上面去了。
在这样的环境成长起来的,不是对产品和业务的把控能力,而是在腾讯这个大平台下做事的能力。你能学会如何在“腾讯”协调资源、如何在“腾讯”处理领导预期、如何在“腾讯”做产品。但这些东西一旦拿出去,真的啥也不是。
决定要走后,总监也拿 title 和薪酬进行过挽留,但如上所说,title 这些都是暂时的、局限性的。在腾讯内部挂个 title 又怎样呢?没有实际能力出去一样做不成事,我不想在这个年龄,就困死于此。
人生在不同的时间段所考虑的事不同,就如副总监在留我时所说的:他以前也不喜欢公司政治,但现在他觉得把握住这些还是有帮助。
我的回答是,并不是觉得公司政治竟组就完全不应该存在,毕织大了,难免。我只是不想在现在这个时间段,过早地把生命耗费于此。如果等我到了副总监的年龄和位置,或许我也会觉得稳定一下,把玩下公司政治是不错的选择。
不过,在25岁这个时间点上,我唯一在乎的只是怎么提升内功。想明白这点后,我已然决绝。

四、亚马逊AWS


2013年,亚马逊AWS的营收应该在30亿美元左右。

国内情况看:
2012年,整个中国IaaS的营收大概在5个亿人民币左右。
2013年,整个中国IaaS的营收大概也才10-15个亿人民币左右。


国内的IaaS产业,差不多是2013年下半年才真正火起来的。
微软的Azure就是2013年6月份入华的,当然,国内IaaS的火热跟它的入华基本上没什么关系。
但是微软的入华对于Amazon来说,很有关系,这很影响到他们在全球市场布局的节奏。虽然相隔了6个月,但用“紧跟“两个字并不为过。

那么,AWS的竞争力如何?这里援引季昕华的一段采访:

季昕华:做公有云有三大门槛:资金门槛,运营门槛,以及技术门槛。比如Amazon,是资金、技术、运营能力三者皆有,所以做起来了。微软的Azure,有资金、有技术,但是因为运营偏弱,所以一直动静不大。

在三个门槛中,技术和运营更为关键,因为技术和运营需要长期的积累,而且是大型云平台实战的经验积累,在目前的国内外环境都不缺资金,大批的风投手中拿着大量的资金在找好的云计算公司。相反有资金也不一定做得好,为什么这么说?因为当你资源充足的时候,你可能会想通过资金解决问题,而不是靠技术来解决,比如用比较昂贵的存储设备等等,而这其实不是做云的正确道路,这时候你那充足的资源反而成了制约你长期发展的瓶颈。

对于收支平衡这块,目前我们还不是很在意。我把云计算的发展分为三个阶段:

  1. 替换服务器和IDC的阶段。这是一个用批发+虚拟化模式取代零售模式的阶段,利润相对不高。
  2. 取代软件公司和软件渠道阶段。当云计算成为软件渠道中心的时候,云计算公司自研和代理的软件利润就比较高了。
  3. 取代集成公司、咨询公司的阶段。在这个阶段,以前做集成、咨询的公司要么转而做云计算服务的集成和咨询,要么就被淘汰。

现在的美国云计算市场已经在第二个阶段,市场特征已经相当明显。比如AWS有了RDS服务之后,很多企业就不再会采购Oracle或者IBM的数据库了,因为RDS已经足够成熟。

中国的云计算市场现在还处在第一个阶段,当然我们UCloud也是,这个阶段主要靠规模化取胜,通过规模化来降低成本,提高利润率,更大的利润是在进入第二阶段之 后。

那么,AWS的竞争力薄弱的地方可能会体现在哪儿?这里援引华琨在创业邦年会上的一个访谈:
华琨说,当用户的需求没有被很好的满足、用户在抱怨的时候,这其实就是创业者的机会,也是创新的契机。从服务层面来说,很多巨头的战略是大而全,一上来就需要几万个企业和客户来支撑他们的业务,但是UCloud的做法却不一样,UCloud会把用户每天遇到的问题去深入地沟通好,这种服务方式,可能每天变化不会很大,但持续变化下去的话,核心竞争力就会增强。而从技术层面、产品层面讲也是一样的,UCloud会根据用户的需求,不断地推出一些小的点,而这些点,国外的很多公司并没有做到,因为他们并不了解中国本土的企业需要什么,而这些是UCloud每天与用户深入地沟通、交流观察得出来的切身感受。

对现有格局有何影响?

上面有一些回答已经说得不错了。
IaaS在国内,更加倾向于是一种”企业级服务“,它与”iphone“这种大众消费品不同。从我的个人感觉来说,可能要等到2014年下半年,AWS才能在市场上开始有一定的实质性影响。


三、Full Stack Engineer http://www.zhihu.com/question/22420900/answer/21365955

做这样一个简单的app:
一个天气应用,干净清爽的界面,天气信息一目了然。它不仅可以精确预测未来10天的天气,还可以显示某地的历史天气信息。它具有自定义提醒功能,支持web版本,iOS版,Android版。

为什么想要做这样一个App?因为你喜欢旅行,但没找到一个天气app可以提供你下个月或者某个特定月份的天气信息;因为你懒你没有每天看天气预报的习惯,你想要在第二天温度达到30度以上或者温差有+/-7度的时候,获得温馨提示;因为你要成为一个Full Stack Engineer,你必须不断训练每个stack的能力。


## Web版
你决定用mysql来存储用户数据,用nosql存储历史天气数据。你用Redis作为cache,缓存一些最常请求的天气数据。你用Python写后台,功能简单,后台不复杂,用户注册登录,抓取返回某城市的天气数据,某地的历史天气数据,很快便搞定。

后台开发并测试好了,接下来是web前端。你十分清楚一个好的UI设计对一个app的重要性,你也明白UI的设计不只是为了美观,更重要的是提高信息的可读性和程序的可用性。幸好你平日的积累这次派上用场了。你把之前保存下来的上百个优秀的UI设计作品拿来研究,你从书架上拿出Norman的那本经典 - The Design of everyday thigns 重新细读。最终你用白纸黑笔敲定了第一个版本的UI,简洁直观,没有任何多余的设计,所有元素的排列间距 大小颜色都恰到好处。你相信即使天气不好,但用户只要使用这个app都会有着愉悦的心情。

那么开始写前端吧。啊,别急,都忘了还有icon和logo,可是不会PS不会AI怎么办呢,学吧。你平日喜欢结交不同领域的朋友,正好几周前在一个活动上你认识一位朋友做设计的。她花一个下午的时间教你基本的PS和AI的使用,并对你的UI设计给出了一些意见。你请她吃了顿晚饭表示感谢,然后立即回家根据她的一些建议重新调整了UI,这次你在PS里把UI画了出来,icons和logo也顺道一起做了。

接下来的一周,你学习HTML,CSS,以及javascript,并漂亮地把前端搞定。


## 发布App
在朋友圈发了个状态,找人帮你做Beta测试。他们都首先问你是什么app,一开始你简单回答一个天气的app。但你发现,这不能提起他们的兴趣。你觉得你需要用语言,用故事包装一下。不光是作为别人「是什么app」提问的回答,也是成为Full stack Engineer道路上的一个重要技能。

你去看了所有你喜欢的产品的主页,从他们的文案上获得一些灵感启发;你读了经典的On Writing well,发现好的文案,好的设计,其实和好的代码很相似,都是重在交流,如何让他人毫不费劲地明白你要表达的内容。你的故事要吸引人,你的产品介绍要在1分钟内解释清楚,并确保你的父母可以毫无压力听明白。

一切就绪,产品上线了。反响不错,用户持续增加。很多用户希望有移动版本,于是你立即投入到iOS版本的开发上。


## iOS版 及 后台优化
你花一周不到时间学习了基本的语法和工具使用便投入到app的开发中。你知道learn by doing 是最好也是最快的。由于之前学习了设计的基础,UI,icons很快搞定,不久iOS版本便发布了。iOS的发布带来了更多的用户增长,后台服务器的压力颇大,你知道是时候优化后台了。

你在AWS上多开了2台服务器,并写了一个script来自动化部署过程。
你改用uWSGi协议,用uwsgi作为application server
你使用Nginx来做并发,负载均衡...

......
......


## 成立公司
用户持续增长,每天你都会收到十几二十封用户的邮件。你很感激这些愿意花时间给你写邮件的用户,你相信他们是你最重要的用户,是潜在的付费用户。如果你把他们像上帝一样对待,他们同样也会把你看作是上帝。所以除了睡觉时间的发来的邮件,每一封邮件,你都会在2小时内给予回复。

果然这样的付出是收获巨大的,他们不仅惊讶且非常感谢你的快速回复,他们会在app store里给你★★★★★的评价,他们在社交网站上分享你的app,他们甚至会主动提出捐款给你。

你从快速的用户增长中嗅到了商机,你开始思考如何赚钱。广告你是坚决不能允许的,你认为再精确的广告也会影响用户体验。你设计了2个不同的付费方案,你打算用A/B测试看哪个方案更好。你分别给200个用户发去邀请尝试付费的邮件,邮件内容你精心打磨过,并在最后写上:CEO & Founder. 通过分析2种方案的用户行为,你决定将使用第一种方案。

接下来,你相信差不多是时候成立个公司了。为了省时间,你花2000块钱找了个园区挂靠并帮你注册公司。公司的名字让你头疼了很久,你不想只是简单的用这个app的名字作为公司名字,你知道公司将来还会做出其他优秀的产品。你希望这个名字简单易记,同时其含义也是你公司文化的象征。

公司注册下来了,但银行那边得自己跑。你联系了一些媒体编辑,邀请他们来试用你的产品;你重新设计了产品主页,并开始写产品的blog;你在各大社交网络都给app注册了账号,即做社区客服也为宣传... 这些事大大压缩你写代码的时间。以往你都是以代码量作为衡量自己当天工作效率的指标,所以这些天你总感觉没做啥工作。

这样的发展早已超过你的预期,这个app从一个side project几乎变成了你生活的全部。你跟你女朋友半个月才出去约会一次,为了省时间你总是约她在酒店房间见面,她抱怨不断;你1个月没跟朋友出去喝酒了;你2个月都没锻炼过身体... 你意识到, YOU CAN NOT DO THIS ALONE,你需要帮手,你需要找人一起把这个做下去。

但你不是要成为Full Stack Engineer么?你现在是了么?


## Full Stack Engineer
设计,后台开发,前端开发,移动开发,运营维护,PS,文案... 好像都会了,这算Full Stack Engineer了么?

不,这只是踏上成为Full Stack Engineer的第一步。你知道目前只是每个stack都懂一点,离senior或者expert还差得远,而要每个stack都做到极致,需要大量的时间和精力。精力有限,产品开发紧迫,力不从心啊,这条道路也太孤独,因为你不需要与任何人进行协作。难道要把一些stack的任务交给别人做么?这样算是放弃成为Full Stack Engineer么?

不!这不是。
什么是Engineer?「Engineers are versatile minds who create links between science, technology, and society」
Engineer的本质工作是设计,开发出应用于大众的产品。

一个真正的Full Stack Engineer,他从生活中发现问题,洞察需求,他设计解决方案,并开发出初始版本的产品。为了达到目标,他愿意去学习任何领域的技能和知识。同时他不追求一个人完成所有工作,如果有人可以比他在某方面做得更出色,便会十分热情的邀请他们加入。


最终他的职位也许不再是Engineer,他不再设计UI,不再写代码... 他的工作不再是design and building an app or product,因为他有更大更重要的任务要做 - design and building a team or a company which builds great products.

而这时,社会给了他们另一个称呼 - 创业者。尽管众人已忘记他们engineer的身份,但在他们骨子里,内心深处,自己始终都是一个engineer。当他们需要从头再来时,他们毫不犹豫从设计开发产品做起。Nikola Tesla,Ferdinand Porsche,Henry Ford,Jack Dorsey,Mark zuckerberg,Elon Musk... 细数那些改变了或正改变世界的创业者,他们大多数是engineer背景,热衷于设计创造。他们学习技能和知识,不是为了成为某个领域的专家;而是因为那些 是完成自己目标所需要的。


以上,为我认可的 Full Stack Engineer

既然原文是说,Facebook 工程师说 Facebook 只招 full stack engineer,那我就来说说 Facebook engineer 都是怎样的人啦。

我觉得任何一方面的具体经验都不重要,重要的是思维方式和学习能力。首先说思维方式,那就是不为自己设限,不会想着自己是前端工程师,所以后端的东西我就一点也不碰。Facebook 的工程师,级别越高就需要保持越大的影响力。如何创造更大的影响力,就是寻找当前杠杆效应最明显的问题来解决。有些问题你解决了的话,投入进去的时间每小时能换回来一千美元;有些问题你解决了的话,投入进去的时间每小时能换回来一百万美元。然而哪些问题更值得解决,这是动态的,往往还存在衰减效应。如果现在性能瓶颈在后端,你做了一个季度两个季度优化后,瓶颈就已经不在后端了,你再优化下去衰减效应就会越来越明显。等瓶颈变成前端了,你是不是就说因为你不懂,所以不愿意碰?那就相当于寄望于公司有个前端很懂性能优化的人来解决,但如果公司没有这样的人那就没有人来解决了。

Facebook 的众多海报当中,有一张写的是「任何一个 Facebook 的问题,都不是别人的问题」。有问题,你就需要去评估是否值得解决。如果值得解决,你就应该着手去解决,而不是假设公司内会有另外一个人比你更合适解决这个问题。这时候很可能你就需要去做你从来没有做过的事情,需要学习你原本可能完全不懂的技术。如果你是个专门做数学模型的博士,加入 Facebook 原本是打算做搜索结果优化的,结果发现这不是最急需解决的问题,JavaScript 性能才是最需要解决的问题,你怎么办?如果你以为 Facebook 需要的是你做数学模型的经验,那你就错了。Facebook 需要的是你完成博士学位的学习能力。你从来没做过 JavaScript 并且觉得 JavaScript 很恶心?正确的做法是立即在网上买几本 JavaScript 入门的书连夜看完,然后着手分析性能瓶颈并且解决。在你完成手动优化后,你还可以思考一下能否把这做成自动化,例如说在代码提交时分析 JavaScript 语法树并且指出可能成为性能瓶颈的地方,又或者说从用户浏览器那里收集性能数据扔到 Hive 然后再从中分析产生瓶颈的特征。这些都可能涉及到一些你没有做过也没有学过的东西,但问题摆在那里你就需要去解决,而无论这要求你去钻研什么。这就是我所说的学习能力。

这是高级工程师和初级工程师的主要差距。尽管在高级到初级这一维度上,美国工程师和中国工程师是有重叠的,但美国的教育体系和行业传统使得美国应届生比一般中国工程师更偏向于高级那一端。美国学生的优势在于,他们的教育体系让他们习惯面对开放性问题。一家公司万千问题当中,此时此刻哪一个最值得解决?这不是中国工程师擅长的问题,因为实在是太开放了。中国教育让人擅长在给定条件下解决问题,太开放反而不知道从何入手。此外因为绝大多数文献都是英文的,所以要钻研什么对于能读懂英文的人来说都可以非常成体系的学习,这对于很多拒绝阅读英文的中国工程师来说很不利。拒绝阅读英文意味着永远只能接受别人的二手资料,对于很多概念的理解只能停留在技师的层面,而无法上升到工程师或者科学家的层面。


二、

现在,Google和豌豆荚的offer,你会选择哪一个?

1. 应届
2. 都是码农
3. 豌豆荚的移动搜索前景,在百度360之下,不是那么明朗
4. 豌豆荚现在200号人
5. 谷歌北京,谷歌Mountain View,豌豆荚,都可以讲讲
6. 待遇上,豌豆荚有一些期权,不是太多。更累一些。


王俊煜,豌豆荚 Co-founder

有 Google 的同学问我这是不是我们发的「软文」... 拜托,先不说良心,要是问这么一条问题就能帮我们招到更多的人,那豌豆荚早该关门了。知乎上聪明人虽多,犬儒倒还是主流,也许这样更显自己聪明吧。

人家应该只是在纠结,真心诚意上来求回答的吧,大家真心实意答才是。

我的答案当然不能算「客观」,所谓「屁股决定脑袋」——就好像当年我抱着去念书好还是去硅谷工作好的态度去请教开复,结果就到了创新工场孵化豌豆荚... 豌豆荚发出去的每个 offer,我都和 candidate 面谈过,里面也确实有不少人是拿了硅谷公司的 offer;坦白说,我自己对拿北京的空气和硅谷的空气竞争,也没有什么信心。不过,我自己做为既选过 Google、又选过豌豆荚的人,应该还是有点发言权的。

而则「最后一面」的很多内容,中文所谓「面试」,英文为「Interview」,「互相查看」也。我的目标也不是把人劝进豌豆荚,而是通过这次聊天让 candidate 和我对对方都有更深的了解。「到哪里工作」是个很重要的决定,「合适」最重要,把人忽悠了进来,人家觉得不合适做两周就想走,对双方也都是个损失;我还记得有个实习生离职前写了封邮件给所有人,「我了解作为创业者的艰辛,所以我才没有选择创业」。豌豆荚不适合每一个人,这里无意给人贴标签,但总结起来,大多是在事业、生活、野心... 这些点的权重上,各有不同。

就像 @Cat Chen 从豌豆荚去 Facebook 的时候,我不也高高兴兴帮忙做 reference check 么 (应该有吧?不记得了...)?大家能找到自己更 dream 的 working environment,何乐而不为呢。

我自己的背景,可以参见我自己这篇文章:《在北京大学元培学院 2013 届毕业典礼上的发言》。对,毕业的时候我去了 Google,然后又出来做了豌豆荚。Google 是我的 dream company,我从 03 年开始用 Google,一直到今天,整个 Google 的 Blog Network 几乎所有官方 blog 每篇我都会读,以至于我本科毕业的时候就给 Google 投了简历,没有给任何一家公司投简历。这样一家公司给我 offer,有什么可犹豫的?

当然要犹豫,我是物理专业的,正道应该去美国念 PhD。这个纠结的过程上面那篇文章里面有讲到,就不再重复了。回顾自己在 Google 的三年,如果回到 2007 年再重新选择一次,我还是会这么选择。当年的 Google 中国,就是家创业公司。Paul Graham 说 Startup = Growth,当年 Google 在中国业务发展速度远比人的招聘速度比成长速度要快,以至于我还在实习的时候就被生拉硬拽去做一整个大社区产品的设计师,虽然最后花了几年的时间仍然做得一塌糊涂,但得到的锻炼确实很大,在失败中得到的锻炼。而我自己又是非技术科班出身,这三年的时间在 Google 的工作经历,也完成了一个从「爱好者」到专业人员的转变,实在受益匪浅。

2009 年年底的时候也面临两个选择,是去 Mountain View (当时可能可以去 Gmail) 还是去念书,结果去找了趟开复,就变成创业了。开复有一句话特别简单,你要去 Mountain View 什么时候去都行 (事实证明也确实越来越容易,完全不是稀罕事了),要去念书更是,但赶上移动互联网的潮流,五年十年只有一次 (这句话放在今天也仍然成立,豌豆荚做为赶上这个潮流的为数不多的创业公司,在今天的基础下往下发展,想象力... 好了不自夸了,「不客观」)。这也是个特别简单、特别容易下定决心的 argument。

其实我创业还是去大公司是无所谓的,我内心到今天依然觉得如此,但我真的想有一个能专心做好产品、好设计的好环境。Mountain View 感觉满足我的要求,而如果在中国的话,没有哪家公司能满足我的要求,只能自己做。而我又想抓住中国的机会,做出让身边人都喜欢的、简单好用的产品。这样的选择题做下来,答案还是蛮显然的,那只能自己去做这样一个环境了。

四年过来,想想 Gmail 好像这四年也没有太多大的进步... 还是老话,Startup = Growth。又好比传说中 Eric Schmidt 当年给 Sheryl Sandberg 的建议:

If you’re offered a seat on a rocket ship, don’t ask what seat. Just get on.
当然,如果你考虑的点是空气会不会太稀薄、会不会很难受... 你确实不适合坐火箭,也没有机会。

话说回来,舆论环境是不利于我们创业公司招人的。感觉在中国,反而大家都对大公司蹂躏小公司的故事更兴奋一点是不是。我经常遇到人说我们不理性,太理想主义,但大多数情况下仔细辩论下来,不理性的其实是对方。比如说小公司不稳定...我们 2010 年是和搜搜抢应届生,2011 年是和人民搜索抢应届生,中间也有和有道搜索、人人游戏等等。现在呢?谁更不稳定?谁对事业更有长期的愿景?谁的发展更快?

所谓「Follow your heart」,是做选择的真理。我另外一位长辈稍微结构化一点,她说你凡事要问自己三个问题,「你是谁」「你要到哪里去」「你怎么去」,问完这三个问题,答案也就清楚了。

写批批踢的间隙上来敲几段,逻辑不是很清晰,请见谅。写完这段文字的目标,不是希望看到这段文字的人将来会选择豌豆荚,而是希望你的每一个选择都不后悔。


Cat Chen,前豌豆荚前端架构师


看你想学什么想认识谁,长远来说就是看你想在中国发展还是在美国发展。(不考虑 Google 中国,也不考虑在美国若干年后回中国那么长远的事情。)如果要挑的话,那就是挑 mentor 和挑 project。在不知道 mentor 和 project 的情况下,你的前途就是掷色子,你怎么挑最终还是讲运气,当然两家公司掷的色子不一样,所以概率分布不一样。

我先说掷色子的情况吧。绝大多数外人给建议 insightfulness 的极限,也就是好像 @敬涛 的答案那样子——加入 Google 有更高的概率被随即分配到不重要的项目上,加入豌豆荚至少有不错的概率能够通过期权赚一笔。纯粹从概率的角度上来说,这是对的。大公司更乐于分散投资,有更多的项目是实验性的,在方向看起来不太对的时候就会砍掉止损。大公司也更依赖于庞大的中层管理者,意味着如果你的汇报链上有一个不太好的经理或者总监的话,可能会因为他的抉择失误或抉择不能而影响你的项目。这种项目不可控的状况会导致你失去对项目和公司的归属感,这确实是大公司的劣势。豌豆荚不是不会砍项目,但这至少是个你可以跟@王俊煜 坐下来很理性地分析的事情,而不会因为某些中层开完会突然你的项目就不存在了。所以如果两家公司都不是特别在乎你,只是把你当一般员工来招的话,豌豆荚会好一些。

如果你不希望你的前途是掷色子,同时你确实有实力要求不要掷色子的话,你可以问两家公司到底能让谁来当你 mentor,能够给你做什么 project。如果两家公司都挺想要你的话,他们是会乐意跟你谈这些的,例如帮你约潜在的未来经理见面或者通话。你可以跟 Google 说「I really like Google, but I want to go to Mountain View and have a chat with my potential future manager and teammates in order to finalize my decision.」,如果你足够牛的话,他们会乐意满足你的。(据我所知 Facebook 对于 rockstar candidate 提出这类要求是会尽力满足的。)你甚至可以很直接地问你潜在的未来经理「Why do you think I will succeed in this company?」,如果他无法提供一个有说服力的答案,那你加入这家公司就是掷色子了。

如果双方都足够想要你,理论上 Google 肯定可以开出一个超出豌豆荚极限的 offer。豌豆荚给你的4 年的股权在 4 年后能否值超过 20 万美元?如果不能的话,Google 多给你一些股票是能在 level 3 合理的范围内 counter 的。(当然长远来说豌豆荚上市的增值能力无法估算。)豌豆荚无论让谁来做你 mentor,Google 都可以找一个在业界做了 20 年的教授来 counter。豌豆荚无论给什么项目你做,Google 都肯定可以找到一个影响力更大的项目来 counter。在「上不封顶」的前提下这个比较是没有意义的,所以关键还是看双方有多想要你。

有一些东西是类似于 deal breaker 那样子的,基本上如果你选了就最终决定了你的选择,让你几乎没有 n 者兼得的可能性:

1. 如果你长远来说想做产品给中国用户使用,你只能选豌豆荚。美国公司无论如何都不可能真的放开手去了解清楚中国用户需要什么然后满足他们。去 Google 对这个目标毫无帮助。
2. 如果你长远来说想做经理,并且不是为了满足权力的欲望,而是希望帮助更多工程师成长,你只能选择去美国 Google。在中国,你是学不会这种美国正统的管理学的。小公司可以说自己没有权力斗争,但随着管理中层的膨胀,总会引入管理思维非常中式的经理。
3. 我几乎找不到任何选择 Google 中国的理由,因为我完全不了解 Google 中国的现状,所以不知道他们能提供的优势是什么。
4. 如果你因为家庭原因必须留在中国的话,因为我已经排除了 Google 中国,所以选择豌豆荚。
5. 如果你很在乎空气质量和食品安全的话,那你只能选择美国了。

最后,如果你喜欢脑残粉多一些的话,你就去 Google 吧,你看看多少人(包括微薄分享转发)说不用想必须选 Google 就知道了。大多数人只知道大多数人适合什么,但你就是你,你不一定是大多数人,只有你自己能为自己做出合理的选择,当然也只有你自己对此负责任。


评论:

说实话,就lz提出的这两个对比。根本用不着什么狂热粉丝了,稍微有点社会阅历和工作经验的人都知道选哪个了。
看看下面那个豌豆荚的6条理由,真是让人笑掉大牙,贵公司的节操真是一文不值。


简单来说,就是君臣父子。中式的经理更加缺乏安全感,他们的目标是获得更多的权力,来服务于自己的个人目标,不这样做不行因为谁知道皇上会不会朝令夕改。基本上整个中国都是处于这种状态,所以 CEO 朝令夕改也不能完全怪他,政府在制订政策时也鼠目寸光。职业经理人里面不是没有这种缺乏安全感的,但做得好的人自然不缺安全感,以帮助下属成长为目标,相信下属的成功最终会让自己的事业变得成功。


我毕业后准备去hulu干一下,虽然几个学长签了google,感觉郁郁不得志,牛人太多是一方面,得不到足够的重视,组里面阿三又多,受排挤,大部分脑残粉一提google就赞,真不知道为什么,比狗家酷的公司多了去了,package又不是最好的,姐姐你觉得我把华人manager或者熟人manager,就是上升潜力做第一位,合不合理啊?感觉公司里抱团也挺严重的,一进去有个人亲自带应该能学到更多东西吧

还是找个真心想公司发展下属成长的经理吧。抱团的话,公司发展就会受阻。

为了充满美食的食堂,也会去谷歌吧..
正经的说,我自己就毕业去了一家【连期权都没有】的创业公司,而且比你拿到的OFFER差多了,可以说是个屌丝互联网公司吧,为了这个拒绝了一个比较成熟的互联网公司的OFFER。做这个选择是因为前者的岗位我觉得更有发展,更能锻炼人,后者的话发展不会太大。而且前者是部分负责人直接把我带过去的,当时觉得还是不错的。
后来必然是后悔了....不要以为去创业公司就一定会受到重视,就像不要以为嫁给穷小子他就一定会把你视若珍宝(楼主是男的,这个比喻可能不适合...)。你从一个成熟的大型公司出来能做的事情不是从一个创业团队中出来能做的时候一样的,就是钱也差得远了;如果你以后想要继续进修出国之类的,那GOOGLE就更适合了。


一、根据技术需求来学习,选择合适的项目 (amazon的AWS)

谢邀。

当我看到你写出“是什么——干什么”的时候,我就知道你迷茫的原因了——学习方法不对
去书店找跟Java相关的书,你能找到一堆!都把他们买回来通读一遍吗,显然不现实。即使你真的那样做了,你也发现你还是什么都干不了,而且过程无比痛苦和迷茫。
---------------------------------------------------------------------------------------------------------------------

有效的学习方法是怎样的呢?

伟大的林副统帅(致敬)曾经说过—— 学习毛主席著作要带著问题学,活学活用,学用结合,急用先学,立杆见影,在“用”字上狠下功夫
林副统帅英明!几十年前就给我们指出了学习IT技术的真谛。

有一个教育界流传已久的谬论——“如果要让学生喝下一杯水,老师首先要有一桶水”,其实不对,老师不一定需要有一桶水,甚至连一杯水都不需要,老师要做的是——把学生整的很饥渴,然后告诉他们哪里有水,他们会迅速奔向有水的地方把自己灌饱。

明白我要说什么了吗? 首先你得要有应用的需求,基于这个需求你会去找答案,找到一个答案、解决一个问题,你的学习就会变得非常有效,而且你学到的知识就是最实用的知识。

你之所以摸不着头脑,就是因为你根本没有产生学习某项技术的需求。

举几个栗子
很多很多年以前,我初二,想在屏幕上显示一个下拉菜单(用的是QBasic),为了多次执行一组操作,我不停地复制粘贴一段代码,旁边一个小学六年级的“大师”看了一眼说:“你为什么不用函数?”, “什么是函数?" 那个下午我学会了function这个伟大的东西,尼玛太爽了,再也不也复制粘贴了。我这辈子都记得这个玩意——函数是预定义的功能块,通过参数传入信息,通过返回值传回结果,在程序中使用函数实现代码复用,可以减少代码数量,提升代码可维护性...试想一下,如果一开始就读这段文字,你能知道函数是干啥用的吗?

另一个例子,很多学校的数据库课程是单设的,学生对于数据库是干嘛用的很难产生感性认识。比较理想的教学方式是他们有了一定的编程经验以后,在某个程序中产生了需要存储、查询数据的需求时再将数据库引入进来:从用户界面得到数据了,要插入数据库,就开始学"insert into...", 要删除数据,就开始学"delete from ...", 发现查询速度太慢了,咱建个索引,怕数据不符合要求,咱建个约束,要从多个表中提取数据,我们再开始学join....

小结:学习知识要先给自己一个应用目标,在应用中产生了问题,再根据问题去找答案,当答案积累多了以后,你的知识将慢慢形成体系,这种学习方法,称为归纳法

找答案的过程无疑是痛苦的,有人会说这种方式学的太慢,学的不扎实,有些面没有覆盖到。没关系,你有问题自己解决不了可以问老师,老师会让你少走弯路。
这样学习的好处在于:
1. 你可以通过观察问题是否解决了来检验你是否真正掌握了某项知识;
2. 这样的学习过程锻炼了你根据问题找解决方法的能力,是程序员最重要的能力之一。
3. 你学习到的知识,是最实用、最常用、最急用的知识。

---------------------------------------------------------------------------------------------------------------------

在补充Java学习路线问题之前先声明,参与最后一个Java项目距今已经8年了,此后一直沉迷在C#的温柔乡里,因此如果有对Java叙述不准确的地方,或者有偏见,请大神们随意批评、指教。


Java这货,以跨平台为核心卖点(有人说这是个笑话),基本上可以认定迄今为止,Java是除了C和C++之外运行环境最丰富的语言之一,这一点上C#还确实是差点。


Java的生态圈比较完整,从客户端(桌面和移动端),到服务器,到中间件,都可以用Java开发。

1. 客户端方面

在客户端,Java可以用来开发桌面应用和移动应用(比如安卓), 早年非安卓的智能机也可以运行Java程序。

2. 服务器应用

服务端是Java的长项,Java可以运行在Windows, Unixlike服务器上,这一点C#望尘莫及,虽说C#也可以在Linux环境下运行,但毕竟还没有形成主流。C#的程序还是在Windows下运行最放心。



Java的学习路径

第一个阶段,作为初学者,通常刚开始接触Java都是学习"J2SE",主要包括的内容包括:

1. Java开发环境的设置

2. Java程序的编译和运行方法

3. Java的基本概念(类、数据类型、变量、常量、表达式、函数、循环、分支、常用的类库......)

4. 编写控制台程序或者GUI程序(比如swing... )


基本上,在这个阶段的学习都不会太有困难,因为涉及到的问题都被局限在Java中,界面也很简单,不难学。



但是从Java EE(又称J2EE)开始,长得一点都不像的各路妖怪几乎同时出现,JSP/Servlet, Javabeans, EJB, RMI,WebService,数据库,JDBC,甚至HTML/CSS, 问题是,你根本不知道他们有啥关系,好忧伤啊!

所以,我一点都不建议你一开始就一头扎进这些具体的技术里,会被淹死的。

学JavaEE, 也可以从实际出发,先给自己设定一个项目目标,基于这个项目目标去达成自己的学习目标。


以你目前的状况,我建议你试着用从一个留言板做起,从用户注册、发表留言、留言显示开始,你至少可以了解:

1. HTML与CSS如何实现界面

2. 如何用JavaScript实现客户端交互,比如检查用户输入的信息是否有效(其实这货跟Java一毛钱关系都没有)

3. 如何用JSP处理客户端请求

4. 如何设计数据库以存储留言板信息

5. 如何在JSP中访问数据库

6. 如何查询数据库,并形成HTML页面发送到客户端。


上面阶段完成后,还可以试着克隆一个新浪微博,将重点放在客户端交互上,如何使页面更美观、界面更友好(用户体验)、后台处理更快,这时你将不得不去深入学习JavaScript, Jquery这些,后台编码的能力也会得到进一步的提高。


等你都能克隆一个新浪微博出来了,有一定的技术和经验积累,再去深入学习一些更深入的东西,比如EJB, WebService等等......


如果还有多余的时间,给你的微博做个安卓客户端,技术面就宽广了。


你要是把这些都做了还找不到工作,天理何在啊。


先就到这里吧,不清楚的在评论里继续提问,也欢迎各路大神前来拍砖。



0 0
原创粉丝点击