课代表立正的官方Podcast
深度访谈,有用干货,亲身验证的「真本事」
Superlinear Academy创始人,Maven Top AI Instructor
前Statsig布道师(OpenAI收购),腾讯副总监,Meta,Amazon;康奈尔经济学博士
社区:Superlinear.Academy
课程:ai-builders.com
个人:lizheng.ai
我觉得有一个特别不容易的地方就是你们是双胞胎姐妹
所以说你们成长经历很多时候反而是一样的
那这个就给我们一个很好很好的视角
就是说到底这个科班出生的程序员和这种转买的程序员有什么区别
我们今天就想把这件事情给聊清楚
就尽可能的拿你们做一个非常宝贵的Data points
我们就是一个A,B test, control and test
对对对
大家好我是Kathy
我在美国本科CS毕业之后就加入了Meta工作
现在工作一年半左右
大家好我是Ashley
我最开始学的是商科就是General Business School
然后学的就是金融会计市场营销这样的内容
但是在读完本科之后我就转码学了计算机
现在是刚刚转码成功进入了Google
好的呀两位同学都是在这个美国大厂工作
但是
好啊好啊厉害厉害
然后
不要笑场
这个是为了节目效果
两位就是虽然专业不一样
但是后来殊途同归都是在
其实很多同学们都很羡慕的大厂去做了一个这个高新的程序员
但是我相信你们第一呢就是学习和找工作的经历应该都是很不一样的
然后你们现在在这个大厂工作体验应该也是很不一样的
我觉得有一个特别不容易的地方就是你们是双方台姐妹
因为所以说你们成长经历很多时候反而是一样的
那这个就给我们一个很好很好的视角
就是说到底这个科班出生的程序员和这种转码的程序员有什么区别
我们今天就想把这件事情给聊清楚
然后我觉得我们也不需要有什么价值判断
就是尽可能的拿你们做一个非常宝贵的data points
对吧
我们就是一个A,B test
对
那我就直接来问你们问题吧
你们在找工作的时候当时都是比较好找吗
就是可不可以稍微简单的介绍一下你们找工作的经历
我是从大一开始就有意识的去投简历
然后在不同的公司实习
都是互联网公司
对
我大一的时候是在一家新加坡based的创业公司做fintech公司做安卓程序员
然后大二的时候是在一家美国做cloud computing的公司叫service now
做后端的程序员
然后大三的时候我陆续分别到领英和meta
当时是facebook做实习
然后毕业之后呢
就拿到了两家公司的return offer
然后我选择了加入了facebook
其实我并没有特别的海头
我基本上是哪个公司我想去或者是哪个公司
一般就能拿到面试的邀请
然后面试就会过
面试稍微准备一下就过了
对
也不说稍微准备一下
就是准备了就过了
好
那我再讲讲我的经历吧
我的故事就没有那么顺利了
我是从master开始才开始学计算机
然后我第一学期就开始投简历
但是当时我的简历上面没有任何的sys相关的经验和项目
所以说
虽然海头了300多家公司
但是几乎没有收到面试的邀请
而大多数面试也是在做了OVA的网上的再新测试之后就咬无音讯
所以说成功率是非常低的
但是索性当时比较幸运
收到了IBM的实习
过了IBM的实习
所以开始在IBM实习
从那以后就开始陆续能够得到这个面试的邀约
所以第二年又在亚马逊和Southworth都有做实习
但是从我开始投简历起
我投了5次的Google都没有收到任何的回应
所以并不是只要投简历就能收到面试的
那后来怎么来Google了
第6次
其实是非常幸运的
当时收到了Google Recruiter给我发邮件
我当时以为是垃圾邮件
但是我就回了
但没想到是真的面试
所以我真正拿到Google的面试
并没有投简历
而且我每一次投都有找朋友refer
但是即使refer了
也不是所有的面试都能拿到
明白了
就是难度还是有差
对吧
就是在找工作的时候
很明显的CS科班出生的人
找程序员工作
会比转买的同学要简单很多
但是我更好奇的可能是
就是拿到了这份工作以后
接下来会发生什么
因为我觉得大家很多时候
会对转买的同学有一定的偏见
就是觉得说
你没有经受这么系统科班的训练
然后你只不过是运气好
对吧
来到了这个大厂
那你其实不胜任这里的工作
就是大家都是技术很厉害的人
你转买的话
你在这里应该survive不了的
你能survive是因为他们的这个
policy比较好
能让你混下去
你觉得是这样吗
我觉得
我觉得开始上手肯定会慢一些
特别是在没有实习经历之前
我完全不知道工作中是什么样子的
怎么应用我们计算机学的东西
应用在工作之中
我是完全不知道的
特别是面试考察的技巧
其实就是刷题找工作
算法本身
而工作中其实运用非常非常多的计算机的知识
所以先开始上手
我觉得是非常困难的
但是在三段实习经历之后
我觉得
基本上能够胜任日常的工作
所以我觉得
如果你能Ramp Up非常快
或者如果你能给自己足够的时间去学习
或者弥补计算机的知识
我觉得其实是能够在工作中胜任你的岗位的
所以说你在现在Google的工作中
你觉得你的能力完全可以胜任这份
对吧
我觉得是的
可能从Ashlee的角度
就是她知道了自己
现在懂的是什么
然后她觉得工作是什么
她觉得完全胜任
但是你可能比她多了四年的
这个就是非常
我们也知道就是读CS专业在美国
是非常难非常苦的
很多时候就是
完全没有任何的休息时间
天天通宵那种情况
就是你比她多学了这么多东西以后
你觉得为什么你们两个同事都胜任你们的工作了
这是一个非常好的问题
从我的角度上来看的话
我也会觉得学校学历的知识
其实和工作中的应用
其实还是有一定的Gap的
就比如说学校它学的大多数是一些学术层面的应用
或者是整一个计算机科学史的发展的过程
所以说我们在学校中的知识
并不是直接就可以在工作中用到
所以对于一个普通的CS专业的学生来说
我们在工业界工作也会有一些Learning Curve
但我们可能会比别人上手更快一点
因为我们之前有接触过类似的东西
还有一点我想说的是
某一些特殊领域的软件工程师的工作
比如说Compiler
再比如说一些Network
再比如说Distributed System
这些东西我觉得可能对于一个没有很多年CS基础的人
或者是一个转码的同学来说
可能会稍微有一点难度
但也不是说完全没有可能
就是我们是如何定义转码这个title的
其实我们之所以说转码不能胜任
是觉得在很短的时间内
他不能一下子学习这么多别人已经学了4年的东西
我们也没有时间很快的去深入的研究
而我们的Focus就是赶快找到工作
赶快刷题进入大厂上岸
这就是我们对转码的定义
但是能不能胜任是要看你在转码之后
你对SYS专业投入了多少的时间
如果你之前没有学Compiler像Kathy说的
那我愿意花多少时间去学
如果我时间花够了
我并不觉得转码的人就在这个方面没有这个知识
所以我们之前讨论里边也有说
就是之前学到的知识是一个出速度
但是你的学习能力是一个加速度
也许就是之前因为有更多的知识积累
所以说在同样的刚进公司的时候
一个科班出生的同学他的出速度更快
但是加速度的话每个人一人而已
如果说你的加速度够快的话
你也是可以追得上的
对我非常的赞同
就是比如说对我来讲
我先开始可能我Ramp Up比别人更慢对吧
我可能先开始接触这个东西会更难
但是如果我有Passion
我愿意花更多的时间比别人投入更多
那么我觉得你追上别人的速度是很快的
而且工作中的时间可能不是说
像学校学了4年或者6年工作是10年20年
是如何你在工作中去学这些东西可能更重要
这个Gap是有的
但是它是可以靠时间和勤奋去弥补的
而且就像这个Kathy说的
在学校里学的很多东西
它并不是为了工作项
所以说它在这个工作的结果中
体现的也不是那么明显
不是说我比你多学了这么4年刻苦的知识以后
我就比你多了4年的功力
其实你这个功力能发挥到工作的结果上
其实可能10%
我觉得学校里面学的东西
它更多的是一种思维上面的
或者是对于学术界思维习惯的培养
它其实并不是把一个人培养成为一个程序员而目标的
它的目标是培养科研人才
所以说学校学的东西
并不能100%的转化为实际中你工作中的积累
我觉得这个点挺有意思的
然后我想稍稍再拓展一点
因为我们其实如果对美国大学的各个学科有了解的话
会知道CIS在这里边算是最苦最累最难的专业之一
然后退学率也是非常高的
他们录取的bar也是非常高的
那你作为一个CIS的同学
你觉得除了找工作之外
你最大的收获是哪些的
也不会说是一种学习的能力
而是一种你有无形的底气
就是说这个东西再难
我好像花点时间好像也能做出来
对我觉得这个是最重要的
但是你作为一个专板同学
你的感觉是什么
你跟他们
你觉得你跟他们差在哪
我觉得主要是钻研的精神
因为很多时候钻码的同学
他的focus是在我如何找到工作
我如何能够快速的上岸
所以他其实是在玩这个面试的游戏
希望能通过这场游戏
于是他努力的刷题
于是他努力的钻研算法
但是他的知识仅限于算法这一部分
但是对于计算机的理解
或者底层的理解并没有那么深
他会觉得这节课对我
对我找工作没有用
那我就不去学
我的精力是有限的
因为大多数钻码的人
他可能已经
可能年龄上面落后了几岁
所以他就没有精力花在
花在专业身上
所以就不会投入更多的时间
或者花时间在lab里面
跟同学一起并肩作战
我觉得大多数人都没有这么奢侈的时间
花在学术本身
那你当时刷题刷了多久
我觉得先开始刷题是非常痛苦的
特别是最开始的那个50道题
可能非常难
可能是至少一年以上
才开始能够做题
稍微得心应手一点
最后总共刷了几道
至少300道吧
特性你刷题了吧
其实我可能是一个个例
我本人是没有立刻账号的
我可能最多有
也就过了20道
但这20道我可能只是眼睛看
我并没有写
我感觉我好像会了
然后我就跳到下一道了
对就是没有特别的用心的准备
但我会就是
浏览一下看一下有不会的题
然后我就多看两眼
对我觉得这可能是一个区别
这对我来说可能
我对于Leco的题可能是熟练于新的
因为一道题不会
我就反复的去看那道题
或者一种算法不会
我就通过题害战术来研究这种算法
通过在题害中学习来找到这种
algorithm的解题的方法
所以说其实我对题目是更熟悉的
并且对于哪一个大厂
考哪一种类型的题
或者我该怎么准备
其实我都花了很多的时间
我想补充一点是
面试发的时间
常常和我们的半期考试
或期中考试
或某一个作业du的时间是重合的
而且我们还要几时间去找一个教室
然后去做这个面试
所以对我来说
不是说我不想花很多时间去准备面试
而是被逼无奈
就是作业当时对我的priority来说更高一点
就是不需要准备吗
就没有花特别多的精力
我觉得是被逼无奈
对没有办法
但是还是都过了
对就是能过就行了
就是过了之后就不管了
刚才Katie提到了
就是对不同的工作
可能说你在本科学到的知识
应用的程度是不一样的
比如说这个distributed system
比如说这个network
可能应用的就更多一些
然后其实我不知道你现在的工作
是一个更多偏向什么的
但是听起来跟Katie本科学的东西
这个相关就不大
是这样吧
我觉得就是
虽然都在大厂
但是大厂在不同的组
对程序员的工作技能
或者计算机背景的技能要求是不同的
比如说我们组是一个产品导向的组
我们对于底层的系统
或者对于整个architecture的搭建
并不需要设立
所以说这就是我能胜任的原因
但是如果把我放在Katie做的工作
我觉得我不见得能胜任
因为它会涉及一些工业
或者学术界的积累
需要对整个系统有完善的认知
如果把我放在她的岗位上
我觉得我会需要更多的时间去学习
去run pub
on board的时间会更长
但是对于我现在的工作
我觉得
就是一个更general的程序员的岗位
对更深的知识没有太多的要求
我觉得是可以的
在一些岗位上
你们两个可能不会有任何差别
但是在有一些岗位上
它可能更适合那种
就是对整个计算机的全貌
或者说知识有一定广度和深度了解的人
我其实是这么理解的
因为当大厂在招人的时候
或者这个岗位放出来的时候
它的这个description
是general的soft engineer
它不会要求说我要招一个ML的engineer
不会要求说我要招一个底层的engineer
所以说这是为什么招进来之后
它对你的期望就是
你要有学习能力去学这些知识
这就是为什么它要考算法
因为考算法是看你这个人聪不聪明
看你的反应能力怎么样
你能不能够阐释这些问题
所以说它并没有要求你
能够掌握所有的这种系统的知识
或者设计的知识
所以它把你招进来了
但是进来之后你需要match组
或者有不同的岗位可以做
哪些岗位是适合你的呢
你能够做一些更底层的活
还是你能够做一些更analytics的活
还是一些更general的更front end的活
我觉得这看你自己的skill set
大多数转码的人可能就会选一些
对系统知识要求没有那么高
更好上手的活吧
这是我的理解
我想补充一点是就是
当一个人有一定的工作积累
他的背景无论是转码还是科班出身的
我觉得都可以胜任更重要的系统
或者更复杂的设计类似的工作
就是在我本科读大学的时候
我周围的很多同学
甚至50%以上的同学
都是在高中初中
甚至更早就已经有编程的基础了
他们有些人高中可能就做出来
一个很厉害的东西
我在本科才进学校的时候
我什么都不知道
我连电脑上面任何一个编程的软件都没有
我就觉得我大一大二比别人差好多
其实我当时就觉得自己是一个起步非常晚
然后可能基础没有别人好的这么一个状态
但是我大学的四年时间都在慢慢的追赶
所以到最后我觉得可能我算在一个比较average的水平
我觉得其实我的这段经历
只是把转码同学的经历往前放了大概三四年左右
所以其实每个人包括我都有这种
觉得自己没有别人起步早的心态
所以说如果你愿意一直学下去
然后你对你学习的东西有热情的话
那你其实天花板是不会被你的一开始本科学什么而限制住的
那我再说一个另外的角度
就是转码
比如说你本科学的是商科对吧
就是Kate会觉得姐姐
就是商科带来的什么优势吗
就是你从她身上有没有学到觉得自己不一样的地方
就是我觉得跨学科的积累会带给人不同的视角
甚至会渗透到一些工作方式上面
比如说我就听说我姐有时候会找人coffee chat
去交流一些别人工作中的心得
然后这个习惯是我一直没有的
所以我觉得她这个想法挺好的
我其实特别佩服所有转专业的人
因为他们有这种要去做改变的决心和一个执行力
而且是要放弃之前在自己很自信的一个有
懂美knowledge领域投入到一个可能自己是一片空白这么一个状态
我觉得所有做这个决定的人都应该值得被鼓励
那Ashley你觉得你之前的商科有没有给你的程序员
生涯带来一些东西
我觉得当然是有的
就比如说我现在所在的组是一个产品的组
很多时候我会从一个product manager的角度来看
说我们这个产品做的怎么样
我们能不能让客户满意
或者说我们是不是一个revenue driven的model
我们怎么样让我们的产品涉及更多的用户
或者在我们表达自己观念的时候
怎么样让别人能够了解到我们说话的本意并且接受
我觉得这些说话处事的方式
或者从产品的角度来思考
怎么把engineering做好
我觉得这些思维都是曾经的学习和经历带给我的
Ashley你听了以后觉得怎么样
我其实觉得我自己一直表达能力都不是特别好
就是因为我在本科的时候没有得到很好的锻炼
所以我也很羡慕其他学科能够有更多表达自己的机会
然后能够锻炼这方面的能力
然后像我的话只能在工作中犯错
然后在错误中学习
其实我想说一个disclamer
就是同样是科班出身
其实人与人之间的差距还是非常大的
比如说我和我们专业最厉害
最顶尖一波人之间的差距
可能这个gap还是一直存在
从来从未消失过
但是同时也存在一波那种混水摸鱼的人
学校好像也开不掉他们
擦边能够稍微过这个线就能毕业
但他们其实也没有学到特别多的知识
所以说在同样都是CES专业科班出身的背景下
大家的差距还是人与人之间差距还是很大的
那我也来做一个disclamer
其实转码同学之间差距也是非常大的
因为每个人转码的他的初心是不一样的
有的人只是为了拿一份高薪的工作或者在美国留下来
而有的人可能是在转码之后
对这个工作本身或者对职业本身是有巨大的passion
需要自己在career上面有一定建树的
所以每个人他因为初心不一样
花在转码的时间就不一样
花在工作的时间就不一样
自身的专业时间就不一样
所以说虽然同样是转码的同学
其实差距还是挺大的
不能直接贴上转码这一个标签
好的我觉得这些总结都挺到位的
帮大家再问一个bonus question
Aschlie我先从你问吧
你觉得你leak code是什么时候
你刷到什么时候你觉得
好像我有点融会贯通的感觉
我觉得在刷leak code之前
肯定是要有data structure的基础的
在这个基础上一才能够学习算法
然后开始情绪多练
不然你只能是在提雅战术中
在很多跟头
所以这个肯定是要从data structure开始
第二就是你要对自己的预期放低一点
因为没有人本身就深来就会
所以你需要给自己时间不能着急
可能比如说做100道题
不要轻信别人
可能一个月就能做完
如果你需要三个月
就用三个月去做
但是你把这100道题都给搞懂
并且多做一些高频题
让你对算法能理解的这些题目
一些经典的题目可能对你帮助更大
而当你能够对整个算法有理解的时候
你再去追求数量
追求我能拿到一道题
就能写就不出错
就能backfray的这种
速度
我觉得这个就是不同的阶段
然后我还要一个小的tip
就是很多人他刷过题之后就过了
但他没有思考和总结
他下次再做还是不会
所以还是要有习惯去记录
或者去总结之前的错误
然后再反复的做那些更经典的题目
我觉得这些就是我自己的一些心得
Kathy你觉得呢
就是因为你不需要刷题就会了
你觉得这是为什么呢
就是你基础上打的老
打的是什么基础
其实也没有
就是因为我缺乏准备的时间
基本上就是没准备好
然后就去面试
然后面试也许就挂了
把这个面试当做一次训练
然后我下次面试的时候
我就会用到我之前面试失败的原因
然后的总结
然后下次面试的话我可能就过了
但是那些算法题就是该不会做还是不会做
可是你会做对吧
就是你的会做是来自于哪几门课呢
我觉得就是Data Structure吧
其实里面应该已经cover了所有要考的内容
而且我面试的工作其实都是实习
我也没有经历过正式的校照的面试
所以实习的面试其实一般考察的内容还是比较基础的
所以也没有需要特别多的准备
那你刚刚说你的学校里的课
大多数是对找工作没有用的
那就是大概百分之多少是对找工作没有用的
我觉得大二以后的课几乎都没有用
就是大一的时候
专业最基础的什么Java的基础呀
然后Data Structure的基础这些是最重要的
然后大二大三甚至大四之后学的都是
在某一个具体细分的计算机领域做研究
所以说大一大二基本上就够用了
但我觉得它不需要准备
是因为它能够确保它能够手上有很多面试
让它训练或者陪练
它即使挂掉了也没有关系
但对于转码的人来说
他可能就只能收到那么一个或者两个面试
那能进入周面就更少了
这就是为什么要花更多的时间准备
去make sure它每次一面都能过
这就是我觉得这就是区别
因为我平常在写作业的过程中
我其实对写代码这件事情就已经非常的熟练了
我似乎不需要思考具体怎么去用
怎么去想这个逻辑
我就能把它没有错误的写出来
所以说其实我之所以看题不用写的原因就是
我知道我有这个逻辑
我就能把它写出来
对
这是可能是一种熟能生巧的一个技能吧
我还想补充一点就是心态上的差别
因为转码的同学其实大家多少还是会有比较
我觉得为什么网上那么多人他们都能拿到面试
他们都能过面试
都在shy offer
为什么我就不行
其实我觉得更多的时候是跟自己比
多少人能够拿到面试
这个其实是一个概率问题
所以你需要一直保持身心的健康
让你有动力去不断的学习和专业
不断的去准备
才能过面试
我觉得不是一个一天两天就能速成的事情
就像我也不是一开始就能拿到大厂的面试
也是在不断的fail掉面试
不断的准备不断的训练
然后在实习之后才能有一个比较好的通过率
我觉得面试这里两位也给了非常实在
然后透明真诚的tips
最后来一个稍稍灵魂考问一点的东西吧
毕竟这是一个你的专业
毕竟这是一个外来者的感觉转码是吧
你们可能拿到了薪水
然后包括生殖的机会都差不多
那你觉得公平吗
或者说你觉得这件事情
你怎么样子去说服自己说
姐姐现在拿到了这个和我一样的offer
也是她值得的
在我的角度
我最开始学CS并不是说我为了能够找一个很好的工作
而真的是因为我热爱这一个领域
工作中的内容
学校学的内容
是能够让我感到兴奋的内容
所以说其实我也不会把我自己的薪水
或者我自己的职位和别人去比
我只会觉得我在做我喜欢的事情
能够拿到还有所报酬
我其实就很满意了
每个人可能会在付出的程度上可能有不同
但最后拿到的报酬是一样的
我觉得这种现象在各个领域都有存在
可能还是你自己如何去找到自己的位置
然后让自己的成果闪光
我觉得这个可能更重要一点
我非常非常赞同你所说的
而且即使是转码的人
可能你通过了面试
那仅仅是通过了面试
仅仅是一个敲门砖而已
帮助你踏入了这个领域
但是你踏入领域之后
你自己花多少心思去钻研
你花多少心思去追赶
花多少心思投入在工作本身
我觉得这个是自己个人的追求
跟转不转码没有关系
因为工作是一件非常非常非常长的事情
我觉得这跟本人的兴趣
或者对工作的热情
我觉得是有很大关系的
不是用那个金钱
或者用power和title来衡量的
好
当然我觉得两位都说的好好
因为这个非常独特的成长经历
和现在又都殊途同归的到了大厂里边
我觉得反而给我们提供了非常非常宝贵的视角
最后平台结束之前
有没有什么想跟观众说的话的
我有
我怎么说呢
那我毛遂自荐一下
给自己打个小广告
我有一个记录平常我所思所想
insight的一个小博客
一个substile网页
如果大家有兴趣的话
欢迎订阅和分享
你看我们平时除了工作
还有时间
有兴趣来写作一些科技方面的insight
而我就没有
所以peer pressure is everywhere
好的
谢谢两位
我们就到这里
大家下期再见