中级农民
- 积分
- 111
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2016-3-14
- 最后登录
- 1970-1-1
|
313 个主题 | 8805 个回复 | 最后更新:2026-3-12 18:54
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
这篇文章主要总结一下楼主从决定转行cs到最终拿到SDE offer的两年过程,案例非典型, 1)不是脱产fulltime student 2)大幅度转行,不是工科商科理科转cs,是Liberal Arts转行cs。可能一些经验想法不适用很多人,大家有用的借鉴,没用的忽略就可以了。
个人背景: 楼主是某Ivy校Arts专业的Master,master 第二年顿觉自己不是搞学术的料子,放弃phd,决定找工作,海投简历找到一件IT公司全职工作,Title是Product Analyst,主要是和客户沟通一些产品问题,做简单分析,daily job比较繁杂,非常cross functional,说是analyst,但其实没有接触到什么具体的analysis工作,这第一份工作主要是搞定visa,积累经验,完成从学校到社会的过度,楼主没有呆满一年,就跳槽到了一件consulting公司做Engagement Manager。这个title很唬人其实就是做客户管理的,负责engage客户,客户随传随到解决客户和project上的各种琐碎问题,goal就是确保客户renew order或者增加order,帮助公司实现盈利增长,这份工作楼主也没有接触到任何实质性技术,但是由于stakeholder都是engineering director,所以耳濡目染了解到很多IT行业的理念,有机会目睹一些project从零到1的过程,或者是流产的过程,还有大公司各种人际交往的tips,楼主因为这份工作决定去读一个cs学位,这个选择学校过程,楼主在另一篇文章中已经详细论述了,感兴趣的可以移步:
https://www.1point3acres.com/bbs ... 94323&extra=&page=1 . 1point 3acres
这第二份工作也没有干满一年(跳槽频繁不是好事大家不要学习)在读cs的第一个quarter,我就开始找一些技术性强一些的工作,比如system analyst,solution architect,devops engineer,support engineer这种,最终拿到一家数据软件公司的offer,做support engineer,我很喜欢这家公司,学习到了非常非常多的东西,比如sql,数据库知识,数据分析,数据存储,数据管理,在这个工作我并没有很多coding的机会,但是有很多和SDE接触的机会,看到他们debug的过程能学习到很多,比如他需要一些什么样的additional information,怎么样narrow down一个问题找到root cause,怎么样test,etc,这些知识很宽泛但是极强地锻炼了我的思维能力,10个月之后我就被promote到senior support engineer,senior职位其实做的事情并没有什么不同只是需要带新人了,有了更多的mentorship responsibility,需要说明的是我是一直在职边全职上班一边艰难的啃cs degree,非常辛苦,但是好处是楼主在一边念书一边积累工作经验,向着自己的梦想迈进,每一天都很充实,有干劲。在这个工作工作到1年5个月的时候,我就觉得timing到了,准备开始申请程序员职位。下面我想具体讲一下我自己是如何看待是不是ready申请SDE的问题: ..
首先,作为转行cs特别是零基础转cs无论是不是念degree还是自学,途径不重要,重要的是一些基础课必须要好好念完,作业也必须好好做,这个阶段是打基础的,我个人觉得刷题一定不是第一步,没有基础的刷题就是盲人摸象。个人认为的cs基础课是:
1到2门programming 入门,我个人觉得cs入门Java或C++比较好,这里可能别人有异议,我是在学校用C++入的门,两门C++入门课,之后自己学习的Java.--
Data structure (极其极其重要)这门课我觉得是帮助最大的
Operating System & computer architecture 这两门课基本是先修和后修的关系,我当时想直接上operating system,学校不允许,然后上的computer architecture,这两门课基本是帮助在更加low level层面理解计算机原理,我工作之后觉得非常有用,因为不是很多bug都可以通过debugging tool找到的,也不是肉眼能看到,一个程序怎么样运行,build execute complie runtime之间的关系是怎么样,我成为SDE之后的第一个project遇到了一个大问题,就是涉及到complie非常底层和OS相关,如果没有这两门课的基础,我肯定会被block很久很久。
有了cs基础知识之后可以开始选一些project based的课程,比如web development,database design,简历上的项目可以从udemy,udacity或者一些培训班中完成,对我个人而言学校的project都比较初级,我都是找到其他途径做的project放到简历上。
做side project可以和刷题同时进行,刷题这个问题我实在是不想多谈,因为楼主不是很擅长刷题,而且楼主是一个非常self-motivated的人,如果一件事情不能让我感到自我成长,我是很难以去坚持的,而对我个人而言刷题就是这样的一件事情,我没有办法可持续的self-motivated的去刷题,所以楼主的方法是用面试来带刷题,就是先拿到面试,然后delay一个月,这一个月拼命刷,刷公司tag,这个阶段是最productive的,另一个原因我没有办法持续刷,是一边工作一边上学确实除了周末很少有大段时间用来刷题。对于地里大部分学生来说我个人的刷题经验都不典型,所以这里我就不多说了。楼主拿到某大公司SDE offer时,leedcode刷了500道。一些经典高频题目能做到一题多解。
时间线再来回来决定申请SDE,大概投简历到面试到拿到offer,用了2个月时间,我从5月份开始投简历,到7月份拿到了offer,是西雅图某大司(版中俗称:巨硬),后面还有seattle某local公司onsite但是我太懒没有去面,就只接了这一个offer。大概从我开始上cs到拿到这个offer用了两年时间,对于地里大部分半年一年转行成功的人,时间线算是拉的比较长的,但是要是从开始投简历到面试成功的时间也就是2个月时间,这个offer是楼主的第一个onsite就把握住了机会。这里面确实有一些运气成分在里面,但是我也自我分析了一下,发现之前的工作经历培养了良好的沟通技巧,onsite面试和面试官就像聊天,我个人与其说是紧张,更多的是兴奋,想尽量多的把自己的长处展现给面试官,巨硬是已烙印多著称,楼主面试4个人有三个是烙印,但是和他们聊得都非常好,人家也没有太刁难,这里不得不说之前的工作经验,沟通交流能力的锻炼起到了非常重要的作用。大概4轮面试结束之后我就觉得基本offer是稳得,题目上基本能答出来,有小bug自己可以解决,和面试官聊天愉快,让他们觉得以后和这个candidate一起工作能很不错,我觉得能做到这样基本offer就十拿九稳了。
最后想说一下,对于大跨度转行成功案例是有的,现在什么专业转行对于HR和面试官来说也不是一个污点,只要是有一定能力愿意接受挑战和学习,还是会有人愿意给面试机会,但是这条路并不像几年前那样容易,随便刷刷题就可以进大厂,这种日子可能真的不会再有了,楼主很庆幸当初选择了一边念书一边工作,因为之前的工作经验确实在面试环节起到了加分的作用,如果是脱产念书的话结局会是如何呢?或许更好也或许更差,条条大路通罗马,大家不必拘泥于固定的一条道路,只要是内心坚定,日复一日踏踏实实的努力,每一天都能感觉到自己的进步,那么不管是寒冬还是盛夏,都能接触丰硕的果实吧!
. Waral dи,
补充内容 (2018-11-1 02:47):
由于有一些人咨询side project的问题,我在这里统一回答一下:我的resume上放了三个side project,其中两个是udemy上跟着课程做的,一个是full stack web application,一个是C++写的3D小游戏。
补充内容 (2018-11-1 02:50):
还有一个project是在公司参与了dev-mentor program,和SDE一起合作完成了一个mini-project,是关于internal support tool的一个advanced feature,用Java完成大概5000行代码量。这个project含金量相当于一个实习。 |
上一篇: 虽然说这里的很多人求职都是叫苦连天的,但是这里的大部分人应该最后都有工作吧?下一篇: 请问就业导向的话选哪个vlsi项目比较好?
本帖被以下淘专辑推荐:
- · 王中王|主题: 48, 订阅: 30
- · JOB|主题: 269, 订阅: 12
- · 转行CS|主题: 2, 订阅: 1
- · zm|主题: 10, 订阅: 0
|