最近新认识了两个人,都是美国非常牛的学校毕业的计算机博士。不过,因为她们毕业了很多年,做的方向也不完全一致,所以到也不知道那些人发过多少论文,或者在学术界有多大影响力。但是,最近看了她们在论坛上发的帖子,简直让我有种肃然起敬的感觉。
第一个人,刚刚来我实习的公司工作一周左右吧,甚至还没有定下去哪个组。但就在这一周时间,她贴出了非常多对于公司数据中心的分析,指出了存在的非常多的问题,并且半数的问题她甚至直接引用RFC或者论文指出了解决方案。我仔细阅读了她贴出的我看得懂的分析,我觉得简直每一条都可以发表一篇论文。她所做的并不是去阅读最新的文献,挑人家有什么漏洞,可以做什么incremental的改进,而是来到一个新的环境直接利用知识或者经验直接在很短时间内发现问题并且提出问题解决方案。第二个人,传说和第一个人当年同一个实验室的同学,还真在这一周不到的时间,将真的第一个人提出的解决方案华丽地实现了。
我被她们的实力华丽丽地震撼了。我想,这是不是因为她们当年在牛校受到了良好的博士训练相关?这个时候,我其实不在乎自己是否能在博士期间发表出什么论文,而是渴望在毕业时,能够像她们一样拥有这样敏锐的发现问题和解决问题的能力。当然,论文发表是水到渠成的事情。若是真的有很强的能力,应该不愁发不出论文。
可是,转念又一想,这真的是因为收到的博士教育训练吗?加入她们选择另外一条路,比如本科/硕士毕业去工作,积累这么多年的经验,是不是也能有这么强的能力,或者会不会有更强的能力?比如,这种对实际系统的分析能力,岂不是要到公司才能解除得更多,学校中接触的大部分还是论文,或者冰冷冷的RFC吧。
周围同学最近“论文焦虑症”“博士无用论”很多。而读博士到底有什么意义(尤其是如果以后无法进入学术界),这个问题困扰了我很久,今天貌似得出了一点结论,就在这儿简单分享一下吧。
我觉得我应该具备两种学习的能力。工作中和在学校中,所能锻炼到的学习的能力是不一样的。
工作中的学习,大概是属于需要什么就去学什么。比如实习叫我去做SSL,我就去查SSL的协议的各种文档,去看相关的开源代码。比如叫我去做个网站,我就得去看HTML, JSP之类的教程。工作中下一步要用到什么知识,有很大一部分是不具有可预测性,尤其是IT发展如此之迅猛。而且,很多东西在要用的时候学起来,体会更深。当然,学校中也有很多这种类似的学习情形。
学校中的学习,很多是属于积累。学的时候不知道什么时候会用到。但是到用的那天,就会觉得学的东西还是非常有用的。举个例子,我实习职位虽然是软件工程师,但是基本做的都是那种开放性提升整体系统性能的东西,而不是给你一个功能或者任务让你写代码去实现。而我所用到的设计和实现方法基本都来自上学期选的课程,分布式系统和网络算法课。因为我学过这些东西,并且还算充分地掌握了这些东西,在遇到问题的时候我知道可以这么去解决。虽然分布式系统啊,网络算法啊,也不是一定要在课堂中学习,但是课堂中的学习可以有个非常全面的认识,并且也不是像工作中的学习那么带着目标地去学。比如我在工作中学SSL,自然是重点去学我要用到的部分,而不会去学SSL的发展历史为什么新的版本要这么改进现有SSL可能有什么问题现在学者对SSL的看法之类。
我猜,前面说到的第二个人,那种强大的实现能力,或许在工作中更能培养。不过第一个人能够如此娴熟地引用RFC,论文什么的,我想和良好的博士教育还是分不开的吧……我实在很难想象没有受过任何博士教育的人能够有时间有闲心去读过这么多论文和RFC,能有如此深厚的积累。
总之,我觉得我想读这个博士,即使以后学术界竞争过于惨烈无法进入学术界,也不是一件毫无意义的事情。我有这么几年时间,可以在全世界最好的学校之一,积累知识。而且,也有很多这么好的实习机会,可以让我在真实的系统中去运用所学到的东西。
https://blog.sciencenet.cn/blog-441887-472859.html
上一篇:
当老师和当厨师的本质都是一样的:爱下一篇:
一周年