开发
推荐
- 加入一些像是复旦旦挞团队(开发树洞,Web 前后端、Android、ios 岗都有)这样的有技术氛围的组织
- 浓厚技术氛围的论坛(如 v2ex, linux.do)
- 有技术氛围的 Telegram 群
- 找一些外包项目做
- (进阶)去 Github 上了解一些真的有不少人在用大项目,理解这个大项目并且解决其中的 Issue,或者看看有没有可改善可优化之处。
在参加了上述的团体,实际参与了开发之后,就可以去拥有一个 有背书的项目经历 + 开发经验 ,这其实会给你带来不小的优势。毕竟实习(特别是日常实习)的门槛并不高。去刷 Leetcode 题以及背八股文通常也只是时间问题,准备进入大厂接触实际开发以及企业开发真正的运作模式。更重要的是,你也可以通过参与到这些团体本身来认识更多里面的大佬,通过实际的接触来增进见识。
如果是坚定想走开发路线的话,3 年的工作经历是大于硕士学历的(当然,如果毕业那几年特别难找工作的话另说),在工作了一定的年限后,企业也是以工作经历为主。并且如果需要读研,本科期间就需要尽量卷绩点保研,这会花费大量的时间,使你没法专注于课外的开发工作。
科研
进组前需要先了解组内氛围,如果进去之后都是洗数据之类的牛马工作那不去也罢,如果组内氛围极摆,不会给你分配任何活的话那进去的意义也不大,提前向这个组里的师兄师姐了解组内氛围如何会比较好。
就笔者有亲自接触过的,并且觉得很不错的组:
- 规模大、项目多、福利多的组:邱锡鹏组、张奇组、丁文超组(没怎么接触过,但是是工研院里比较好的组,也很乐意给本科生做项目)
- 软件工程:彭鑫组(组里有非常多项目,老师人也很乐意和本科生交流,实验室和大厂合作很多)
- 不 Push 且老师人出名亲和的组:周扬帆组、张军平组
同时,你也可以参与一些实验室的项目,这些同样有可能成为你的科研经历,在一定工作量下,是可以成为论文作者之一的(但肯定不是前几作了)。当然,实验室招本科生大多招牛马,比如洗数据,对于科研水平的提升有限,大家如果能找到科研机会还是不要去做技术含量相对性低的工作。同时,你在实验室有一定贡献后,对于你保研保出 - 保入的保入环节是非常非常有用的,而且也会影响学硕/专硕。此外,实验室其中一个优点就是你可以认识到很多优秀的硕博同学,通过和他们的交流本身就是对你的提升,认识他们之后,也可以开阔眼界 / 扩充人脉,从而更有机会去接触更多机缘。
其次,如果你想要自己去从事一些科研工作的话,那也是很不错的,你可以通过请教实验室师兄,偶尔去听听组会(?),来更早地接触科研。对于前途而言,即使是发在 CCF - C 的 Paper 那对于一个本科生也是一个优势,并且也可以达成毕业时的荣誉路径的三选一的,并且评奖学金 / 保研直博时也都会作为一个加分项。
算法岗
比如 NLP、搜广推等等,算法岗的话进实验室/发 paper 也会是一个考量点,当然,虽然名字叫算法岗,和我们在课程接触到的"算法题"名字重合度很高,但是其实平时刷的这种算法题(包括 LeetCode 刷的)对于真的去工作也不是很有用。
其他
竞赛
争入 ACM 队打 ACM(但训练强度很高,你平时会变得很忙),如果进到 ACM 队,那其实也有很多机会去接触大厂(比如说 ACM 队内部和大厂的一些合作,以及他们本身会有很多内推),ACM 的奖牌也是一个比较大的加分项(不过会比较耗费你的时间,如果不是真的感兴趣和热爱,不建议为了这个目的去走这条路径)
其他注意事项
荣誉课
- 多出来的 1 个学分可以替专业进阶 2 的学分(在软件工程专业的话,9 门荣誉课多出来的 9 分刚好可以完全替掉专业进阶 2 的 9 个学分)。
- 可以真正让你学到更深层次的东西
- 工作量可能会比普通班多很多(大于多 1 个学分该有工作量)
- 荣誉路径规定:修读软件学院荣誉课程总学分数不低于 24 学分(软工规定的 H 课总共 38 学分,可以不选 3 个 H 课(任意选 3 个 4/5 学分的))
- 推荐在网上学的资源: