读研or工作--阿里巴巴吴翰清的邮件
来源: 吴道远的日志
刚刚回俊哥的邮件。看来大家都开始纠结考研或工作的事情啦!我上学期纠结过,问过已经工作了好些年的吴翰清,也问过南邮的学长们,特别感谢常佳学长。还好,这学期不纠结啦,呵呵。
顺便给俊哥发了个09年10月,我询问了阿里巴巴的吴翰清,他回我的邮件。想来已经发给三四个同学了,就贴在校内上吧,或许还有别的同学需要。
----------------不做评论,自己看---------------------
你好,
这些天一直忙于校园招聘,所以没什么时间看邮件,拖到现在才回你的邮件。
关于编程的问题,其实很多人在上大学前都没接触过计算机,而编程的门槛实际上也没有那么高。编程是需要长期坚持的,如果能坚持每天coding,想不变成高手都难。
而计算机语言发展到今天,面向对象编程已经非常成熟了,很多流行语言现在上手都非常快,所以你要重点学好1. C/C++ 这是所有语言的基础;2.面向对象编程 有了面向对象的思想后,你就能几乎掌握现在所有的流行语言,上手至少不成问题。
而信息安全领域对于编程的要求其实没有那么高。即便是看起来很高深的缓冲区溢出、木马等技术,对编程技能的要求也不高。要求的更多的是对系统的了解,而对于编程,其实则仅仅只有所涉及到的那些常用函数、库、方法,多练习,熟练后就很简单了。包括shellcode对汇编的要求,其实门槛也不高。
关于问题1:
首先我绝对没有说考研不好。只是说如今的学院派和实用主义有点脱节。其实我一直坚持一个观点,文凭和个人的能力并不是划等号的。很多硕士和博士,在研究生阶段做了2-3个国家级的项目,这些项目给了他们一些额外的锻炼能力。但是如果这些项目太过理论或者理想化,而个人的能力在项目中又没有得到充分的锻炼,那么到头来还是会很难找工作。决定个人能力的主要是看他在业余时间做了什么,在研究什么,爱好什么。passion对于一个技术人员来说是至关重要的,也决定了一个人潜力的大小。
不管是走上工作岗位,还是继续读研,或者是本科阶段,都需要坚持不懈的利用业余时间做自己爱好的事情。我更推崇于working for dream,这也是我们公司所推崇的一种理念。事实上,只要你明白自己到底想做什么,想成为什么样的人,然后往这个方向持续努力,你就能脱颖而出,就能与众不同。
不管是读研、还是找工作、或者是出国,都需要做些额外的东西,这些额外的东西往往才是决定你核心竞争力的价值体现所在。
关于问题2:
其实也是与问题1相关的。一定要先想清楚一个问题,以后要做什么,以后要走上什么岗位。如果你的价值观比较重视论文的数量和质量,那么做那些密码学等方面的研究是对的,但是这些东西对于互联网公司来说并不重要。类似密码学的项目很多,每年国家都有大量的这样的项目,我见到的很多硕士、博士做的东西其实都差不多,密码学、身份认证、入侵检测,还有很多类似的东西,但是我和他们聊一些安全行业很基本的东西,他们都答不上来,也就是说他们是为了做项目而去做项目,没有去了解这个行业,这是由于脱离了生产第一线所造成的,很可能成果本身存在很多难以实施的地方,后果就是这些研究成果基本上不会被采用,可能一篇论文过后,就不会有人再理睬那个东西了。我不知道每年论文转化为真正生产力的比率是多少,但我相信一定非常的小。
也有一些大公司会直接委托学校的一些教授做某些研究项目,这种项目相对更有针对性,应该会好些。
所以说如果你希望以后继续读博士,做教授,在学院或者实验室里任职,那么这条路无疑是非常正确的,甚至是出国,也会对你有非常大的帮助。
但是如果你想进入互联网公司工作,从事安全职位,那么这些东西可以说一点用处都没有。现在的密码学已经相对比较成熟,工业领域常用的加密算法就那么几种,即便是新出来一种更好的算法,还需要得到业界认可,成为标准,各个客户端要普及也需要几年甚至上十年的时间,其他的东西也类似。而硕士、博士对于一个公司的成本是大于一个本科生的,所以如果硕士、博士进入公司却是做本科生的工作,公司出于成本考虑是不会这么做的。当然一些大公司也会有研究性的职位,但是更多时候是让经验丰富的员工,根据长期的经验总结,进行的一种研究,针对性极强。所以公司的岗位更需要能解决实际问题的人。
如果你想研究一些信息安全的领域,并能够写成一些论文,不妨研究下浏览器安全模型,之前google和Microsoft都写过很棒的关于浏览器安全模型的论文,其次就是通过统计学研究用户行为的一些课题,这是一个非常大的课题,涉及到数据挖掘、统计学、用户行为分析、用户体验等诸多方面,当然也有安全。甚至你可以研究操作系统的安全性,windows7做了很多安全改进,为什么要这样做,vista是经历过惨痛教训的,微软学到了什么,linux内核安全的争论为什么一直不断,到底谁是对的,这些都是很好的课题。其实只要你关注,这些能挖掘出宝藏的东西就在身边。
关于问题3:
云计算现在被炒得很热,但是除了google、amazon、microsoft等几家大公司外,国外还有一些,国内则还没有做出来的。我觉得你可以暂时不用管云计算,现在外面讲云计算安全的基本上都是没自己做过云计算的,包括那些老外。所以听他们扯淡还不如自己先看看云计算的资料和实现原理,然后去google上注册个app engine自己体验一下,有时间就装个hadoop自己先玩玩分布式计算,相信你会有些体会。hadoop关于权限控制这块就是一个云计算安全做烂了的反例。
而当云计算做出来后,可能才能发现更多的安全问题。从目前google看来,云计算本身的安全问题还不是很大,但是传统的应用安全漏洞还是会体现在云计算用户的身上。
最后,还是那句话,你想成为什么样的人,你的理想是什么,决定了你的选择。
希望能给你点帮助。有事可以给我写邮件,我会尽量找时间回复你。