关于加班问题,我补充一下吧。

首先,如果一个人对所做的事情感兴趣,那么自然愿意投入时间,与是否工作无关,与是否IT行业无关。

作为一个技术人,我曾经为了看到Gentoo Linux成功启动而等待它编译到晚上1点;
也曾经为了交斯坦福在线课程中Andrew Ng的机器学习作业折腾了整个周末;
第一次了解到奇怪的非阻塞网络的兴奋,读tornado/memcached/leveldb等代码后的恍然大悟,依然让我记忆犹新。

即使是如今的业余,我也会捧着个kindle阅读论文、精彩博客,或者现在在读中的CS347的课本教材;
从Python/Erlang/SICP到Clojure/Haskell,我曾经也一直心甘情愿地投入许多的时间。

我相信大家也是和我一样对技术感兴趣的人,因而加入这些讨论组中。

作为一个英美剧爱好者,我曾为了看《权力的游戏》而通宵,现在也为了今天BBC的《Sherlock》第三季而心潮澎湃。
你翻过《三体》么,你知道这种感受。

试问技术沙龙的参与者们,你会介意组织或参加这些感兴趣的沙龙而失去了你的周末吗?


其次,微信后台在工作任务的时间分配上是足够且自主的。

我们习惯性周报,每周一每个团队成员用几行文字总结上周做的事情以及本周的待办事项。
除了头脑风暴讨论问题,除了紧急事件处理(做后台的都明白),
只要能够在自己设定的deadline完成任务(或提前告知拖一拖,我经常干的事),没人要求你必须在一天的什么时间点做些什么事情。


最后,我们并不属于微信传说中的矿工,那是紧跟小龙的产品,大家也许听过他们半夜十二点下班,却没听过他们经常下午才来上班。。。
当然,他们也知道自己的问题并在努力改善,哪怕收效甚微。或者是他们的工作时区在非东八区,关于他们我就不多说了。


那么以自己为例说说微信后台的真实情况吧:

由于充分的自由度,我上下班的程度随着季节变化而变化。
有一段时间(今年初),我天天早上九点上班,晚上七点下班,回家捣鼓Clojure,第二天早上七点起来用扇贝网和拓词背单词;
有一段时间(今年四月份,我们的办公室还在天河区华景新城的时候,当时尝试给自己按月度培养新的习惯),我早上七点半起来到天河公园跑步,回家洗澡上班,到达办公室大概九点半,那时候几乎天天晚上七八点离开公司了;
有一段时间(今年六月到八月份),我天天早上十点半上班,晚上九点半后打的回家(个人原因当时搬到芳村住了,晚上九点半后五十多块打的费可以免费报销);
而最近,我天天十一点才上班,晚上九点之后回去,因为冬天不想起床。


有时候,心血来潮,我愿意投入比实际所需的更多时间(大家眼中的加班,其实我在享受):
比如最近写的项目用到了进程间队列,本来可以用linux的FIFO简单搞定,我花了更多时间补充memory
order与atomic/fence/FalseSharing相关的知识,并捣鼓出多进程使用共享内存作为RingBuffer的多生产者多消费者队列。(有兴趣可以看看这个
http://www.1024cores.net/home/lock-free-algorithms/queues/bounded-mpmc-queue
和facebook在github的folly库)

也有那么一些时候,我没有上班的心思:
或者播放了整个下午的优酷,然后早早溜走,放弃掉平时深觉免费可口的晚餐;又或者选择呆坐在走廊里,静静享受美丽广州塔下的夜色。

噢,对了,作为一个爱和mm一起走遍广州的吃货,哪怕早上十一点上班,我每周五都是六点下班:
可能去对面的海底捞享受火锅服务(两点离开工作岗位去马路对面拿个不会过期的号),也可能去天河新开的禄鼎记吃酸菜鱼,或者跑沙面去吃兰桂芳的乳鸽,或者去岗顶的炳盛吃菠萝包。


当然,刚加入微信的半年(也许更久),正如最开头招聘帖提到,我们微信后台有许多有趣的东西,新人需要学习,需要适应,需要投入大量的时间来补充。这避免不了带来很大的压力,要么成长,要么消亡。事实上所有人都因此成长了,也因为成长而给微信带来了贡献,改善了身边的微信用户,实现了自己的价值。


我把讨论组的内容复制到新浪博客了,欢迎大家转发我的招聘微博。 http://weibo.com/0xffffull


最后再来一句:其实进入微信真的很简单,我们倾向于发掘有潜力的新人,自我培养精英,所以看不懂上面的技术词汇一点也不重要,我只是想表达牛人来到也有施展的舞台。但作为国内(或者全球)最强的技术团队之一,我们处于美帝党看不上,大部分人不敢想象的处境。

也许,只要那么尝试一下,你的技术人生因此改变。




2014/1/2 Zhitong He <hez...@gmail.com>

> 大家早上好,~_~
>
>
> 为什么选择微信团队?
>
>
> 产品:微信是移动互联网时代的伟大产品之一,拥有超过六亿的用户。这意味着微信是一个巨大的舞台,我们所作出每一个改动,都能够瞬间影响到千万的用户,带来极大的成就感。当然,海量的用户只是起点,我们以将微信打造成连结人与世界的I/O中心为目标,不断超越自己。在打磨微信的过程中,发生了许多有趣的事情(例如:小龙非常讲究自然与逻辑,要求设计必须有合理的缘由。简单的对讲机在内部曾经有过四个版本的设计与实现迭代,从以古典对讲机为原型的第一版到最后被采纳的大按钮版本,都经过了许多的思考。其中对于当前的大按钮版本,小龙有过一个问题是为什么按钮的中间是六个圆而不是四个圆?对啊,为什么四个圆看起来就不够六个圆舒服呢?大家想了很久得到一个满意的解释,因为猪有六个奶头…)。如果你是一个对产品有兴趣的技术人,这个极具个性的团队是最好的选择。
>
>
> 成长空间:如果你渴望成长,这里是数一数二的学习平台,它值得你投入大量时间。在基础设施上,你可以学习:一个高性能的RPC框架如何实现,什么才是RPC框架中的最重要的部分;我们如何实现可靠的监控与报警系统,帮助快速发现与解决异常问题;我们如何对服务进行单元化管理,做到柔性可用等等。在业务上,你可以学习:如何实现超过一亿长连接的pub/sub接入系统,如何实现只需三台存储便能支撑数亿用户的序列号分配器,如何实现稳定的亿级苹果push推送机制,如何实现日启动数亿次的摇一摇与解决附近的人位置计算问题等等。如果你爱编程爱学习爱折腾,欢迎把对编程的热爱带到工作中来。一个人的水平,是他接触最多的几个人的平均水平,微信团队邀请你一起快速成长。
>
>
> 巨大的挑战:如果你已经是个牛人,为何不来接受更多的挑战呢?来看看这些是否适合你:为了提高网络服务的支撑能力且降低编码难度,我们通过swapcontext+对read/write等一些系统调用进行hook的方式,在C++上实现了类gevent的monkey
> patch的协程库,从而能够以同步方式编写非阻塞的高性能服务,也顺利迁移了旧代码。为了满足数据存储的高性能与自动化容灾需求,我们设计了基于简化版paxos的高一致性KV存储。为了保证微信基础消息的高可用性,我们建立了多个完整的微信IDC,并实现了IDC内部机房级的本地容灾与整个IDC的异地容灾。为了逻辑清晰可维护,我们将业务服务化大量使用了RPC框架,当业务稳定为了减少网络调用我们反服务化……
> 更多的挑战等待着你的加入。
>
>     福利:微信的办工地点在广州TIT创意园,拥有媲美Google/Facebook的一流工作环境,请查看
> http://tech.qq.com/a/20131119/000765.htm。待遇也是极好的,薪酬属于高压线不可谈论,但前年年会人均一台Macbook
> Air,去年人均一部iPhone5+iPad Mini有木有。
>
>
>
> 如果对微信的产品与技术感兴趣:
>
>   不知作者是怎么得到内部信息的,但近乎完全真实的解构,不排除是公关部软文
>     http://www.huxiu.com/search/?s=%E8%A7%A3%E6%9E%84%E5%BE%AE%E4%BF%A1
>
>   知乎上有许多关于微信产品的话题
>     http://www.zhihu.com/topic/19554470/top-answers
>     http://www.zhihu.com/question/19924411
>     http://www.zhihu.com/question/20377314
>
>   2012年有过一次微信后台对外的技术讲座
>     http://djt.qq.com/article/view/201
>     http://timyang.net/architecture/notes-weixin/
>
>   更多期待你的加入
>
>
> 职位要求
>
>   官方招聘要求
>
> http://hr.tencent.com/position_detail.php?id=12740&keywords=&tid=0&lid=2196
>
>   实际要求,简而言之就是会写代码
>     能够使用C/C++编程语言
>     熟悉基础数据结构,如链表,二叉树等
>     熟悉操作系统与网络编程,如TCP协议,多进程多线程模型,常见的进程间通信方式等等
>
>   加分项(面试中不要求考查)
>     linux系统编程基础,如看过APUE/UNP
>     参与过或阅读过代码的开源项目
>     分布式领域的工作经验
>     其它编程语言经验,如python/erlang各种
>
>
>
> 面试建议
>
>
>
>  
> 我们的面试过程主要有三部分:通常是问一些操作系统与网络的基础知识,做一两道简单的编程题目,以查看应聘者的代码编写能力,还有考查做过的项目,最终判断是否具备培养潜力。
>
>    根据我的经验,做好下面这些准备,就可以轻松拿到微信的offer
>      1. 编程题目比较简单,以致于你可能诧异,其实这里的关键是写代码时注意编码规范,变量命名,函数抽取,适当的注释。
>      2. 提前回忆在简历上的项目的各个细节,从而能够清晰的描述出来。
>      3. 尝试更进一层思考与解答面试官针对项目提出的问题,而不仅简单描述自己是如何忽略不管或人工暴力解决的。
> 其实这时候面试官并不是在乎你做过的项目,而是觉得你有潜力,只是缺了一个录取的理由。
>
>
>
> 如果你在寻找一个更好的机会,更舒适的工作环境,做更有趣的事情,欢迎发简历到我的邮箱:
> dream[at]qq.com 或者 hezhit[at]gmail.com
>
> 支持年前面试先拿到offer,春节后再到岗,刚好领完年终奖后过来。当然,如果你此时没有计划,但有长远的想法,请记下本贴随时找我内推。
>
>
> 如果你是腾讯的内部同事,欢迎转岗:RTX 给我 zhitonghe
>
> 如果你还没毕业,可以参考这个帖子锻炼自己:
> http://bbs.sysu.edu.cn/bbscon?board=Programming&file=M.1372080310.A
>
>
>
> 加入微信吧,一个人自个再牛逼的日子,也比不上拥有共同目标的大家一起傻逼奋斗的岁月。// 脑补近期微信免费表情:神经蛙与欢乐马的钢管跳
>
>
>
> --
> Zhitong He
> http://weibo.com/0xffffull
>
>


-- 
Zhitong He
Sun Yat-sen University

-- 
您收到此邮件是因为您订阅了 Google 网上论坛的“广州 GNU/Linux 用户组”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 gzlug+unsubscr...@googlegroups.com。
要向此网上论坛发帖,请发送电子邮件至 gzlug@googlegroups.com。
通过以下网址访问此论坛:http://groups.google.com/group/gzlug。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。

回复