写在前面: 我是 李子树,一所大学的普通教师。我热爱技术、拥抱开源,喜欢和大家分享知识。
自我经历: 普通本科出身,大三下学期临时起意准备考研;研究生毕业后就职京东;目前一所地方高校做专任教师。
本文起因: 前两天看了安徽大学汤进教授做的’地方院校计算机类本科专业发展浅析’报告,看完之后自己学院内部也对此进行了讨论,有感而发写下这篇文章。
先讲一下我自身的经历,2019年八月份来到高校,第一学期带的操作系统这门课程,第二学期带Java Web,两门课,一个是理论课,一个是实践课。到了学校后,和公司中完全不一样了,在学校里我需要熟练的掌握自己所需要讲的知识,不仅要会,还得能讲出来,能解答学生的疑惑,能应对学生的提问,这些挑战让我不得不深耕于理论知识中,尤其是操作系统这门课程。在教学的过程中,觉得自己应该把自己第二次重新掌握的知识记录下来,因此开始了博客写作,但是知识点真的是太多太长,自己又想解释清楚,解释清楚之后还想在做扩展,因此文章写得是非常的长,动辄六七千字一篇,上万也是常见。吐槽一下自己,不过这点可能很难改得掉了,这不,这篇文章字数也直奔4000字去了(本来只想写两三段话的)。有意思的是,在某天,我看到了一篇博文,讲的是费曼学习法,和我采用的学–讲--写的方式非常像,个人感觉很有效果,这里也推荐给你。
但是但是但是,在我停下之前在京东保持的快速开发的节奏后,每天的空闲时间都用于博客的写作上后(必要的coding还是有的,学院里又有项目需要做),我发现自己的理论基础变得扎实了很多,并且在深入的学习了操作系统后,真的是触类旁通,许许多多之前用到的框架、中间件等等,其中的思想策略都脱胎于或者受启发于操作系统。相对应的,自己的技术水平也在这半年多时间的沉淀下有了些许的进步。
咳咳咳,回归正题哈。
高校中的计算机专业面临着很大的挑战,对学生和老师都是一样。对于有能力的老师而言,是否能耐得住寂寞,忍得了"低薪",毕竟学生一毕业其薪资就可超越你一大截,在高校中,只有长期的耕耘和付出,到一定年限才能厚积薄发。对于学生而言,学什么,怎么学,是否参与竞赛,如何就业,就业时要如何与其他来抢程序员这碗饭的其他人来竞争,是否读研等等等问题,在困惑中、困惑中猛地发现,自己就快毕业了。
地方院校,很大程度上要受限于地方的经济水平的,如何聘请高水平的教师,如何维持高水平教师团队等等问题都是一个很大的挑战。这方面我们就不展开讨论了,再说下去就跑题了。
对于地方院校中的学生而言,其就更加艰难了,许多企业招聘时虽然招聘条件为全日制本科及以上。但是面对众多985、211,双一流院校的大量毕业生的更正,其竞争力明显是处于劣势的。大家可以去看下前几年非常火爆的一个话题,为什么有些企业招聘一定要211和985院校毕业的学生?看完之后是不是很扎心,但是也很现实。
对于学生而言,还有一点是非常尴尬的,就是"狼多肉少"。铁打的营盘流水的兵,在高校里,学生每年都涌进来一大批,如果作为学生你不主动,那么老师根本不会注意到你,尤其是越有能力的老师其时间越是宝贵,根本不会每天求着你上进。
你以为这就完了么,太天真了。当你走出校门后,你的竞争对手可远不止211、985、双一流、地方普通院校毕业的计算机专业的毕业生,还有那些临近计算机的专业,比如:物理、数学、机电、环测等专业,他们也会开设编程课程,甚至可能会比你们学的更好;还有从培训班走出来的大批学生,转行到互联网行业的中年人等等等。
我在京东工作时,和我一批来的校招生,有一个事生物专业的(What???);我的小组长是机器专业的(这个还好);大数据团队的负责人是一个思考哲学的博士。
看到这,不禁要站起大吼一声:R U killing me?
现实:Yes,I would。
对于地方普通院校的学生来讲,有三条出路:升学、就业、回家继承万亿家产。
这也是老生常谈的问题了,也是到大三需要直接面对的一个岔路口,是你需要结合自身情况需要做的一个重要决定。这里我也是只能给你一些意见,没人能替你做决定。
对于就业和升学这两个方面,我结合自身的看法给出一些看法(如果真的有万亿家产要去继承,勿相忘呀)。因为我自身就是普通本科、读211硕士、进入互联网大厂的这么一个比较标准逆袭经历。当你处在本科临近就业时,如果能有一个好的就业机会(待遇、发展空间都不错),比如可进入说得上名号的公司,那么就业就是一个好的选择。但是如果想有一个更好的职业发展,还是可以选择继续读研,在研究生阶段继续打磨自己的能力,拓展自己的眼界,拔高自己的天花板。
选择考研的另一个现实就是,虽说现在互联网大厂招聘要求都是本科以上,但是其对学历还是有很高的要求的。就我在京东的经历,当年一批校招生20多人,研究生的比例在百分之80以上。并且部门在后面的几次校招中,本科生的简历通过筛选的机会特别渺茫,也就是说笔试通过了也得不到面试的机会。而且在研究生阶段,就业的机会更多,触及的平台更大,接触的资源更广。
但是上面所示的两种出路,都不是给一个每天混日子的人的,这需要你自己本身有竞争力。如何能提高自身的竞争力,可以顺利的完成就业或者升学?
个人观点,完成升学和就业的一个硬指标,就是自身的能力,计算机专业去互联网公司就业,属于科班出身,名正言顺而且天经地义。和别的专业与培训班出来的学生竞争,就要利用自己科班出身的优势,那我们相较而言立足的本钱是什么,我认为是专业课:数据结构、计算机网络、操作系统、组成原理,还有比如编译原理、汇编语言等等更深入的课程。这些课程是别的专业所没有的,也是那些培训班培训出来学生的最大短板。如果我们可以修炼的”内功“深厚,那么就等于打通了任督二脉,后续不管是做开发还是做研究都会事半功倍。
上面说了内功(理论)的重要性,但是一些外功(实践课)同样重要。这些外功就等于武功秘籍、剑法宝典、武器装备,对于内功高强的人,如果不知道如何应用,那么也很难做到攻击力爆表。对于实践课,就相当于这些武功秘籍,会的招式越多,其实越能灵活的发挥自身的能力。我们看武侠小说,最后会发现,练到高深境界之后,就是无招胜有招,对我们计算机来说也是一样,最后的实践要归于理论,做到真正内外兼修。
当你真的练就神功后,变得看起来比高手还高手时,比如日益高耸的发际线(莫名戳中痛点),你又怕谁来和你竞争呢。
对于在读的学生,下面这些建议是我总结自和其他老师一起讨论的结果,主要分为以下几方面:
除了上面,还有一些小的建议:
如果上面的说的东西打击到你了,那么下面的一些事可能会让你开心些。那就是虽然前路漫漫、路途坎坷,但是我们的前途是一片光明的,咳咳咳咳。。。
好,我们继续。
打铁还需自身硬,想要提高自己的竞争力,就需要有努力拼搏的态度。脚踏实地,仰望星空,我们要立足于计算机专业课,提高自身的内功修为,又需多学一些武功秘籍,最后达到内外兼修,天人合一。。。。
一定一定一定不要轻视自己的专业课。举一个最简单的例子,公司面试,百分之95的概率会问到线程与进程、HashMap、TCP协议,并且关于HashMap的优秀文章一抓一大把。基础很重要,地基不稳,如何起万丈高楼?
参考阅读:
又到了分隔线以下,本文到此就结束了,本文的所有观点都是个人观点,不喜勿喷。欢迎大家留言评论,大家一起探讨。