高等教育的失败之处在于“填鸭式”的教学。
最近在知乎和脉脉等论坛看到不少应届生讨论工作的事情,2018年毕业的新同学入职也差不多四五个月了,很多人表示扛不住了,有离职的想法。其实这很正常,应届生从学校到工作岗位是需要一段时间来适应的,毕竟学校和企业脱节太大了。
应届生感到扛不住,大多是因为两种原因,一是工作和想象中不一样,压力巨大;二是学习变得更难更频繁。
能进入一所名企工作算是第一步,第二步是看你不能刚得住。
1
应届生的痛苦
应届生入职的前三个月是最痛苦的。由于学校和企业的脱节,导致应届生刚进入企业那会儿只会两件事:这也不会和那也不会。
在学校,我们做的事情很简单,上课、写作业、交作业、考试... 如果有编程相关的大作业,老师验收作业的方式大多是黑盒测试,通过几个用例就算完事。
我们再来看看作为一个程序员,当我们面对一个开发任务的时候通常需要经历的流程:
首先,产品经理会给你提需求,然后你们需要召集一群人(程序员和产品经理们)开需求评审,讨论一下这个需求是否合理,以及产品和技术上的可执行情况。
需求评审通过后,你需要初步设计你的开发方案,然后召集几个牛逼的同事开一下技术评审,来看看你的技术方案是不是ok。
技术评审通过后,你需要给定一个工作的排期,预估一下自己的开发时间,然后发邮件通知相关人员,之后开始开发。
因为在公司中开发项目并不是做一个独立的软件,所以你很可能会用到别的同事维护的模块,那时你又需要和其他同事沟通软件之间的交互,然后完成开发。
开发完成之后,需要自测程序,在自测没问题后便可以把程序转给专门做测试的同事。如果在测试的过程中找出了bug,那你就需要返工改造了,这个过程叫迭代。需要大数据资料的加QQ群:834325294 里面有大数据最新的技术资料,每周不定期有大数据直播。
测试合格之后,功能就可以上线了,大企业的软件多为分布式,所以你可以先上一两台机器试试水,线上验证没问题后,再上其他的机器。上完所有的机器后,还需要继续线上验证。
以上是一个开发任务的简化流程,在这个过程中你可能会和产品经理撕逼,有可能找不到人沟通也没人搭理你,也有可能需求方要求程序的性能各项参数,最可怕的是除了上述流程不会,代码还写不出来 ......
其实,我们怕的不是不会,而是不知从何学起,也不知道问谁。工作后的流程复杂,没有一本书告诉你哪一步该怎么做,同事也不像同学那样热心,你不主动问,谁也不会教你,更何况有些时候,即使你问了也不见得有人教。
应届生在这种环境下,压力怎么能不大?人嘛,都是慢慢磨练出来的,被虐习惯了,也就习以为常了。
所以各位尚未工作的同学,要先做好心理准备。还有一点就是,一定要尽早去实习,提前适应流程。
顺便悄悄给大家说一个秘密,其实,实习生比正式入职的应届生更容易学习到知识。
首先,实习生的压力没有应届正式员工压力大,因为实习生是没有KPI的(绩效考核),所以不用担心工作做得不好会被劝退或者没有年终奖。
其次,同事们会更愿意教你,因为你和他之间不存在竞争关系。你们要知道,正式员工的考核机制是末位淘汰制,就算一个团队中10个人都是超级牛逼的大牛,也得分出个最好和最次来,谁都不想当最次的那个,所以员工之间多少有点竞争,藏着掖着不可避免。而实习生是参与不到这场战争中的,所以尽情学习吧,没人会把你当对手。
2
拥抱变化
“拥抱变化”这个词儿是阿里巴巴的核心价值观,后来在阿里巴巴的一次校园招聘中“拥抱变化”却成为了一个调侃的词语。
参加过阿里巴巴2016年校招的应届毕业生们对阿里巴巴“拥抱变化”的核心价值观印象应该特别深刻。就在同学们天天刷屏等待笔试结果公布的时候,阿里巴巴集团校招官网在9月1日发布通知,表示“由于集团人才战略调整,阿里巴巴2016年校招名额确定将要缩减”。接着有媒体报道招聘人数从原来的3000多人锐减到400人左右,巨大的转折打得通过各个途径参加校招的同学措手不及。
对应届生来说,这无疑是一个打击。当然,并不是所有应届生都能遇到“到手的offer飞了”的糟心事。
应届生们最常遇到的“拥抱变化”是转岗和技术栈调动。这里我又想起了我的第一份工作,在拒绝了近10个offer后,我最终拿到了心仪公司的offer,可接下来发生的事情可以说是“拥抱变化”了。
以前只是听别人说过该公司有随机分岗制度,但我不信,我想用技术“打动”面试官,让他给我一次选择的机会。确实,我后来的确被分到了研发岗,可是我面的是C++工程师,但最后却做了好长一段时间前端,并且还有让我转前端的趋势,三个月后我便离职了。
我的离职倒不是说因为转了前端,其实技术方向上的灵活变动对自己的发展在一定程度上是有好处的。我离职是因为,既然我要转前端,那前端组内应该有具备相关经验的人,可并非如此,大家都是刚转几个月,前端方面的技术积累实在是太不行了,写代码很容易出问题,最后就很容易演变为“甩锅”和“接锅”的踢皮球活动。
作为一个应届生,我没有时间和经历去摸索,所以我选择退出这场战斗。三个月应届生的工作经历确实是有点亏,因为离职再入职你就一下变成了一个社招生,但这也是迫不得已的事情。
说到这里,顺便提一下应届生找工作选公司的事情,除了公司体量和知名度以外,很多同学最在意的就是薪资,这最正常不过了。不过有时候仅仅考虑薪资是不对的,在薪资差距不是特别大的情况下,我们更情愿选择一个风评好、技术实力强的公司。我觉得还应该更细化,细化到部门,选择一个好公司的好部门是十分重要的。我们不仅要看起薪,还要看薪资构成,这关系着你的工资是否能拿满,同时还应该关心一下公司的涨薪幅度。
我的第二份工作,也就是现在这份工作,相对之前就好很多了,这个好最主要是体现在技术上,我面试的同样是C++的岗位,虽然后来我也经历了很多次的技术变化,工作期间写了很多PHP、Python、Go等等,还有大数据相关的内容,很多知识都是之前没学习过的,但是每次变方向都有成熟的技术指导和技术栈,能让我快速上手。不断的学习和实践,我逐渐把新知识变成自己的。
遇到“拥抱变化”的事情不要担心,不要害怕。有的拥抱变化是好的,有的是坏的,还需要自己斟酌。
3
有一种学习叫“调研”
像我,我是面C++进公司的,后来却搞了一大堆和C++无关的事情,比如PHP、Python、数据相关等等的工作。很多人会对自己不熟悉的领域有排斥心理,可公司就是需要这样的“变化”。很多时候,公司里是业务驱动技术,即业务需要什么技术,你就要用什么技术。
当有新的需求需要用到新的技术,你不会怎么办?学呗,不过在公司里,这不叫学习,叫调研,这就是真真正正的“项目驱动式”的学习。调研的时间通常不会太长,不会像在学校中那样系统地学习理论,而是需要什么就学什么。在这种状态下肯定会有一定压力,但是慢慢的,你也能培养出一种快速学习的能力。
需求在那里,你不做就得别人做,刚入职的时候,多学习一下是有好处的。一是提升了你自己的Level,二是公司考核绩效的时候,你能获得很多的加分。何乐而不为?
4
程序员到底苦在哪里
说到底,程序员苦在哪里呢?是苦在加班吗?我想不是的,作为一个程序员,即使不加班,你回家以后也闲不住,因为技术的更新换代非常快,必须要不断学习。
社会的进步依赖于科技的进步,而科技的进步依赖于人的进步。人要进步就需要快速迭代自己的知识。之前讲创业,说互联网公司需要快速迭代产品,快速上线,才能赢得市场。人也是一样的,人需要快速迭代自己的知识,并投入到工作中,才能做出成绩。
软件工程师这个职位有一个特点,就是知识迭代特别快,既然大家都身处这个行业,就必须要跟上这个节奏。
程序员是苦在知识的快速迭代,需要不停的学习。