本来一直没来回答这个问题。主要是不知道题主原本是从什么角度问的,而且也因为觉得也没有太多值得别人借鉴的学习经验。不知道为啥这个问题今天又冒起来了…最近也
自爆了点黑历史,这边也顺带随便写点好了。
而且一上来就被说我自己at自己…我有空at自己还不如去多推几个黄油呢。
TL;DR:
的回答简明扼要的说了我想说的。
@ototsuyume的回答抓住了推黄油的重点。两个结合起来就完美了。
那我还写啥呢。讲点故事好了。
想看大学黑历史的,上面有链接了。下面写点别的吧。
==============================================
记得以前还在淘宝的时候,有个活动是邀请晋升得快的小二分享成长经历。邀请到我的时候我就很囧——我并没有什么特别的“经历”值得分享。晋升得快很大程度上是运气好,遇到了几位非常照顾下属的老大,另外能在工作中学习和应用自己感兴趣的知识,这些都非常非常重要。
要说有啥“不同”,可能就是我在公司待的时间特别长而已。早上我大概9:30去到公司,晚上大概11:30-12:00离开。然而我既远不是最早去的,也不是最迟离开的。无论是在TBOSS的时候,还是后来到核心系统部的时候,我座位附近都有不少在公司的时间比我还长的同事们。所以这在阿里也不算什么很特别的事。
我们是被强制加班么?通常都不是的。我就偶尔参加过几次深夜的发布而已,从来没感觉过被强制加班。
我和周围一些在公司时间特别长的同事,大多都是在自主加班,可能总结一下今天的工作内容、跟同事讨论讨论问题,可能稍事休息,可能额外学习一下;而这些未必跟当前正在做的工作有直接联系,不过有可能可以提高未来的工作效率。
为什么我愿意在公司待这么长时间?因为舒服啊。
那时的我,作为刚毕业的单身,没女朋友+不谈恋爱,没钱也没兴趣花很多钱吃饭,偶尔绕着杭州骑骑单车锻炼身体,这在公司待着的生活多舒服啊。
我可以把论文打印出来慢慢读,可以在自己电脑上写代码做实验,休息的话看集动画也行,何乐不为。从公司回家之后洗洗睡就是了。
然而花了那么多时间才做到了我现在的程度,可见我的学习效率并不是很高。远不如那些好好在学校读研和读博的同行们有目标有专注点的学习效率高。
我只是在燃烧我的爱而已。投入了大量的时间和精力,换得一点点回报。
要追求生活与工作平衡的人,肯定不能照我这种方式来燃烧自己,而需要更高效的方式。
==============================================
那时在杭州与另外两位同事做室友。他们也是对技术有很多爱的人,能跟他们一起住了两三年真是我的幸运。
每天在家的时候,也可以跟他们俩聊很多有趣的事情,例如各种语言的优劣、各种范式的优劣、各种设计模式的思想和是否有必要、各种编译器、虚拟机啥的功能如何设计与实现,等等。
我就算晚上12点才回到家,或许也会跟他们聊天/讨论到1、2点才睡。
我们还专门买了块白板挂在厅里来方便讨论。爽到爆。
我“睡”下之后可能还会继续读论文到3、4点,然后睡,然后其实7、8点可能就醒来了继续读论文。
这里提一下室友之一的
@Zete。他是我非常敬佩的人,理论扎实而且学习和动手能力都很强。与我想太多做太少相比,他更愿意边学习理论边实际应用起来,而且他不怕脏不怕累,写代码的速度比我快多了。
有时候我有想法但是一时懒得实现的,跟他讨论之后搞不好一转眼他就帮忙实现出来了…那个时候靠他的动手能力让我避开了一些“想太多做太少”的弊端 >_<
然而花了那么多时间才做到了我现在的程度,可见我的学习效率并不是很高。远不如那些好好在学校读研和读博的同行们有目标有专注点的学习效率高。
我只是在燃烧我的爱而已。
==============================================
上面我一直在说我的学习效率低,这是我痛感自己不足的地方。
我会在自己感兴趣的领域不断收集和吸收资料。在编程的领域里,不断读书、读论文、读代码、写代码去实践。在一段时间内可能会觉得自己在向前冲,然而——
每当回头去读自己几年来做的笔记,都会发现现在在想的问题可能几年前就已经想过一次了,而现在的自己却绕了一圈又回到了同样的问题上。
聊以慰籍的是,有些问题在几年之后再看的时候,会觉得有了新的理解,或者是有了更深的理解。至少自己在某些方面还是在螺旋上升的,还不算把时间完全浪费了。
不过螺旋上升的感觉有时候也挺有趣的。
有很多专业名词,最初只是觉得到处都看到,并不一定会马上就深入钻进去看它到底是什么。
而几年后再重新看到它的时候,可能会突然间发现自己已经知道它是什么了。再去查资料深入学习的时候会发现鸭梨小很多。会有种“不经意间又学到了”的快感 >_<
但是这样学习的缺点也很明显:学得太慢了。
==============================================
然后我想说一个关于我的“不良学习习惯”之一的故事。
除了投入大量时间和精力去燃烧我的爱之外,我还喜欢用“回答问题驱动的学习”(自制名词 answer-driven learning)。自小就如此。
例如说,从小学到高中我英语从来不复习,都是别人问我问题的时候我在回答的同时顺便留下了印象,然后就足以应付考试了。
高考之后有个同学特意请我吃饭,答谢我帮她解答了那么多英语的问题。而我的反应是,其实是我需要大大谢谢她,多亏她问的问题很全面,我才“复习”到了足够的面,应付过了高考。
就算是我高中的主力科目数学和物理,学习/复习我也是一半靠自己做题,一半靠回答别人问题来驱动的。
还记得我最初给OpenJDK的JIT编译器贡献的代码之一,也是起源于回答别人的问题。
有位大大在OpenJDK的邮件列表上问,为啥HotSpot没有优化某个模式的代码。然后我就在想,为啥不呢?实现一把就知道“能不能”了。一动手,很快就发现其实那优化很容易实现,并非“能不能”的问题,只是“有没有人做”而已。
于是我就把自己实验的实现发到邮件列表上,在前辈们的指导下把它重构成适合产品的形式后,就进入到OpenJDK里了。
在论坛与别人一起讨论问题,在知乎回答问题,其实也是带着这样的动机的:看别人有什么问题,而自己又是否能解决它,顺带学习一把或者是应用一下以前学了但没找到地方用的知识。
小时候我总被爷爷训斥太“好为人师”。爷爷当时说得确实很对,我不应该才学了一点就自大自满去想着“教导”别人。
到现在我可能也还没彻底改掉这个缺点,不过还好我以回答问题来驱动自己学习,也是有不少收获的。
这里我不断提醒自己要避免的陷阱是,回答了很多不同方面的问题后,自己的知识体系变得破碎。要经常整理自己的知识体系,让各种知识能贯穿起来。
==============================================
上面是我的一些故事。大家看看笑笑就好 ^_^
我觉得这家伙是个奇人.
他的奇来自于两方面,一是技术奇精,在虚拟机编译器JVM这一方面,中文世界里最强一人的也许就是他了,就算算上写英文的那些人,水平比得上他的也屈指可数.在中国这样一个系统软件基础其实有点贫瘠的地方,实在是非常难得.我们真应该感到幸运,我们用中文就可以读到世界上最好的JVM技术资料.国内技术圈牛逼哄哄者众,有几个人可以拍拍胸口说自己擅长的领域内是世界级的?
另一个奇就是他分享传播知识时的认真细致,毫无保留.哪怕最最简单平常的问题,他也可以给出一个不一样的深刻答案.有些看似很蠢的问题,别人也许就是一句话随口回答,他会写出长长的一篇,让你看到这个问题背后的机理.而且,他现在也算是技术圈的大V了,他也一直是保持这样的作风,没有试图兑现自己的影响力,不像有的人刚刚声名鹊起,就急不可耐的出垃圾书.
如果问这样的人是怎么炼成的,我想只有一个答案,就是爱.如果不是真爱,不会钻研虚拟机,JVM如此之深,如果不是真爱,不会不计酬劳的在网上普及知识如此之细.说实话,编译啊虚拟机啊已经不是火热的领域了,这方面的职位不多,工资不高也是现实.如果只是看钱景,是不如分布式啊大数据啊什么的.但是,他依然是有趣的,每年无数令人激动的新知识还在涌现,是值得用一辈子去热爱的一门技术.当然,分布式啊大数据啊也是有趣令人激动的,但是你是真心热爱它们么,你是愿意用一辈子去爱还是只爱到下一个热点出现.