好长时间没有用心的写一篇博客了,一来下学期女朋友要出国交换,周末的大部分时间都奔波在路上,二来自己也即将成为2019年秋招的一员,最近两个月都在准备秋招的相关事宜,看到,听到的也有一些,今天趁着颇有几分兴致写一篇总结性的文章,仅供依然奋战在求学路上的读者参考,因为本人水平有限,可能有些地方甚为不妥,还望各位海涵。

研究所or私企?

其实这个问题也是很多人纠结的一个重要的点?其实以研究所为代表的国企在大部分人研究就是朝九晚五,钱少活不重,福利有保障。而私企更多的则是996,大小周,用命换钱花。其实很多时候,现实和想象还是有一定差距的,有的研究所对于硕士(通信计算机类而言)也可以年薪开到小20K(中船、电科、航天某些效益较好的研究所),当然这些研究所通常来说都是效益比较好的研究所了,与之对应的就是新人刚进去的时候还是要经常性的加班。而有些企业,就拿加班比较严重的华为来说,还是有一些部门能够做到正常上下班,偶尔加班。所以在找工作前还是需要全面的衡量你自己更适合什么样的工作,比如博主就是一个闲不住的人,那么可能选择上就会更加倾向私企一些。其次,也是很重要的一点就是你需要深入的了解你申请的职位和公司(研究所)情况。最后,钱和时间可能仅仅是你最初需要考虑的东西,户口,职业发展潜能(毕竟你不希望你入职是这些钱,工作N年后还是这些钱对吧)都是需要综合衡量的东西。总之,做足工作,打好情报战争,避免入坑。

Python?JAVA?C/C++?

其实实验室也会有一些师弟师妹问我这个问题,我该选一门什么语言呢?当然,我在这里不去评论哪门语言的优劣好坏,仅仅针对每一门语言在找工作时选择的机会跟大家做一些分享,首先,如果你需要找工作时自己能多一些机会和选择,那么仅仅会MATLAB或者Python可能还是远远不够的,毕竟找工作时需求量最大的依旧是JAVA\C\C++相关的工程师,如果你仅仅会MATLAB或者Pyrthon,那么你找工作时可能只能选择算法相关类的工作,而这类工作,我们都知道,和你竞争的往往都是一些大佬,算法岗也因为其相对的高工资和低劳动强度而成为近两年来淘汰人数最多的岗位之一。

所以,这里强烈建议如果有可能,请抽出时间选择JAVA\C\C++其中一门语言进行系统化的学习(这里我们只谈最常见的,PHP,GO等语言博主没有学过,也没有具体了解,就不在这里献丑了),当然选择JAVA你还可以转向安卓开发,C\C++则更加偏底层一些。这一切的选择基础需要你综合衡量,博主特别讨厌一些鼓吹某某语言万能无敌之类的话,举个例子C++的确可以做界面,但显然,做界面C++不是最好的选择,合适的才是最好的,不是么?

编程能力

好的编程能力显然是我们这一行的基石,经常遇到这样的人,说算法他很厉害,讲思路他也能侃侃道来,但是一说到具体实现就傻眼了。这里,博主特别强调这一点是因为任何算法,软件只有真正实现的才能称之为算法和软件,和停留在思路和想法阶段我们只能说你才刚刚开始,其实博主见过很多这样的同学,就是一直在纠结我要看什么文献,我要学哪些知识,我要如何如何,其实博主更多时候给他们的建议是你先学好一门语言,有了比较好(甚至说很基础)的编程能力再去做你的课题或者项目也就是手到擒来的事情了。总之,无论何时,作为计算机类的学生而言,编程能力一定是一切的基石,也是你找到好工作的第一道坎(一面一般都是编程),基石沉稳,方能高屋建瓴。

工程能力

之所以把它和编程能力分开说是因为太多的人编程能力很好,但是一旦需要让他做个什么项目就会发现心有余而力不足,这些多半是因为个人的工程能力不足,博主一直强调作为一个优秀的开发者,你的能力不单单是只能实现某个小功能或者说写几行代码那么简单。很多企业愿意招有实习经历、有项目奖励、有比赛经历、有较高学历的人正是看中了他们的工程能力,这往往也是很多电脑培训机构的速成程序员们不能达到的(这里博主没有贬低他们的意思,其实国内很多很顶级的比赛反而他们能够战胜名校拿到冠军,这里博主仅仅是针对大多数而言)。举个例子,某天接到某甲方爸爸的一个项目,对方就丢给了你一个说明文档和一些SDK,怎么办,对于初级程序员来说,他一定是懵逼的,手足无措的,但是对于一名有着工程能力的“相对高级程序员”来说,他知道,SDK和那些文档里有他要的一切。

关于项目:

其实这也是大部分面试时会被问到的最多的地方,这里博主不再赘述,但是博主抛下几个问题,请各位读者思考:

1、你所做的项目有什么创新性?通俗点:你做这东西low不low?(面试官心想:看着项目挺low的,没啥技术难度,我听听你怎么说)

2、你所做的项目的难点是什么?通俗点:告诉我你觉得什么难?看看你水平如何?(面试官心想:前一个问题听完了我依旧觉得你做的项目挺low的,好吧,那就矮子里面挑大个,说说你觉得什么难好了)

关于实习

实习通常来说是大部分企业非常看重的一点,但是其实博主想说,如果我们不能去实习(比如实验室有规定)或者去一些非知名的野鸡公司实习,还不如好好留在学校认真准备秋招的一切(当然,实习能转正的我们另当别论),博主亲眼目睹了很多去了一些非知名公司暑期实习反而耽误了自己秋招的例子(通常是实习到8月底回学校,这时候秋招正式大规模开始,往往什么都不会,什么都没准备,结果也显而易见了)

关于四六级

这里不多赘述,四级是必修项目,六级是也是选修项目里最重要的,还是举个例子:华为入职需要提供四级成绩单,身边某同学和某企业签约,开始谈好的13K每月,因为说没有六级证变成了11K每月。

关于比赛和技术博客

一些高水平的专业比赛永远是你强有力的加分项,甚至是你进入名企的直通车,身边不乏这样的大神,学业水平一般,但是热衷于参加各类比赛,最终往往都能拿到比较好的offer,还是举个例子,博主所在学校建筑专业一般,毕业生大多是一流地产企业的重点补招对象(备胎),但是博主认识的一个大牛学长,一直致力参加数学建模比赛,拿到了比较好的奖项,最后以年薪50W签约某知名地产公司。如果可以,请多多参加相关比赛,很重要。

关于学术文章

对于一些搞学术的同学可能项目经历并不充分,很多师兄去年去面试甚至吐槽某些企业的面试官不知道SCI和EI是什么,其实也不用过分担心,对于一些比较好的公司,其实你的文章也是你学习能力和思考能力的一个证明。

关于知识储备

可能看完博主上面所说的之后,更多的人第一时间找到了一本C++ primer之类的书开始啃读,其实也不是这样的,编码能力很重要,但是一定不是你的核心竞争力,还是举个例子。如果你精通C++(我们假设你C++无敌),抱歉,能要的公司太少了,因为更多的游戏公司需要你还会Unity等3D图像处理能力,更多的互联网公司还需要你会Linux,更多的通信公司还需要你知道网络协议等等,总之,一个人最大的价值一定是他丰富的知识储备而不是编码能力,如果你只会编码,那抱歉,你只能是一名“码农”,而无法成为一名工程师。问题来了,那我们要学习什么呢?其实一个最简单的方法就是打开公司的招聘主页,选择你想应聘的岗位,他们需要的就是你要学的。

关于AI区块链云云

这几年便随着人工智能的崛起,更多的人关注并加入到了这个领域,甚至觉得自己不会个常见的框架都不好意思见人,其实更多时候我们需要知道自己想做什么,自己需要什么。

关于眼高手低

其实很多身边的同学在找工作时候都在纠结我是去阿里还是去腾讯之类的,博主这里插一句,别纠结,阿里腾讯不会因为你多纠结一点他就会给你offer的,其实你更应该纠结的是你的剑指Offer还有多少题没刷,你是不是连new和malloc的区别都不知道是什么,千里之行始于足下,内功修炼好了,erverything will be easy!

最后还有一篇博文供做图像处理、计算机视觉方向的读者阅读如何学好图像处理(计算机视觉)的一些思考与分享