我是一个自学的程序员,刚刚开始攻读计算机科学学位,以补充我的知识,填补空白。
然而,我已经在辩论我的教育方向。我想要一个4年的学士学位,但在那之后,我不确定:它值得获得M.Sc吗?博士学位呢?这些学位带来的机遇是什么?
目前我的目标是成为一名软件开发人员,但在软件行业中有许多令人着迷的领域,我当然有兴趣对其中的许多领域进行研究。在这方面,我认为更高的学位可能是值得的--即使它不一定会对软件开发的职业有所帮助。
那值得吗?研究生院会开门吗?
发布于 2010-10-08 11:34:47
获得一个PhD对你来说有两件事,而且它花费了4年或更长时间。你需要决定这两件事是否值得花时间。首先,它给你一些名字后面的首字母。剩下的时间里,看到这些首字母的人会想:“哇,你一定很聪明!”(通常,他们会大声说出来。)在简历中,它通常会对你有帮助,尽管在某些情况下,它可能会伤害你,因为人们认为你资历过高或者是个书呆子。
其次,也是更重要的是,在我看来,是你的大脑和你的态度的变化,发生在这个学位的过程中。你最终会比任何其他人更了解世界上的某个小部分。你会站在三四个专家面前,有时是世界知名的专家,教他们你的工作。当你走进来的时候,那些专家会成为你的主管,考官,某种“老板”,而当你走出去的时候,他们将是你的同龄人。你会学到很多关于计算机科学的一个角落,更多地了解你自己和你的能力。在需要的时候,你会有信心成为“专家”。这就改变了一切。
除非你现在知道你想成为一名教授,或者想加入一个特定的研究实验室,在我看来,在做本科工作之前,你能决定PhD是很不寻常的。去做大学毕业生,和一些研究生交朋友。他们会告诉你所有你想知道的关于研究生的生活,婴儿教授的生活,你外出时的工作前景,等等。
我不后悔我花在PhD上的时间。它为我打开了许多扇门。这让我更加难忘(“是的,你是拥有PhD的女人,不是吗?”)并且是我的一些团队的资产,独立于我的能力和知识(“我们的团队有PhD!”)。但我当时加入的行业不是你现在要加入的行业。和那些正忙着的人交谈,然后在你完成大学毕业工作时做出决定。
发布于 2010-10-08 09:27:29
谁能说出一家拥有计算机科学PhD学位的大公司的首席执行官的名字?史蒂夫·乔布斯?比尔·盖茨( bits )也辍学了,因为他觉得周围的人都不如他聪明(基于GPA)。
我曾为那些拥有出色的程序员的公司工作过,他们在难以置信的系统上工作,其中一些人每天都在使用这些系统(比如Windows),还有一些公司帮助企业和谐相处(比如XML和SOAP)。这些人中有许多是自学的,学习的是计算机科学以外的学科,例如物理或电子工程。他们生活中编程的原因是作为完成工作的工具,而不是学习编程来学习如何编程。
我还与政府和大公司合作过,这些公司有着令人惊叹的剑桥毕业生,他们不仅拥有一个博士学位,而且还拥有两个博士学位。他们是非常有智慧的人,他们为通信和信号处理等领域非常具体的问题创造了复杂而优雅的解决方案。他们既不富裕,也没有在他们的部门有高级工作。这感觉就像他们被聘为“笨蛋”,独自一人想出这些解决方案。
在我的行业经验中,编程能力与计算机科学领域的正规教育水平之间没有相关性。在我担任软件工程师的早期,我看到一些人从我身边得到提升,他们的编程“不如我的好”(当然,国际海事组织(IMO ))--但他们有社交工程技能,可以找出应该对合适的人说些什么,什么时候说得对。他们并没有把自己的工作说出来--他们可以做好工作,只是其他的技能(与客户交谈、完成截止日期等)也很重要,所以他们没有像我一样把100%的时间花在编码上。
我学到了一个重要的教训--如果你内心充满了成功之火,你会找到解决商业问题的办法,编程或其他方法,以便使你的公司/部门更成功,从而更有利可图。
在我雇用的所有程序员中,我不关心他们的教育记录。如果他们通过了编程测试,而我的首席工程师对他们的能力感到满意,那么教育就无关紧要了。我们雇佣的最好的人之一是直接离开学校--也就是说,根本没有学位。
总之,如果你对编程本身的技术和艺术/科学充满热情,那么一定要追求一条引人入胜的学术道路。如果你想去的地方,成功不仅仅是编程,扩大你的重点,包括其他技能,如商业和心理学/社会学。从现在起的10,20,30年内决定你真正想要的是什么,然后向后努力,确定哪种行动方针能让你达到这些目标。
回答你的问题:一个PhD是一个真正的利基的好东西。它可能不会有好的回报,但可能会很有趣。
发布于 2010-10-08 18:08:48
嗯,我走了PhD路线(缓慢而痛苦)。我没有什么“目标”,就像它可以帮助我找到不同类型的工作。我这么做是因为我想知道一些事情。
我曾经是一名程序员,我认为编程是一个断断续续的主题,只是我读过艾萨克·阿西莫夫的“我,机器人”一书,我想要能够制造机器人,但我不知道怎么做。我想知道如何让一台电脑思考,理解自然语言,看,走等等。重点是,有些事情我不知道如何做,并想找出答案。
结果是什么?我学到了一些关于如何让计算机程序思考、查看等等的东西,但我也了解到,这些都是更深、更广的主题,值得一生的探索。一路走来,我学了很多理论和数学,还学到了很多东西。
我还学到了很多帮助我开发软件的东西,我写了一本书和一些关于它的文章,并张贴在堆栈溢出上。虽然我认为它使我更有效率,但我也认为它使我在编程团队中有点陌生。
那有帮助吗?可能是吧。我不想做我之前的那个人。
https://softwareengineering.stackexchange.com/questions/8111
复制相似问题