留学网

加拿大留学 | 找CS工作一点经验谈

答辩结束,硕士生涯也基本算画上了句号。

这篇文章角度非常主观,我承认我找到第一份工作非常幸运的成分在里面,所以我尽量只上干货,不掺杂个人感情,尽量给大家带来有价值的信息。大家有什么问题都可以在评论区问,我也会时不时来编辑一下这篇文章。

我本科毕业于国内一般985大学计算数学专业,硕士在加拿大中部University of Saskatchewan读计算机thesis based (本校不提供course based项目)研究生,方向为数值模拟,第一份工作在本地一家中型软件公司,几天前刚被电子设计自动化公司明导国际收购。

大致时间表是这样的:

16年夏,完成课程,开始做毕业论文,此时毕业论文基本没有进展(实际上这个时候理想的状态是毕业论文能进展到50%以上)
16年秋,每天在学校加班到10点,跑数据写代码,花了两个月做出了所有需要的数据,这是我工作强度最大的一段时间
16年冬,依然是在跑数据,同时着手准备北美的博士申请,读论文+套磁,网申,要推荐信等
17年3月,申请北美计算机博士,挨个打听陶瓷锅的教授,得知全聚德,于是迅速准备掉头找工作,同时在写论文
17年3月底,熟人内推向该公司(我只面试了一家公司)递交简历,等候一个月未果
17年4月中,参加该公司举办的一个开放日活动,抓住老大要到了面试
17年4月底,面试2小时通过,给了电子offer
17年9月,因为学签的原因,只能以半职身份入职

几点体会:

1. 论文要早开工。我的论文并不是开工太晚,只是中间走了半年的弯路。开工早也可以给自己留足够的缓冲时间;
2. 要跟老板搞好关系,老板的关系是你以后无论读博深造还是找工作都会用得上的;
3. 工作职位最多的是前端,如果想快速找到码农工作就去学前端。

干货:

我的技术职位是Python开发(偏后端),当时找工作的时候也针对性补充了一下这方面的知识。 以下所有资料都只提供关键字,大家很容易都能找到

1. Python快速入门:The Python Tutorial (官方出品的不到200页的PDF,深入浅出,如果需要初期做题推荐Google Python Course)
2. Python进阶:SICP in Python (用Python来讲SICP,也可以从头培养一些良好的习惯。课后有四个大作业,相当不错的练手材料)或者Fluent Python
3. Python编程风格:PEP8
4. Git:Pro git。不需要学到cherry-pick这种,如果要速成能解决分支冲突就可以了,这里可以看廖雪峰的git教程
5. Bash和Linux基础:The Linux Command Line by W Shotts (这本比较薄书涵盖的内容已经足够面试一般开发岗位所需要的全部关于Linux和Bash programming的知识)