查看: 68765| 回复: 103
跳转到指定楼层
上一主题 下一主题
收起左侧

[经验总结] 大文科转CS - 一个文科生转行码农总结帖

   
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

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含金量相当于一个实习。

评分

参与人数 56大米 +398 收起 理由
meowdidi + 1 给你点个赞!
nomnomnom + 1 给你点个赞!
波子汽水 + 1 给你点个赞!
二次元の无耳兎 + 1 很有用的信息!
awueeee + 1 很有用的信息!

查看全部评分


上一篇:虽然说这里的很多人求职都是叫苦连天的,但是这里的大部分人应该最后都有工作吧?
下一篇:请问就业导向的话选哪个vlsi项目比较好?

本帖被以下淘专辑推荐:

  • · 王中王|主题: 48, 订阅: 30
  • · JOB|主题: 269, 订阅: 12
  • · 转行CS|主题: 2, 订阅: 1
  • · zm|主题: 10, 订阅: 0
 楼主| 屯骨拉面oishii 2018-11-6 15:11:30 | 只看该作者
全局:
谢谢大家热情的留言和私信,帖子火得猝不及防,我也是有点不知所措,根据大家的留言和私信我再提供一些忠言逆耳吧:
1. 贴中寥寥千字不足以概括这两年的万分之一辛苦,还是希望大家转行谨慎,毕竟学费也不是很便宜,和我两年前选择念cs相比,现在北美很多各种名目繁多的program,online的项目开设的更多,建议大家还是多多了解,不要盲目选择,综合自身学习能力,经济能力,适合自己的才是最好的。. From 1point 3acres bbs
. 1point 3acres
2. 对于这个online课程,有和我初期一起念的人中途drop没坚持下去的,我由衷希望大家能在选择念一个degree之前通过一些免费网上资源自学一段时间,学习时候不要只是听课,要动手做联系或者mini project,能坚持2-3个月的再考虑申请学位,希望大家不要把学费打水漂。

3. 有很多人问我如何分配时间,鲁迅有句话,时间就像海绵里的水,只要肯挤,总是有的。楼主除了一天8小时fulltime job之余,每天能分配给学校4-5小时,final时候工作lunch break时间也利用上复习考试,基本一门课10-15小时工作量,我可以利用周二到周五 + 一个周六完成,周日看一些其他的辅助材料,比如side project和刷题,summer我是drop掉的,有4个月用来刷题和做side project,很多人说我很短时间做了500道题,这其实是不正确的,我陆陆续续刷了有1年时间的题,只不过因为很难拿出大段时间来刷题,刷题很缓慢,我是拿到面试再把一些高频题再过一遍,但是由于之前刷过,也整理过笔记,所以过得速度很快。-baidu 1point3acres

4. 最后说一点关于学校的,我上的这个program和学校不算是北美TOP50的,教学质量也不是很高,楼主选择念degree是因为自身背景和CS相差太远,如果是理工科方向的觉得cs基础知识pick不困难的同学也完全可以选择其他方式进入industry,还是那句话,条条大路通罗马,大家不必拘泥于一家之言,这个帖子的主要目的是希望给和我一样背景差别比较大的朋友一些鼓励和借鉴。

再次谢谢大家的留言和回复,祝一切顺利!

评分

参与人数 1大米 +50 收起 理由
whdawn + 50

查看全部评分

回复

使用道具 举报

推荐
bodeplot 2018-10-26 01:56:46 | 只看该作者
全局:
非常同意楼主关于沟通技巧的看法。忘了之前在哪里看到一个帖子,里面说technical interview里面试官真正看的是"会不会愿意和这个candidate一起工作"。也就是说,如果把这个candidate放到你的组里,你每天要花几个小时和TA一起合作,你要和TA一起赶deadline一起为项目负责的话,那你还愿意招这个candidate吗?YES的话就过了,NO的话就不过。

每个面试官给YES的标准都不一样。有的面试官可能觉得题能做对就给YES了。更多的面试官会要求沟通能力强,英语说得顺溜,能顺利地分析需求,解释自己的做法,以及分析利弊。要求高一点的面试官可能还要看聊天聊的是不是舒服,以及cultural fit之类的因素。个别unprofessional的面试官可能会有国籍/性别歧视,比如印度人想"我只想和印度人一起工作",或者ABC想"我不想和中国人一起工作"。

即使刨去不专业的那些面试官,还是能看到technical strength只是众多影响因素之一。文科生转CS虽然在technical strength上有劣势,但是在软实力上有理科生无法企及的优势。如果能补上技术知识的短板,找工作和将来升职就顺利很多了。这方面楼主堪为楷模,大cong一个。

评分

参与人数 2大米 +15 收起 理由
whdawn + 10
xiami + 5 印度人想"我只想和印度人一起工作", AB.

查看全部评分

回复

使用道具 举报

推荐
Akaenki14 2018-11-7 04:11:27 | 只看该作者
全局:
楼主虽然很励志但我觉得这经历不适用于大部分人。首先楼主运气真的很好公司愿意让你做dev相关的project我相信你那个project一定给你的简历加分不少。可是大部分转专业的学生都没有相关的project或者intern经历,比如我就是。简历这关就过不去找工作真的是太困难了。而udemy上的project我觉得都过于toy,没有真正industry经历的是根本无法了解industry中可能遇到的困难以及解决方法。而这些是需要靠经验和日积月累的。 不是我想给转专业的泼冷水,但是我这学期的体验真的挺绝望的
回复

使用道具 举报

🔗
某羽 2018-10-25 10:06:27 | 只看该作者
全局:
楼主你好 祝贺offer!非常感谢您的分享!

我是今年MSCS毕业,但由于本科非CS,整体基础较差,之前暑假在某大厂做support engineer的实习,最近接了return offer,虽然本身并不反感这份工作(行行出状元),但也很希望在入职工作后能像楼主一样在做好本职工作的前提下,继续学习 继续提高自己的技术能力,未来有机会探索一下career path的其他可能性。很希望能认识一下楼主 和楼主交流一下做好support engineer的心得方法,以及如何进行从support转向更为technical的职能的注意点。再次感谢楼主的分享!受益匪浅!
回复

使用道具 举报

🔗
cuteyueyue 2018-10-25 12:19:19 | 只看该作者
全局:
这么厉害,我开始full time学了,感觉很吃力啊
回复

使用道具 举报

🔗
 楼主| 屯骨拉面oishii 2018-10-25 12:53:16 | 只看该作者
全局:
某羽 发表于 2018-10-25 10:06. Waral dи,
楼主你好 祝贺offer!非常感谢您的分享!

我是今年MSCS毕业,但由于本科非CS,整体基础较差,之前暑假在 ...

谢谢你的留言,我回复你了~~
回复

使用道具 举报

🔗
 楼主| 屯骨拉面oishii 2018-10-25 12:54:22 | 只看该作者
全局:
cuteyueyue 发表于 2018-10-25 12:19
这么厉害,我开始full time学了,感觉很吃力啊

一开始是比较吃力的,可以适当一开始放慢节奏,不要贪多求快
回复

使用道具 举报

🔗
夕颜小妞妞 2018-10-26 12:51:29 | 只看该作者
全局:
楼主真是一个优秀的人。 非常佩服!祝你一切都好~
回复

使用道具 举报

🔗
einc 2018-10-26 14:09:11 来自APP | 只看该作者
全局:
佩服楼主的勇气和决心还有持续学习成长的态度!软实力在面试和升职中的地位不比技术能力低!
回复

使用道具 举报

🔗
cuteyueyue 2018-10-28 01:36:46 | 只看该作者
全局:
屯骨拉面oishii 发表于 2018-10-25 12:54. 1point 3 acres
一开始是比较吃力的,可以适当一开始放慢节奏,不要贪多求快

谢谢楼主支持。我感觉学校教的跟工业界脱节,一边要应付考试,一边要自学其他很多东西,是有点急。可能真的慢下来会好点。
回复

使用道具 举报

🔗
sobbyxs 2018-10-28 04:21:15 | 只看该作者
全局:
我也是工作了一段时间,刚刚进入科技行业,然后大跨度转行,选了读书这条路。谢谢楼主分享。非常inspiring
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表