Thank you from G.C. Guancheng Chen

Dear friends, colleagues and mentors,

Tomorrow (Jun 30th, 2015) will be my last working day at IBM Research – China. When I decided to join CRL in April 2011, I considered this adventure as a world-leading industry PhD program in the most interesting market – China. Instead of continuing my academic career as a regular PhD with my advisor Prof. Per Stenstrom, I was more interested in making real impact in real business world. Four years later, I would say I was so lucky to have enjoyed a fantastic journey with you who not only helped me, inspired me, encouraged me, mentored me, but also become life long friend with me.

Last week I visited IBM Reserach – Almaden, and I saw a saying on the lobby wall: “Science and data to extend human capability”. IBM Research was no doubt a remarkable organization for disruptive innovation in the human history. I am so proud that I could get the chance to work with you on being essential to our society. After my graduation from IBM Research, I will start a new adventure of building cool big data technology in OneAPM, a startup that has many common interest with me. Hope what I learned from CRL could help me become a person that can shape the world to come in some degree.

Please allow me to take the opportunity to thank you all for all your kind support during the years. Life is a long long journey, we will definitely have chance to meet each other again:)

Please find my contact below and wish you all the best in the future!

My wechat is threadingnow, my weibo is weibo.com/parallellabs
Linkedin: http://linkedin.com/in/guanchengchen
Personal Blog: http://www.parallellabs.com/
Email: chenguancheng # at # gmail.com

IBM研究院(CRL)诚聘 Bigdata/Clould 方向正式员工

工作地点:北京
工作职位:正式员工

IBM中国研究院是IBM技术力量最强的部门,在新技术研发,前沿学术研究,高价值专利等领域都具备一流水平,我们的员工大都来自清华北大中科院等中国一流学府,我们能给您提供一流的技术研发环境与最具挑战的技术研发项目,期待您的加入!

1. 大数据、Cloud方向的硕士或博士生(应届/社招均可)。
2. 具有深入以下方面的学习工作背景 (多个条件为或的关系)
a)大数据平台(例如hadoop/yarn/spark)的部署、代码分析、工作机制理解
b)大数据应用(例如推荐系统,数据挖掘,机器学习等上层应用)
c)大数据平台、应用性能分析,性能调优
d)大规模机群上面的平台和应用的开发、测试

3. 有良好的表达能力,与人沟通能力,与人合作能力
4. 较强的学习,接受新知识的能力。
5. 较强的编程能力,如c/java/python/shell
6. 对计算机体系结构、并行计算有工作研究经验者优先
7. 较强的英文读写能力。

如果您对此职位感兴趣,请发送您的简历至chengc@cn “dot” ibm “dot” com。
请以“应聘CRL职位”作为邮件标题,以免邮件被过滤。多谢关注!

My Way

这一年经历了很多低谷,很多困惑。思索了许多类似于“人从哪里来,要到哪里去”这类的问题。

最近终于有一点点感悟:

(1)世界是多元化的,接受这种多元化,有贫富,有善恶,有悲喜;

(2)不要先去想自己想要什么,先想想自己能做什么,然后一步一步向你想要的方向走,哪怕慢点,每个人路线和速度都不可能一样;

(3)哪有什么天才,都是靠努力一步步积累来的,十年,二十年,一辈子的专注,你做好准备了吗?《寿司之神》里做了一辈子寿司的次郎,米其林三星厨师,你感受到他的职人精神了吗?

(4)找到自己的路。想起若干年前电影《燕尾蝶》中固力果唱的那首“My Way”,真是再次触动我心里最深处。希望自己鼓起勇气,坚定意志,不再想成为另一个“谁”,而是坚定的,做唯一的一个”自己“,不管前路多艰苦,不管经历多少失败,不管外界声音如何,不管是别人眼中的“捷径”亦或是“漫漫长征”,我都希望走自己选择的路,因为我希望回首往事时,我能无悔地说“I did it my way”.

And now, the end is near;
And so I face the final curtain.
My friend, I'll say it clear,
I'll state my case, of which I'm certain.
I've lived a life that's full.
I've traveled each and ev'ry highway;
And more, much more than this,
I did it my way.
Regrets, I've had a few;
But then again, too few to mention.
I did what I had to do
And saw it through without exemption.
I planned each charted course;
Each careful step along the byway,
But more, much more than this,
I did it my way.
Yes, there were times, I'm sure you knew
When I bit off more than I could chew.
But through it all, when there was doubt,
I ate it up and spit it out.
I faced it all and I stood tall;
And did it my way.
I've loved, I've laughed and cried.
I've had my fill; my share of losing.
And now, as tears subside,
I find it all so amusing.
To think I did all that;
And may I say - not in a shy way,
"Oh no, oh no not me,
I did it my way".
For what is a man, what has he got?
If not himself, then he has naught.
To say the things he truly feels;
And not the words of one who kneels.
The record shows I took the blows -
And did it my way!
 
Yes, it was my way.

Git快速学习指南

写在前面的话

学习是一个永无止境的过程,举个例子,学习“学习的方法”是一个不断迭代的过程:随着个人经历、周围环境的变化,我们的学习方法也需要作相应的改变。在学生时代,如果想要学习新知识,最常做的很可能是买一本这个领域的经典著作,然后啃下去。这种方法优点是学的扎实,对概念的来龙去脉能理解的比较深刻,缺点嘛也很明显,费时费力,需要很多一大段的、不被打扰的时间,学生时代最适合这种方法。

工作之后,因为惯性使然,我还经常继续使用这种方法,结果因为很难抽出大块时间深入学习某项知识,所以收效甚微。这样一个痛点,作为爱折腾点新东西的人,当然是要想办法从“方法论”上做改进。痛定思痛,仔细思考后,我决定拿Git的学习过程做一个实验,来摸索一个适合(已上班的)程序员的学习方法的最佳实践。

对Git这样的工具,最终目的一定是用到实际项目中去。所以大致原则是:不要太深入理论(知道Git是个分布式版本控制系统就OK),然后找一个能直接上手的教程,learn by doing。

具体步骤

1)先在Code shool上了一节Try Git,交互式的网页教程,直接边看文字教材边在网页terminal里面敲命令,基本学完之后堆Git最基本的几个命令比较熟了。
2)gitimmersion.googol.im的教程,目前正在学习中,内容比Try Git全面,作为进一步提高用,一步一步跟着做就行。
3)优才网的Git视频教程,目前还没开始练。

To be continued.

仰望星空 脚踏实地

最近连续跟IBM的一位VP和一位Fellow有过交流,对“仰望星空,脚踏实地”有了一些新的体会,特在此分享。

仰望星空

讲的是你做事情的vision,或者是说你的动机。作为一名研究员来讲,最兴奋最幸福的事情莫过于对社会产生巨大的影响。IBM Fellow Chieko Asakawa(浅川智惠子)是无障碍设计领域的杰出研究人员,她领导了IBM于1997年专为盲人设计的语音浏览器Homepage Reader等一系列产品,而浅川院士本身就是一位盲人。在1997年互联网还没有很普及的时候,根据自己的需求研发了这样一款产品,不得不佩服她敏锐的技术触觉。但是最关键的是她长期以来对技术的vision。她的目标很简单:利用计算技术帮助盲人(及其他残障人士)更好地接触数字信息和社会环境,她说这是她的dream。跟那位VP的聊天中谈到技术项目的评估第一步往往要看它的vision是什么。其实不管是研究还是开发,第一步往往是要讲清楚你要做的这件事情的vision是什么,通过你要做的事情你改变了什么?你解决了什么问题?这件事情能不能使听众一听就觉得很买账?可以说vision好不好直接决定两件事情:你自己是不是很兴奋的要去做这件事情以及你能从你的听众那里得到多少支持(可以是你的老板,你的投资人)。IBM CRL领导过两个IBM Research全球的研究项目:Wireless Network Cloud(无线网络云)和Internet of Things(物联网),一个是用软件来实现传统硬件基站的功能,一个是将物理世界和数字世界连接起来。Facebook,Google,Apple,Cloud Computing,Software Defined Network,Mobile,Big Data,Social,Virtualization这些名词背后你都能找到一个很鼓舞人的vision。想vision的时候一个重要原则就是make a difference。这件事情为什么只有在IBM能干成?为什么别人干不了?你有啥资源和优势是别人不可能达到的?你的技术背景是否足够强大?关系人脉如何?你干的这事情是“锦上添花”还是“雪中送炭”?锦上添花的事情意义就很小了,没啥做的必要。雪中送炭就是一个从无到有的过程,干成了得到的满足感肯定是无以伦比的,而且影响力也会很大。一句俗话就是:“心有多大,舞台就有多大”。郭去疾受World is flat的启发去做兰亭集市就是一个例子。Coursera正在改变教育的普及度,改变就放生在你身边。要敢于Think Big。除此之外,另一个原则就是understanding how the world works。这个话题可以讲的很深,但关键一点就是说你如果想预测未来什么是重要的,你可以从历史中学习那些重要的事情到底是怎么变得那么重要的?

脚踏实地

讲的是执行。要做好一件事情,一定要坚持。你必须一步一步,从小事做起,积跬步以至千里,而走完这个千里可能需要十年甚至三十年时间。在中国,很普遍的一件事情是你的目标很容易动摇,很容易被社会的现实因素所动摇,例如房子,例如钱。不得不说取得巨大成功的人还是很有些理想主义的dreamer,例如马云,例如扎克伯格。浅川在IBM工作了28年评上IBM Fellow,我导师Per Stenstrom 20年才评上ACM/IEEE Fellow,高德纳写Tex断断续续用了10年,VMware在成长为今天这个规模之前蛰伏了好几年,DARPA资助的众多研究项目周期长达十年,成为了一个领域的专家需要10000个小时的训练,等等。小步快跑,快速修正,不断迭代,错了就改,失败了就再来,反复锤炼。顶级会议的论文要花大量工作,反复修改才会被录取(CRL最近中的一篇ISCA是六个人近一年的工作);顶级研究项目会遇到众多困难 和挑战。让人惊叹的成就大都是一路风雨走过来的。深入深入在深入,多想想你做这件事情怎样才能make a difference?你要做的很平庸,那你不就是个随便都可以被替代的人了么,干嘛非得让你来做?你创造了什么别人创造不了的价值?多想想这些问题,耐得住寂寞,好好干。国人在执行层面一般都很强大,但是vision比外国人确实弱不少。

最后分享下我的一点心得:

想到一个问题: 不应该在意结果,而应该注重过程,因为正是在过程中你才得到了快乐,得到了体验。与过程相比,结果是好是坏其实远不那么重要。太关注结果,很容易失去活着的意义,因为等你历经艰辛得到那个结果的时候,你却什么都没得到。结果导向很容易让自己生活的不快乐,也不能让身边的人快乐。结果只是一些点,得到了也就过去了,而过程才是真正需要我们仔细享受的,因为它才是用我们的生命中最宝贵的时间换来的。想起一个终极问题:人活着为了什么?现在我的答案是:“为了尽情的体会生命的美好”

做好失败的准备

这周二晚上收到了SC’12大会的邮件通知,我的论文终于被接收了.在被SC’12录取之前,我这篇文章分别被IPDPS,ICS和SC据过,每一次被拒都得到了非常多有帮助的评审意见,帮助我更好的改进这篇文章.当然,被拒的滋味不好受.我认识的众多好友投顶级会议纷纷一投就中(例如madong的IJCAI, jiayu的NIPS和SIGIR, yang xi的ASPLOS和OOSPLA),我被拒了那么多次咋还没中呢,心里的挫败感多多少少还是有一点.

不过现在回头来看,最大的体会就是:要想做成一件公认的不太容易的事情,你必须做好失败的准备.Per在第一次投稿的时候跟我说,”没事,你投ICS吧,把目标设的高一点好”.现在想来,就是要给自己设定一个超出自己能力的目标,才能激发出自己的潜能:) 当然,既然你给自己设定了一个比较高的目标,你就一定要清楚的认识到,这件事情不是那么容易成功的.你必须把工作做到位,做扎实,过了那个门槛才行.而这个门槛的高度可能需要你付出非常多的努力.具体到SC’12的这篇论文上,因为是系统相关的题目,所以必须要把实验部分做的非常扎实才能让审稿人满意,向我这样的普通人,自然需要努力努力再努力才能成功.

大家都在讲成功,都想要成功,殊不知成功之前大都要经历失败,尤其是在令人瞩目的成功之前,更是如此.比如说,你想成为一名优秀的程序员,可能需要10年的苦工.比如说,你想要在ISCA发一篇有影响力的文章,可能需要做个三四年扎实的工作才行.比如说,你想创办一家成功的公司并上市,可能需要10年的时间并经历千辛万苦.当然,除了努力之外,还有另外一个非常重要的因素,那就是洞察力.如果能发现一个新的热点,自然就能站在浪潮之巅成为风云人物,不过那是另一个故事了,发现问题永远比解决问题要难嘛.

把目标设的高一点,然后朝着那个目标的门槛努力,中间失败了也不要紧,因为每失败一次,离成功就近了一分.

这周二晚上收到了SC’12大会的邮件通知,我的论文终于被接收了.在被SC’12录取之前,我这篇文章分别被IPDPS,ICS和SC据过,每一次被拒都得到了非常多有帮助的评审意见,帮助我更好的改进这篇文章.当然,被拒的滋味不好受.我认识的众多好友投顶级会议纷纷一投就中(例如madong的IJCAI, jiayu的NIPS和SIGIR, yang xi的ASPLOS和OOSPLA),我被拒了那么多次咋还没中呢,心里的挫败感多多少少还是有一点.

不过现在回头来看,最大的体会就是:要想做成一件公认的不太容易的事情,你必须做好失败的准备.Per在第一次投稿的时候跟我说,”没事,你投ICS吧,把目标设的高一点好”.现在想来,就是要给自己设定一个超出自己能力的目标,才能激发出自己的潜能:) 当然,既然你给自己设定了一个比较高的目标,你就一定要清楚的认识到,这件事情不是那么容易成功的.你必须把工作做到位,做扎实,过了那个门槛才行.而这个门槛的高度可能需要你付出非常多的努力.具体到SC’12的这篇论文上,因为是系统相关的题目,所以必须要把实验部分做的非常扎实才能让审稿人满意,像我这样的普通人,自然需要努力努力再努力才能成功.

大家都在讲成功,都想要成功,殊不知成功之前大都要经历失败,尤其是在令人瞩目的成功之前,更是如此.比如说,你想成为一名优秀的程序员,可能需要10年的苦工.比如说,你想要在ISCA发一篇有影响力的文章,可能需要做个三四年扎实的工作才行.比如说,你想创办一家成功的公司并上市,可能需要10年的时间并经历千辛万苦.当然,除了努力之外,还有另外一个非常重要的因素,那就是洞察力.如果能发现一个新的热点,自然就能站在浪潮之巅成为风云人物,不过那是另一个故事了,发现问题永远比解决问题要难嘛.

把目标设的高一点,然后朝着那个目标的门槛努力,中间失败了也不要紧,因为每失败一次,离成功就近了一分.

[已经招到了,谢谢大家!]IBM中国研究院招聘Hadoop实习生

我们组最近有一个实习生的名额,做Hadoop性能优化相关的研究工作,如果大家感兴趣的话请给我发邮件:)

IBM Research China is looking for graduate computer science/engineering students who are interested in Hadoop performance optimizations works.

Location: Beijing
Job Tile: Research Intern
Job Openings: 1
Expected Duration: at least 3 months (full-time preferred)

Job responsibilities:
– Write MapReduce program and analyze Hadoop performance model.
– Tune and optimize the performance of Hadoop workloads.
– Publish high quality research papers to report your work.

Requirements:
– Creative and Self-motivated
– Knowledge of Parallel Computing and Distributed Systems.
– Knowledge of Java.
– Familiarity with Linux as development and testing environments.
– Knowledge of Apache Hadoop is a plus.
– Past research experience is a plus.

If you’re interested, please feel free to send your Chinese or English resume with the mail title of “Intern_Your Name_University_Major_Grade” (e.g. Intern_Zhang San_XXU_CS_Master) to chengc_at_cn.ibm.com.

我们组最近有一个实习生的名额,做Hadoop性能优化相关的研究工作,如果大家感兴趣的话请给我发邮件:)

IBM Research China is looking for graduate computer science/engineering students who are interested in Hadoop performance optimizations works.

Location: Beijing
Job Tile: Research Intern
Job Openings: 1
Expected Duration: at least 3 months (full-time preferred)

Job responsibilities:
– Write MapReduce program and analyze Hadoop performance model.
– Tune and optimize the performance of Hadoop workloads.
– Publish high quality research papers to report your work.

Requirements:
– Creative and Self-motivated
– Knowledge of Parallel Computing and Distributed Systems.
– Knowledge of Java.
– Familiarity with Linux as development and testing environments.
– Knowledge of Apache Hadoop is a plus.
– Past research experience is a plus.

If you’re interested, please feel free to send your Chinese or English resume with the mail title of “Intern_Your Name_University_Major_Grade” (e.g. Intern_Zhang San_XXU_CS_Master) to chengc_at_cn.ibm.com.

IBM中国研究院招聘大规模数据分析实习生

帮同事发文,招聘实习生:

IBM Research China is looking for undergraduate and graduate computer science/engineering students who are interested in Big Data Analytics development and performance optimizations works.

Location: Beijing
Job Tile: Research Intern
Job Openings: 1-2
Expected Duration: at least 3 months (full time)

Job responsibilities:
– Develop text mining solutions such as Topic Detection and Tracking (TDT).
– Write Apache MapReduce user function code to implement Social Network Analysis (SNA), Machine Learning and Text Mining algorithms.
– Tune and optimize the performance of Apache MapReduce/HDFS based analytics workload on POWER7.
– Publish high quality research papers to report your work.

Required skills:
– Knowledge of 1) Parallel Computing and Distributed Systems or 2) Machine Learning and Data Mining
– Knowledge of Java
– Familiarity with Linux as development and testing environments.
– Experience of Apache Hadoop will be a plus.

We also encourage exceptional students to generate and implement their own ideas about Big Data Analytics related works over the course of internship.

If you’re interested, please feel free to drop us an email to jwshi_at_cn.ibm.com with your resume.

Erlang User Conference 2010见闻(兼谈程序员职业生涯)

这是我第一次参加关于Erlang的技术大会,总来的说收获非常大,不管是技术上的还是非技术上的都是如此。首先不得不说的是会议举行的地点。我从别人那得知之前的会议一直都是在Ericsson的总部大楼举行的,但是因为参会人数越来越多,好像是从去年开始就转移到市中心一个很有历史的电影院ASTORIA举行了。由于这个举办地是电影院的缘故,从去年开始EUC就开始有电影海报了!去年海报是由哈利波特改的,今年的是星球大战。

阅读全文>>

1. Erlang User Confernece 2010

这是我第一次参加关于Erlang的技术大会,总来的说收获非常大,不管是技术上的还是非技术上的都是如此。首先不得不说的是会议举行的地点。我从别人那得知之前的会议一直都是在Ericsson的总部大楼举行的,但是因为参会人数越来越多,好像是从去年开始就转移到市中心一个很有历史的电影院ASTORIA举行了。由于这个举办地是电影院的缘故,从去年开始EUC就开始有电影海报了!去年海报是由哈利波特改的,今年的是星球大战。去年那张如下,有意思吧?

Erlang-the-Movie

海报上面的四个人是Erlang最早的设计者们:Joe Armstrong, Mike Williams, Robert Virding还有当时的团队经理Bjarne Däcker。有了海报没有电影怎么能行?点这里观看Erlang – The Movie

因为我赶早乘火车去的斯德,所以我到的时候已经快9点了,大会即将开始。在去之前我就很期待能见到Joe Armstrong本人,结果意外的是在签到处我就见到Joe本人了!不知道为什么,他出现在我面前时的形象与我之前想象的一模一样,后来我想明白了,根本原因在于他穿的就是他那件非常眼熟的紫黑线衫!哈哈!Joe爷爷人非常开朗,时不时从他坐的地方传出爽朗的笑声,此为后话。因为会议即将开始所以我就赶紧进去找座位坐下,正好赶上Bjarne Däcker在致开幕辞,这是每年的传统了。仔细看了下我的签到卡,这已经是第16届Erlang大会了!

Klarna无疑是这届大会最吸引眼球的公司。开幕第一个Talk就是关于他们怎么使用Erlang相关的工具来解决他们的CodeManagement,Translation,Testing等问题的。Klarna有两个中国程序员,我见到其中之一的Wang Jia。Klarna是由三位瑞典银行家在05年创立的公司,提供第三方电子支付解决方案。他们最早的开发者就是从当时提供Erlang咨询的公司(其实也是Ericsson前员工)跳出来的。传闻说当时创始人提出业务需求后,他们说这个太简单了,用Erlang几天就开发出来了,虽然最后花了大概一个礼拜,但是可见Erlang开发效率之高。现在他们应该是Erlang程序员最多的公司,而且随着业务的增长他们的开发团队也在快速扩张。一年前他们只有20个左右,现在已经解决60人了,听说还要继续招人。Good for them! 我还见到另一个在Mobile Art做Erlang开发的中国人张浩,他已经用Erlang做开发3年多了。我们聊了很多关于职业发展的问题,非常有收获。

此次大会的slides和talk都可以在这里下载

2. 关于职业生涯

除技术之外我最大的感触就是看见一群爷爷级的人物仍然热衷于参加这样的技术盛会,让我很有编程编到老的冲动。Joe Armstrong老爷子是1950年生的,早年在英国念物理PhD,后来自己钱花光了,就跑去了爱丁堡做人工智能了。他的导师Donald Michie在二战时跟图灵一起工作过,所以收藏有图灵所有的论文。Joe就在满是图灵的论文的办公室里工作了整整一年多,难怪如此之牛。做研究讲究家谱,大师之所以成为大师还是需要一些机缘在里面的(当然,独力开创一片新天地的神牛除外)。关于Joe的更多趣闻可以看《Coders at Works》,中文版应该快出版了,但是如果有条件的话还是推荐大家读英文版,边学大师的经验边学英语,一举两得,岂不快哉?如果大家好奇Joe是怎么修炼到大师级的,他自己一句话很有代表性:“So I would characterize that period, which took 20 years, as learning how to program”。这句话的上下文我就不详述了,简单地说你可以理解成他花了20年学会了如何编程(注意,这个“如何编程”可不是指精通C++之类的)。这说明要想成为大师,没有十几二十年的功力肯定是不行的。十年学会编程不是空谈,而是实实在在的。说到程序员的基本功,我必须要站出来批评一下《Coders at Works》此书在豆瓣的一个不负责任的书评,这位同学说“去他的算法内功基础,对于程序员实用主义才是王道”,这完全是误人子弟,而且可悲的是这个观点竟然有很多人支持。表面上这句话好像抓住了“实用主义”的大旗,但是这位同学却借此抨击算法基本功的重要性,实在是荒谬。(Update:该同学已经把标题改掉了)就拿Google Fellow Jeff Dean来说,他绝对算得上是实用主义的大师了吧?可是如果你去看看他关于Google整个系统架构演变过程的讲座,你就会发现把Google的那些诸如MapReduce、GFS之类的看家法宝化繁为简之后都可以还原成最基本的算法、数据结构之类的问题。Google整个架构的发展是根据需求的变化而发展而来的,MapReduce之类的不就是在遇到需要解决大规模并行编程这个问题时产生的实用的解决方案吗?可是,如果没有扎实的基本功它能被设计出来么?哪一个大师不是编程十几二十年以上?他们的基本功可能差么?想真正成为杰出的程序员,没有扎实的基本功是绝对不可能的,因为你会发现当你需要面对一个没有现成的解决方案的问题时,你的基本功就是最可信赖的法宝。

我在国内念书时确实也不知道天有多高,国内IT界有多浮躁,到了瑞典之后我有机会在Nema Labs(创业公司),Ericsson(大公司)实习,跟我的导师Per Stenström学习,与John Hughes这样的大师交流,眼界真的开阔了很多。浮躁在中国是很普遍的社会性现象,就拿程序员职业生涯发展来说,中国现在很难找到有十几二十年经验的超级程序员,为什么?因为他们都转到管理方向去了,当CEO,CTO去了。我觉得这是由中国“官本位”的社会思想导致的。大家都觉得管人的比被管的等级高,要拿更高的工资,这实在是大错特错。实际上在外国公司里终身从事技术工作的超级工程师大有人在,而且这些超级工程师的工资往往比他们的Manager高得多。在瑞典,做基站的超级工程师时薪4K多克朗的都有(克朗跟人民币几乎等值,绝对真实),50W年薪的比比皆是,这样的待遇还会让你觉得当一辈子工程师没前(钱)途吗?我觉得走管理路线本身没有错,前提是你确实喜欢管理,善于交流,适合你的性格,而不是为了职业发展“被迫”往管理方向转。在现代企业中,管理者与被管理者本身没有高低贵贱之分,只是职能不同罢了。最顶级的程序员不仅受人尊重,更可以拿高薪。可惜国内社会风气普遍浮躁,这样的状况想要改变还需要很长时间。从供需的角度来讲,超级程序员的身价是由市场需求决定的。就拿华为来说,我上次跟他们在瑞典这边的一位技术负责人聊天时了解到他们在Kista最喜欢有十几年以上经验的超级工程师,因为这样的人才国内根本招不到。为什么他们需要招这样的人?因为华为的竞争对手也是世界级的企业(例如Ericsson),这个时候科技创新就是企业最重要的核心竞争力,自然就需要最顶级的工程师才能在竞争中胜出。我们看到的Google花250W美金挽留一位女工程师的例子(未经证实,可能是Facebook负责招聘的人炒作)不也刚刚发生么?国内不也出现了年薪200W的工程师牛新庄么?我觉得随着中国IT行业的发展,科技创新将会变得越来越重要,而超级程序员也会越来越成为香饽饽,如果各位同学确实热爱编程,愿意一辈子编程,我希望你坚持下去,因为只要你成为超级程序员肯定会有赏识你的公司。现在的盛大创新院好像做的不错,他们给高级研究员年薪能有30W+,可以算是一个招聘高端人才的例子。而一个反例就是不依靠科技创新的公司(例如团购网站),它们确实是不怎么需要高端人才的,这样的公司不怎么靠技术取胜。

当然,技术不是最重要的,哪怕对Google,对Facebook也是一样。再高端的技术也必须找到市场,满足消费者的需求才能创造财富。我现在相信的是市场>管理>技术。是走管理路线还是走技术路线最好是按照你自己的性格特点来,喜欢干哪个就做哪个,而不是跟风去做管理。只要你努力,做什么都会有回报。

3. 关于英语

关于程序员个人发展,我不得不提及英语能力。我个人感觉,英语是阻碍中国程序员提升眼界的一道非常重要的关卡。关于英语于程序员之重要性,Joe在此书里面说了一句“If you are not good at English you’ll never be a very good programmer.”在欧美IT企业引领科技潮流的今天我们不去学习他们的技术怎么可能追上甚至超越他们?我建议所有有追求的程序员一定要把英语当做最基本的一门编程语言来学习!我自己的亲身经历是:英语帮我打开了另一个更广阔的世界的大门,从此直接阅读原版书酣畅淋漓的学习新知识,从此随意阅读最新的论文了解新动态,从此直接与最厉害的程序员毫无障碍的交流!

4. 创新+创业

我在最近一次Ericsson Research Day上有幸与John Hughes在Demo Session成为邻居,所以才出现了我在推上征求推友关于Erlang问题的一幕。John是从Basic开始学习编程的,在牛津念博士时就做的就是函数式编程的研究,他也是Haskell的创始人之一,95年他来到Chalmers任教至今。他学术上最有影响力的论文之一“QuickCheck: A lightweight Tool for Random Testing of Haskell Programs”成为了他后来创办的Quviq的技术核心。这个公司目前只有四名员工,当然四个人各个都是教授(我知道另一个专做编译器前端的传奇公司EDG也只有5个人)。John为人非常亲切,我跟他聊的非常开心。他追求的编程之美(好吧,我本也不想再用XX之美,但是实在没更合适的词了)是make programming easier — I like my programs to be short, beautiful, and elegant, and I hate drudgery。我还问他你编程是不是有快40年了?他老人家(其实他跟Joe都是精气神特好,非常年轻的那种)想了半天说还真有四十年了。我最羡慕他一点是,他跟我导师Per Stenström一样横跨学术界与工业界,创新与创业双管齐下,互利互惠,既是学识渊博的教授,又是能给社会创造价值的企业家,人生如此,夫复何求?我跟他说真羡慕你真能享受双倍乐趣啊,他说是啊,真是太有趣了!其实中国教授也有在工业界与学术界都取得成功的例子,例如普林斯顿的Li Kai教授和UCSD的Zhou Yuanyuan教授,所以说主要还是环境问题导致的。我个人是龙芯的坚决拥护者,很多人说怎么用MIPS的授权,怎么浪费国家的钱什么什么的,我觉得这些都是扯淡。从我知道的情况来看,龙芯他们组最近把Micro, HPCA, ISCA, ISSCC这些最顶级的会议全发了一个遍,学术水平毫无疑问!胡伟武老师用毛泽东思想来带领团队是有效的(不管是否有失偏薄),而且也有Chen Yunji这样的青年才俊,我相信至少龙芯团队培养出来的这批人才已经足以对社会做出贡献。现在龙芯商业化还处在初期阶段,任重而道远,我祝福他们,看好他们!

中国的发展需要创新!需要最高端的科技人才!需要最顶尖的程序员!

史蒂夫乔布斯(Steve Jobs)在Stanford2005年毕业典礼上的演讲

我觉得这是我看过的最好的演讲之一。三个故事每一个都让我深受触动。

阅读全文>>

我觉得这是我看过的最好的演讲之一。三个故事每一个都让我深受触动。

这句话让我忍不住留下眼泪:
“And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.”
“还有最重要的是, 你要有勇气去听从你直觉和心灵的指示——它们在某种程度上知道你想要成为什么样子,所有其他的事情都是次要的。 ”

今天我老板Prof. Per Stenström也跟我说:
“Keep the focus on what you believe in and keep delivering what you promised yourself to deliver. Your contributions will not only be rewarding for yourself; it will likely make a significant contribution to our society.”

博士与工业界之间我选择了后者,在即将毕业之时,我热切期待着下一个让我成长的机会,每个人都应该寻找并追寻自己内心最深切的渴望,Stay hungry, Stay foolish!

Google创始人的求职目标

想知道Google创始人之一的谢尔盖·布林学生时代的求职目标么?

在他Stanford的主页上的一段被注释掉了的html代码透露了他的秘密。

阅读全文>>

想知道Google创始人之一的谢尔盖·布林学生时代的求职目标么?

在他Stanford的resume页面上的一段被注释掉了的html代码透露了他的秘密:

<!--<H4>Objective:</H4>
A large office, good pay, and very little work.
Frequent expense-account trips to exotic lands would be a plus.--> 

瞻仰遗址

此八卦来自威武的虾叔

聊一聊瑞典的程序员

在瑞典这个发达国家,IT企业的基本工资都相差不大。认识的一位Ericsson的员工(入职刚一年)工资是税前29K SEK/M(~30%的税率),资格老一点的员工能有40K~50K SEK/M。不过工资高的人交的税也会相应的增加(40%~50%),所以有一个流行的说法就是大学教授和码头工人的税后工资差不多。小公司的薪资也很不错,而且还有不同程度的股份。

阅读全文>>

在瑞典这个发达国家,IT企业的基本工资都相差不大。认识的一位Ericsson的员工(入职刚一年)工资是税前29K SEK/M(~30%的税率),资格老一点的员工能有40K~50K SEK/M。不过工资高的人交的税也会相应的增加(40%~50%),所以有一个流行的说法就是大学教授和码头工人的税后工资差不多。小公司的薪资也很不错,而且还有不同程度的股份。

瑞典的大学都是免学费的(明年开始向外国学生收费),由政府承担教育经费。瑞典的教育、医疗大都是免费的,它们需要的大量资金都由政府的税收收入来支持,取之于民用之于民。大学生的生活费大都是向政府申请的贷款(生活费大约7K SEK/M,父母大都不支持他们的生活费),所以很多我身边的瑞典朋友早早就开始在企业兼职来补贴生活费,这样在他们研究生毕业的时候很多人都已经有了几年的兼职经验。

像瑞典这样的欧美发达国家,很多计算机专业的大学生很早就开始学习编程了,而且还非常普遍。他们在高中的时候就会开设编程相关的课程,更早一点的十二、三岁就开始学习编程了。我的一个瑞典朋友在高中的最后一年用汇编写了一个40K行的操作系统!另一个我认识的前辈在高中毕业之后就去了瑞典的一家游戏公司做开发,工作了七八年之后又回学校读本科,但是没读完又加入了另一家创业公司。

瑞典的实习工资也很不错。Volvo的实习生能给到25K SEK/M,而其他公司的实习生大都能给到17K~20K SEK/M。另一种实习的方式是去做毕业设计。Ericsson的Master Thesis为期6个月,Offer的基本工资是35K,奖金根据最后的表现最多给15K,所以税前最多能拿50K,扣掉30%的税后能拿到30K左右。

高工资,高税收,高福利,大家收入都差不多,所以人们都很“安居乐业”。总而言之,我相信瑞典人真的不富(贫富差距不大),但是也没啥压力。这样的环境很容易出两种人,一种是真正爱搞研究搞创新的人,他们能弄出一些Great Idea开创一片天地;另一种就是在公司养老的人,能完成工作,但也就仅限于此。