寻求程序设计的博士科学家的职业建议?[关闭]


13

我基本上是一个自学成才的程序员。实际上,我最初是在生物物理学研究生院学习的一半左右就开始编程的,即使我认为我做了一些非常出色的工作,但我从未作为一个拥有超过一两个人的“严肃”开发团队的一员来工作。其他开发人员(我会毫不犹豫地称他们为软件开发专业人士,因为他们是专业人士)。

在完成博士学位之后,我一直专注于编程,正式是一名博士后,但非正式地担任人员研究程序员。那时,我还曾在Google接受过两次采访,但没有实际报价。由于它是我扎下了一些根,也许无论如何都无法承担这份工作。房屋+妻子有高薪的工作,等等。大约三年了,我的诚实评估是我学到了很多东西,但是我确实需要更多的同龄人来维持或加速我的成长。问题是,每当我看时,大多数工作清单都具有看起来不可能的宏伟要求,因此我不愿申请。那,或者工作/项目似乎非常沉闷。

我怀疑大多数人在评估他们需要多长时间才能适应时才比我现实得多,或者他们不在乎。我担心的是,我没有资格从事任何有趣的,薪水丰厚的开发人员工作。IE:我相信我可以在几周的工作后完全切换回C ++模式(我每天大多使用C,Python,C#),但是我并没有列出自己在CV上“精通C ++”,也没有申请对于“需要”这种知识的工作。我确实认为自己是一场非常不错的比赛,但并没有引起任何回应。

我怀疑以下是我的应用程序/ CV的潜在问题,我希望获得反馈:

我没有CS学位。我的学士学位是生物化学和分子生物学,我的博士学位是生物物理学。我上了本科和研究生级别的算法课程,并完全杀死了他们,但是我不知道如何有效地将其转换为我的简历(获得A +和同班其他人吸烟之间的区别)。

我有博士学位,但不在CS中。我一直在争论是否应将其从我的简历中删除,无论是否将那些年份中的至少某些年份列为某种“程序设计”,都会产生误导的工作(从很多方面来说是这样)。

我认为有时“自学成才”的程序员会有很强的污名。我当然是其中之一。我什至意识到其中一些污名带有一丝道理,但我确实确实想成为团队的资产。我如何传达自己的意见,即使我已经从事大约8年的自我指导工作,我仍然可以在需要时接受游行指令?我会这么直接说吗?

我应该在整个过程中变得更加谨慎吗?轶事:我有一个朋友申请了职位,他完全completely毁了自己的资格,超越了第一次淘汰。与他联系时,他对自己的实际资格更为诚实和坦率,他仍然设法被邀请参加几次面试,甚至获得了一些邀请。他的球比我的大。


我很佩服没有经验的Google专家!但是不幸的是,我们所有人都必须从阶梯的底部开始。雇主可能不希望获得博士学位的主要原因是,通常来说,他们被认为比理论更实用(科学家,而不是工程师)。有关完成工作的知识,因此您需要首先证明自己可以做到。
没人

1
我很怀疑,不幸的是,我认为正在发生跨学科的误解。我认为大多数人没有成功地计划工作,完成工作和交流工作就不会获得生物科学博士学位。“完成工作”的一部分意味着使您的手变得肮脏:在编程世界中,等同于编码,调试和调整。我觉得这类似于“完成工作”。现在,如何在简历上进行交流而又不显得学究,光顾或傲慢自大……
C SD

1
您对底部的定义是什么?我想比现在做更多,但是我更大的动力是我想学习更多,更快,并且是更大努力的一部分。目前,我以非官方员工程序员(postoc)的身份工作约有4.5万,如果我继续担任这种职务,我的未来前景不是最好的,但是我认为“底薪”并不一定要少花钱并且我认为这是不合理的没那么有趣?
C SD


如果您过去曾在Google进行过面试,那么您缺乏CS学位可能不会阻止您到那里工作,否则他们根本不会面试您。与许多公司不同,如果至少一年过去了,Google会给“第二次机会”。我们现在正在招聘。
Uri

Answers:


12

我该怎么说:程序员一毛钱一打,但是有生物物理学经验的程序员可能很少。因此,如果我是您,我首先会尝试在您的领域中找到工作,编程工作是工作描述的一部分(或使其成为工作描述的一部分)。这样,您将开发出比普通开发人员更具竞争力和独特性的技能,而最终开发人员可能会为您找到出色的工作。

当您计划自己的职业生涯时,不仅要考虑下一年左右,还要考虑长期的五年。如果您喜欢编程,但可能没有正规的教育,那么您需要利用其他技能来找到所需的工作。


2
寻找一家从事生物物理学工作和编程的公司。
Alex Feinman

2
强烈同意。能够说两个领域基本上是一种罕见的技能。利用该技能来做一些很棒的事情。
保罗·内森

1
绝对关注计算生物学
2011年

好建议。我想你告诉我的是我不现实。我的希望是开始进行一个大型的公共项目。诸如WebKit,StreetView / Earth,Photosynth,LLVM,btrfs之类的照片编辑包:Photoshop,Lightroom,Aperture。涉及编程的生物物理学工作往往更多地是我已经在做的事情,那就是小团队,无序的过程……但是我看起来会更艰难。
C SD

1
@C SD-不,您将无法加入一个大型团队并带领它。成为一名博士学位,这实际上是您的职位,但您还没有得到认可。您需要做的是从一名从事编程的生物物理学家转变为从事生物物理学项目的程序员。如果您找到了一个强大的高级程序员,请看看他们是否会指导您。使用您的生物物理学学位来支持您的编程,而不是让它定义您。
SoylentGray 2011年

2

首先,学会专注。说真的 较长的复杂背景需要进行编辑。

我没有CS学位。

相当一部分工作的程序员也不是。在大型IT商店中,有相当数量的副学士学位。

我有博士学位,但不在CS中。我一直在争论是否应将其从简历中删除,

不行。在工业上,任何程度都是重要的。同样,对于可以获得一些经验的入门级工作,例如,在保险公司的IT商店,您正在与拥有副学士学位的孩子竞争。

我认为有时“自学成才”的程序员会有很强的污名。

什么?与我合作的大多数IT人员都是自学成才的,因为他们的公司太便宜了,无法聘请新技术的讲师。

只需申请那里的所有编程工作。您申请的越多,您就会越了解他们的需求。

一家随机健康保险公司中的一家大型IT商店将非常高兴拥有一个相当聪明并且知道该技术的人,即使他们是自学成才的。

由于大多数(半数以上)的在职程序员没有(a)没有有用的学位,并且(b)对他们预期使用的一种或多种技术是自学的,因此,您的担心完全是徒劳的。

如果您想看起来更专业,请开始阅读更多代码。从您感兴趣的开源项目开始,并对代码库进行完全反向工程,以便您了解最佳实践。

同样,可以选择的是,大多数IT商店都被告知雇用具有“业务知识”而不是技术技能的人员。因此,如果您在某个随机学科中拥有大部分博士学位(严重的话,您的问题是如此漫长而漫漫……),那么请专注于该行业。


抱歉,时间太长。我以为我会将最重要的部分放在顶部和底部,以帮助快速扫描。我的经验是:学位的情况恰恰相反……Joel S.甚至有一篇关于“被高估”的CS博士的老文章。
C SD

您可以链接Joel的帖子吗?
Andrea

joelonsoftware.com/articles/GuerrillaInterviewing3.html最相关的部分:精明但无所事事的人经常拥有博士学位,并且在大公司工作,而这些人完全不切实际,所以没人听他们的话。他们宁愿考虑有关问题的学术问题,也不愿准时交货。--------------------将其放在上下文中,他的实际标准是正确的,与学位无关,但他确实表现出明显的偏见,即使当然,这是幽默的。
C SD

我还要补充一点,其他人(招聘人员)告诉我,拥有较高的学位可以使您起步甚至更高,但同时也可以将门槛提高。我想列出自己的学位,因为我为此付出了努力,而且我认为它显示出一些不错的素质(不一定是教育程度),但是如果某些HR人员看到这些字母,并认为“我们必须在最少X的金额,他甚至没有相关的学位和吨的经验?ERRRRRRR”
C SD

@C SD:“如果某些人力资源人员看到了信件,并认为...”,您没有任何证据。您现在可以停止绞手了。在没有人真正对您说这句话之前,您应该认为它不只是谣言,更像是一个城市传奇。
S.Lott

1

事实是,您可能必须承担其中一项“令人难以置信的沉闷”工作才能涉足。但是一旦您有6-12个月的简历程序员才能工作,那么您应该能够相当快地上下移动。


0

我坚信编程是一门艺术,它来自实践而不是学位。
是的,这很令人沮丧,因为组织(尤其是大型组织)(例如Google)常常没有较高的学历,因此低估了自学成才的程序员。您听起来像一个有足够耐心的人,但我认为自己没有足够的能力为您提供建议,但是我想提一些几点可能对您有所帮助:
1.在偏爱人才的小型组织中尝试。
2.开源是一个平台,可以展示您的才能,获得真正的开发知识。
3.认证:MS,Oracle等巨头提供了不同的编程认证。当然,在简历中添加这些认证将使您的编程优势。
祝好运!:)


谢谢你的建议。特别是#2看起来不错,因为我使用了许多OSS项目,甚至检查了我使用的项目中的许多代码。我确实应该为其中的一些做出贡献,但是最终,不得不支持一个由15个人组成的实验室的各种软件需求实际上使我几乎没有时间通过​​参与而臭名昭著。也许答案是尝试#1,同时希望也能够做到#2。回到怪物...
C SD

不客气,祝你好运!:)
游侠

自学成才的人倾向于系统地学习,并且经常在知识上有很大的差距。有学位的人通常是更安全的选择。此外,学位显示出一定程度的决心和完成某些事情的能力。这对个人可能不公平,但是有理由雇用具有学位的人。
David Thornley

因此,我要说的是,自学成才,学位错误可能比单独一个人更糟?
C SD

@David Thornley,因为是凭借才华获得了对智慧的热爱-没有更好的决心证明。我宁愿就某人已取得的成就或可以利用其知识做事,而不是从何处或如何获得知识来进行仲裁。关于每个人的重要事项,如Heinlein所说的elise.com/quotes/a/heinlein_-_specialization_is_for_insects.php
FilipDupanović2011年

0

我也曾经做过博士后。如果可以,在您的大学参加一些CS课程。由于您不是付费学生,很可能无法正式上课,但是您可以询问班主任和助教,是否可以参加课程并进行项目。您不会对家庭作业进行评分,而是上班时间使用资源。

你为什么想做这个?有些课程如果不参加出色的讲座并互动地提出问题,就无法独自学习。我建议参加以下课程:

  • 算法
  • 数据结构(有时与算法课结合使用;如果没有,通常是大学提供的第二门编程课)*
  • 网络(特别是TCP / IP套接字编程)*
  • 数据库(尤其是SQL用法)
  • 操作系统 *
  • 编程语言(通常是对编程语言的概述)

星号*表示这些通常是大量编程的类,因此它们将帮助您提高整体编程能力。


0

放松!我们最受欢迎的出版作品均采用叙述形式。我们不基于学术上的优劣来判断。我们即将迎来最开放,最随意的科学领域。能够做出有用的贡献是很重要的。

采取@Ranger的观点#2。如果没有时间,您不必参与大型的开源项目。您可以编写一个小型库。当您使用公共资源库来查看他们的工作时,雇主会喜欢他们—他们可以立即评估您可以遵循社区风格准则,可以阅读其他人的代码以及可以编写独立的,可打包的代码,分布式和受修订版本控制。大多数CS研究生甚至都无法做到这一点,因此请谈论他们的知识差距。

最后,您已经对编程充满热情了。谁或什么阻止你?


我的意思是说您在Google工作?我真的没想到会在那儿获得第一次面试的机会,第二次让我更加失望,尽管说实话,因为我现在扎根,所以我不会接受这份工作。只是感到失望,我什至没有设法从其他一些应用程序中得到回应,更不用说采访了。我没有提交太多申请,但是我确实仔细挑选了他们,因为我认为它们将是一个很好的选择。
C SD

我们都是火箭科学家,对吧?我的看法是,除非您向他们提供一些实际检查的内容,否则他们通常不会对您过去的工作经历印象深刻。我们大多数人在NASA或Google上都没有做过开创性的工作。这将是可信的,因为每个人都可以与那里发生的工作相关。因此,您必须展示自己的能力,而不仅仅是谈论它们。在您的项目页面上放置一个QR码,使其登陆。做一些不同的事情。在申请人的Bill和Jane水坑中为自己出类拔萃。我不在Google工作,但这就是我的应聘方式。
2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.