PhD学历的ECE求职应该完全按照CS的标准来准备么?

avatar 187895
wo94wo
3126
9
无论是CE,ECE, EE都统称为EE,一个原因是区别不大且同源,二个是与CS都有着相同的尴尬。
有一个问题从我PhD开始就一直在思考,周五无心向学于是来地里寻求讨论:

作为一个EE或者说ECE的PhD,是否应该去刷算法题面试SDE职位?

如果我是一个旁观者,看到这个问题,我会觉得真的很蠢,当然是要刷题要面试啦。 也许我真正想讨论的是:

在最初找工作阶段,EE的PhD对于面试的准备策略以及工作期待(决定未来工作方向)是否应该与master或者CS专业的PhD有所不同?同样的面试官或者公司也会针对不同的学历而对面试者有不同的期待?

PS1: 以下的思考都是我自己对于专业,学历,未来等等胡思乱想,今天写下来一是为了让自己知道自己都在乱想些什么,二是也许可以听到更多的人想法,我顶多是作为抛砖引玉中的砖头。三是我意识到了自己的局限性,因此不希望自己坐进观天,大家的讨论也许会产生许多启发。
PS2: 此贴不是为了引战master与PhD的高低贵贱,仅仅是讨论在工作分工上的不同。同样的,在足够长的经验之下,高中学历也可以做行业的大师。
PS3: 我仅仅了解ECE的PhD,且我认为CS的PhD天然的就对算法是相契合的(研究的 = SDE所需要的)。

1. 研究生找工作阶段,EE往往是认为除了CS之外,最适合编程的专业了,甚至很多时候在面试的时候与 CS 等价。但是这个观点我觉得在研究生学历是对的,在PhD学历不一定对。 在研究生阶段,EE和CS都是在接触电子设备(我觉得这也是为什么往往两个专业在master很类似的原因)的场景,并且在场景下以实现产品为主。而同时电子产品的实现都是以 编程 为核心,那EE与CS在研究生阶段说白了都是掌握好 编程 这个工具,然后寻找到一个好的产品(行业),进行编程。 我所说的电子产品包含 前端网页后端服务器(电脑为平台),APP(手机微平台), 以及各类今年流行的小型IoT产品开发。这些产品都是EE与CS的舞台,而唯一我们需要的就是: 武器(编程)+ 头脑(稍微了解行业)。 并且在master阶段,面试官所期待的更多的是你的武器,因此对于行业的理解上,即便EE与CS的master有些许不同,但是这样的差距被忽略了。

2。 以上的状况在PhD学历上有了一些不同。个人读了PhD之后,感觉EE越来越偏向于真正的engineering,而非CS中的science。拿楼主的专业是网络来说,我非常感兴趣的应用场景是IoT,喜欢万物互联的概念,这也是为什么读PhD读网络的原因。PhD的研究开始之后,也是更多的放在研究网络协议,网络架构等下层基础建设。 现在的感受就是,EE的PhD就是画一个非常感兴趣的high-level场景,然后根据自己的细方向去研究非常low-level的底层。我这里不敢说CS到底在干什么,但是感觉CS更加多的关注于算法的进化(也许是因为近年来感觉cs都在研究ML:没有最好,只有更好)。由此而来,这也说得通EE为什么属于engineering,而CS属于science。从而在PhD找工作的时候,CS更加关注于算法,如语音识别、自动驾驶以及各类AI产品,与现在的行业风向完美契合。而EE的PhD会更加关注于与专业和行业本身,也许只是我,我非常希望找到与IoT有关的行业,如VR/AR, 智能家居,车联网等等,(这些产品当然都需要算法,但他们也需要对于网络和物联网的行业理解)。

3. 在上层计划的指导下,研究生更多的负责功能的实现,PhD依靠对行业的理解更多的负责产品的设计或者是计划?在工作的前几年(我认为在工作年限足够长以后,即便是高中学历也可以成为行业大牛引领方向,因此仅讨论工作前几年甚至是工作前的职业规划期),鉴于我有过两年的工作经历,研究生往往是根据已经制定好的开发方向或者路线进行功能上的实现,这也是为什么我在当时工作的时候往往会有强烈的疑问: 为什么要这样做?谁制定了这样的开发路线?背后的原因是什么?打比方说,manager给我一份我要实现的功能,其中包含了此功能的流程,性能以及API。 那这个功能对于这个产品的意义是什么?谁规划了这个功能?为什么我们的产品需要? 我当时的大部分时间都会花在开发功能上,而无法真正的接触higher-level的想法(所以manager脑袋里的想法到底是什么呢?)。同样的情形,我在PhD阶段开始指导实验室内的研究生的时候遇到了,我作为leader的作用就是设计他们需要做的实验,并且告诉他们为什么我们需要这些实验的完成,我们的high-level picture是什么。否则的话,master们似乎会容易陷入到完成某个实验上去,然后忘记自己做这个实验的初衷。也就是说,当我们有了一个最初的蓝图和场景之后(比如说商业计划,老师接到的funding等等。 PS:现在EE的funding和工业界联系太紧密了,有的时候已经不算是纯粹的research funding了),学生们的分工就是PhD负责为了实现这个蓝图我们所需要的各项指标和功能,而master负责这些指标和功能的收集与实现。

4. 鉴于以上经验,是否可以YY说: 找工作的时候,PhD期望更多的利用自己对于行业和产品的理解,在组里承担架构设计(并不是说服务器后端的架构,而是任何一个产品和组里都会有一个合适的outline)的任务,从而与master的工作内容区别开来?当然最终负责总架构的必然是PM和更上层的商业计划。 换句话说,与观点1相对应的就是,在最初找工作的时候,同样是 武器+头脑 的找工作两板斧下,master更注重武器,而PhD更注重头脑(对行业对产品的high-level理解)。在同样的准备时间下,不同学历是否要在 两板斧 之下有不同的侧重? 有点说明的是:最终真正的强者自然是两方面都很强啦!所以这里仅仅讨论一开始找工作的准备策略。

5. 我并非说PhD不要刷题不要学算法,毕竟不会编程的PM是无法与dev达成一致的,更何况PhD在组里也是dev之一。 只有在了解capability的基础上,才能更好地进行架构的设计。而这里不仅仅是讨论EE与CS的PhD在找工作的时候的突破口不一样(CS:对算法的依赖程度;PhD:对本专业的依赖程度),并且讨论同EE专业下,master与PhD找工作时候的准备策略不同(master:对于武器的掌握程度;PhD:对于行业和产品的理解加上还能过关的武器熟练度?)

6. 新型EE具有更广阔的就业空间,而非传统EE的行业隔阂。传统的EE也许更加的偏重于具有强烈行业隔阂的硬件或者说工程制品,比如说cisco的网络产品, Intel的硬件产品等,这些真的就是本专业才会去选择的就业。相比之下CS的强大之处就是在于,编程是一个当下无敌的武器,大部分的行业公司都会有职位需求,从而成为了就业无敌万金油专业。然而, 随着IoT(硬件、网络、软件的三合一)提出以及极速发展,我觉得现在的EE的发展和就业空间开始有了万金油的味道,IoT打破了很多行业的限制,而成功的让很多行业都开始需求EE的专业知识,而非“你只要会编程就好”,毕竟三合一EE占两个。 因此当前情形下,EE可以更加的突出自己的专业理解,从而让自己与CS产生差异化。也许master还不足以显示出这样的差异化,而PhD可以把这样的差异化作为自己脱颖而出的工作准备策略?说起EE与CS的差异化,不得不提我看到的很多本校的EE master,大家的简历都为程序员而写,但是项目又比不上CS的丰富,感觉真正找同一个编程职位真的很吃亏。而现有的北美master两年制又不足以让master对专业的理解可以深入到将其作为找工作时候的特殊武器,因此遇到过几个master来吐槽,包括当年的自己,“我就不应该去读EE,就是应该去读CS的,ee学的东西有个什么用”。似乎到了PhD阶段,才会有“xxx内容是我们这个方向独有的,如果你司你组在做这个产品,那我的竞争力很强”的底气和自信。

6. 提出以上言论的原因:
  • 我的局限性: 我仅仅有过研究生经历;研究生后的一年工作经历;PhD阶段的实习经历(似乎都以research为主,比如说来你看看这个算法运用到我们这个产品场景上如何如何? );PhD还没毕业但是开始YY和焦虑毕业后的工作事宜(仅仅讨论的是工业界且非纯学术类工作。)
  • 目前开始准备找工作,发现往往还是回到了SDE的职位上,而作为一个EE的PhD(也许只是我这个方向),我的编程更多的关注于流程,而非算法,但是当前SDE都在面试算法。(学习新东西总归是好的,毕竟技多不压身,然而在时间有限的情况下,但是为了SDE只能大量学习算法,相当于另开一个新的学习内容,而同样情况下CS的PhD研究即所求,感觉真的很棒。)
  • 也许我对于EE的理解是很局限的,毕竟EE之所以开始细分成CE, ISS等等分支不就是因为大家开始不知道其他分支是在干什么的了。也许我对于EE的理解仅仅来自于网络或者说CE这个方向。

7. 除了EE,是否还有其他的学科具有同样的苦恼呢?

PS:一开始仅仅只是想讨论自己的委屈:EE与CS找工作的时候,觉得自己一腔对于EE的热情学了那么多专业知识,然而工作看的最多的却是算法。 然而帖子写着写着莫名的变成了 EE与CS的工作期待差异化 以及 master与PhD的差异化。 于是一股脑的丢上去,毕竟我身在其中而迷惑,而上岸之人也许会一眼发现我的问题或者矛盾之处。
  • 5
9条回复