我最近在帮助不少同学提升面试技巧,结果不少同学在面试成功之余会忐忑不安?面试成功以后怎么过试用期?甚至有同学会因为担心试用期被辞退,所以在有多种选项的情况下,只挑了工资较低的或要求较低的外派公司。在本文里,姑且先不谈这些同学是怎么面试成功的,也不说零基础的同学如何快速提升技能,而是说下面试成以后,如何在试用期里好好表现,从而能顺利地过试用期?

1 先说结论:哪怕试用期被辞退,也得挑战高阶工作

    比如零基础的Java小白,平时再看技术,再做学习项目,看再多的视频系列课程,背再多的面试题,但闭门造车学到的技能,一定没通过真实工作得到的值钱。再如,一个高级开发,在升级到架构师之前,一定得通过真实项目实践分布式组件等技能。所以哪怕新公司用到的技术你都没实际项目经验,或者哪怕你自己感觉你Java基础很差,哪怕你再预感到你有可能过不了试用期,但一旦面试成功,你应该挑战更高级的职位。

    否则的话,如果怕担风险还是在原来的公司里继续干低级的活,那么就永远没机会实践更值钱的技能点,因为平时学到的和项目里用到的一定是两样的。相反,其实在新公司里过不了试用期的概率,其实没你想象那么大,而且,哪怕你真的没过,你在这一两个月里,好歹有机会实践到诸如项目开发、项目发布和分布式等技能,这样你再换工作时,一定把握更大,再过试用期的时候,通过的机会一定就大大增加了。

2 说下公司重新找一个人的成本,再看下哪些人过不了试用期

    假设试用期是3个月,同时项目组新招来的人实际经验要比面试中表现差很多,这其实不稀奇,网上一大堆面试资料,基本上新招的人大多会有水份,如果要开掉这个人,公司得付出多少成本呢?

    1 第一是这段时间付出的工资,而且不能光算工资,还得算对应的社保,一般是工资的1.5倍。

    2 第二是员工可能去仲裁,毕竟不是每个公司都能给出证据,证明该员工到了足以能被开掉的地步。这样员工仲裁成功,给补偿金还是次要的,万一被要求“恢复劳动关系”,就不怎么好办了。

    3 如果真给补偿金,那么可能是n+1,估计至少的1.5倍工资(我没研究过劳动法,有错的大家指出)

    4 可能还得再费时费力再去招新人,新人未必能短时间到岗,而且招来的新人还可能更水,万一新人可用,那还得重头开始教起。

    所以招到的人,能力虽然比较差,但如果态度好,肯加班,肯多做多问,项目经理感觉这位员工还有希望在短时间内教到能干活的地步,那么在试用期结束后,顶多就把员工说一顿,说能力不行要努力等等,顶多给个差点的绩效,如果再降工资就顶了天了,至少我的学生没遇到,一般不遇到什么事情,比如公司近期不景气,过试用期其实是大概率的事情。

    那么哪些人过不了试用期呢?

    1 能力态度都不行,比如不仅无法单独完成任务,而且遇到问题不肯问,总是拖项目组的进度,或者不肯加班,或者出工不出力。

    2 无法和团队的人有效合作,比如无法沟通,或者性格上有问题。

    3 或者出了很严重的bug,比如让公司服务器当了半天,或者出现很严重的资金损失情况。

    总之,只要公司或项目组运行正常,公司只有在忍无可忍的情况下才会不让过试用期。但是,能否过试用期和同事间的私人关系无关,有些人可能会想,通过和项目经理搞好关系,然后技术差些也能过试用期,这种想法可能就有些天真了。

3 首先要做的,一定是山寨现成代码

    不管你在面试中被问多高级的问题,新员工到岗以后,大概率是做增删改查的业务模块,这其实是有现成代码可以参照的。所以新员工的到岗以后,可以按照如下的步骤熟悉开发步骤。

    1 一定得先熟悉开发环境,以java开发为例,具体是,装好Idea,jdk等开发环境,熟悉GIT(或其它版本管理工具),能通过git拉下现有的代码,并配置好数据库的客户端,做到能在本机连到mysql或oracle数据库。

    2 尽快通过git等,把现有代码拉到本地,并且尽快能跑通项目代码,以及对应的junit等。如果可以,再配置好jenkins或jira等项目管理工具。其实,当你在本地(或通过其它渠道)运行通代码,并看到效果时,你就一半的概率能过试用期了。

    在这个时间段里,万一你真什么都不会,比如Git以前没用过,或者jenkins以前都没听说,那么一定别自己瞎折腾,一定得多问问别人,当然别人也有自己的事情,未必也能帮你,那么你可以通过请吃饭给些小恩小惠的方法,让别人帮你,毕竟这对懂的人来说,属于举手之劳。

    3 当你运行通现成代码以后,你可以向项目经理要求活干了,争取在入职后的第一周里,提交第一行代码,或者完成第一个任务。

    当你完成任务时,一定别什么都自己做,一定得通过观察或问别人(大多数情况是问人),了解下有哪些模块是做类似功能的,比如要你做个提交订单的模块,你就直接问,我可以照什么流程做?然后可以照着同类的“提交评价”的流程依样画葫芦,照抄spring boot控制器端,业务端或其它全栈流程,如果遇到事务或日志代码时,也可以照现有代码做。

    这时你别多发挥,因为现有的代码是经过多轮测试验证过的,你照着做总不会错,而且你做好以后,一定得考虑多种情况,多测测,甚至得问些技术大牛,请他们帮忙看看有哪里要改进。

    对新员工而言,第一个任务一定不会太难,项目组也不敢把容易出错的任务让新人干。而且通过第一个任务,项目组更多的是观察新人的态度和处事方式,所以哪怕新人能力再差,只要态度端正,完成第一个任务一定不是难事。这样至少你能初步证明能“达到岗位所需的要求”。

4 能力可以慢慢提升,但态度一定要积极

    其实在完成第一个任务,或者后继任务时,如果新人能力实在不行,估计也是会有些难度,比如之前只调通过Spring boot学习项目,要在真实项目里使用过滤器或者日志组件或者安全组件,这似乎也是有些难度的,但你不会做,不等于你没法完成任务。不过如果你因为不会做,所以用如下的方式干活,还是有可能无法过试用期。

    1 比如一个模块开发截止日是3天后,这3天里,你通过查资料熟悉了各种技术,但功能模块没完成,或者即使完成但一大堆bug。

    2 或者别人问你有什么问题,你怕丢脸什么也不说,就自己琢磨,到时候完不成任务。

    3 或者你因为什么也不懂,所以到处问人,问太多很低级的问题。

    4 或者虽然你勉强能完成任务,但平时上班晚到晚上不多加班,上班时吊儿郎当,这样也有可能被开。

    那么正确的做事方式是怎样的?

    1 至少看上去要比谁都积极,比如公司9点上班,老员工一般9点半来,你一定得8点45到公司。下班时,你至少别第一个走,至少等人走差不多再走。上班时,尽量少看手机,尽量让人家感觉你是在敲代码或者查资料。

    2 遇到问题先网上查,多照抄现成代码,但如果你感觉这个问题你在一个小时之内搞不定,那么一定得问。问人时别盯着一个人问,多问问不同的人,而且问之前一定要提出具体的问题,比如怎么连数据库,怎么传参数,别直接问“这事情该怎么做”,同时请吃饭或小恩小惠不能少。

    3 开会或领导布置任务时,遇到不清楚一定问,在做新任务前不懂很正常,多问很正常,在任务前,最好能问到,这个任务可以照着什么代码抄,或者具体该通过哪些步骤实现。

    4 你开发好代码以后,自己一定得多测,而且提交代码请人家测的时候,多和测试人员沟通问进度,遇到问题积极解决。

    5 当你做好手头事情以后,一定得主动要新活干,别因为有空闲而洋洋得意,毕竟这个时候很多人都关注着你。

    我的几个学生,以前是做运维的,通过培训会了java,可以说Java基础很薄弱,但人家态度好,就照着上述要点做了,后来听说也过试用期,其实有些同学能过试用期,也是出乎我的意料的。 

5 多调试,多查资料,问之前应尝试各种方法

    如果你当前能力有些欠缺,靠自己的能力未必能干完整个任务,但可以通过如下的办法获取一定的进展。就好比以前考试做10分的大题,可能当前虽然拿不了10分,但总能完成开始的一些步骤拿个3,4分。工作时也是,比如在试用期间,你先拿到3分,再此基础上再去问别人,效果要比一开始就问要好很多。 

    第一,在干活前,先通过各种手段运行通当前的代码,比如在本地启Spring Boot后,能在本地看效果,或者你输入某些命令后,能在远端url上看到效果。你一旦看到效果了,就能尝试着做些事情,通过运行结果一步步推进了。

    第二,在理解任务需求的基础上,通过问人,搞清楚这个任务可以参考其他什么模块,比如处理请求部分可以参考订单模块,获取数据和异常处理部分可以参考风控模块,事务处理和异步通讯模块可以参考会员模块。这样你好歹就能仿照着现有代码,大致写好代码。可以这样说,除非是新项目(这种概率不多),很多项目都有一大堆可以参考的代码,甚至你都无需到网上查新技术的实现方式,你东抄西抄,就能用较短的时间写好代码。

    第三,然后是调试,调试无非就是本地debug,或者加关键打印信息看参数和结果,或者看异常输出情况,这样就能通过对比你的输出和期望结果,一点点改进你的代码。

    第四,再考虑下边缘业务情况和出异常时你该怎么处理,这也可以参考现有代码。

    如果新人能根据现有代码实现新功能,哪怕代码写得很难看,或者没有考虑高并发等场景,项目经理一般也就认了。或者新人哪怕能力差,但经过稍许指点,告诉他怎么去抄代码实现新功能,项目经理一般也能忍。但如果新人都不知道完成任务的具体步骤,或者什么都不先思考什么都问,而且到试用期结束还这样,让项目经理看不到任何希望,估计项目经理就可能考虑换人了。

    当我的学生照着上述步骤一步步推进时,就会把“如何实现新功能”这个大问题,拆分成若干个技术小问题,比如Spring Boot前端如何传post参数,或者是如何通过JPA返回List类型数据,以及如何用事务等等,这样很多问题就可以通过调试或者抄现成代码解决。在这过程中,哪怕是问别人,你由于有一定的基础,好歹也尝试过,所以也不会让别人(尤其是项目经理)有“什么都不懂”之类的感受。  

6 多和人沟通,遇到问题积极参与

    在试用期里,公司不仅会考察新人的写代码问题,更会综合考察新人解决问题的能力。

    比如在开发功能时,需要和其它组沟通接口,你就得主动多跑跑腿,多去问别人。

    又如你业务需求不熟悉,而项目经理也吃不准,那么你可以主动找产品或者提需求的人问清楚细节。

    或者你在写代码或测试或干任何事情时遇到问题,更得积极问别人,争取早日解决问题。

    或者测试人员发现了问题,你得主动和测试沟通,了解问题的重现步骤,修好以后还得主动让测试人员再测一遍。

    尤其当出现问题时,是你的问题就不说了,哪怕不是你的问题,而且哪怕以你当前的能力解决不了,但你一定得表现积极,比如看到报alert赶紧和相关人说,或者一起看日志分析,或者别人在加班解决时,你至少也陪着加班,当问题解决后你也帮着一起测。

    其实这样做,对个人提升帮助很大。姑且就不说技术方面,你这样上班时东奔西走,别人不愿做的活你干了,有时候甚至和别人沟通时还得看人家脸色,你的领导,尤其是能决定你是否能过试用期的项目经理一般都会看在眼里,退一步说,哪怕你试用期结束时可能还真没达到公司的预期,但就单凭你解决问题的态度和能力,也会帮助你留下来。因为之前也说了,公司要找个合适的人也不是件容易的事,而你态度积极,又能让公司看到希望,所以相比之下还真能继续干。

7 总结:可能评价未必高,但大概率能过试用期

    如果你在面试时能说会道,掌握了介绍项目经验等方法,那么你确认能给面试官较高的期望,这样当你入职后,这种期望真有可能转换成失望。

    但是,如果你按照本文给出的建议,第一在做任务时多参考现成代码,第二态度一定积极,第三姿态一定放低,这样可能在试用期结束时,你的领导哪怕感觉你的能力比预想要低,但会认为你好歹能干活,而且能积极主动地干活,所以往往会在你的转正报告上写上“能力有待提升,但态度端正,有潜力,勉强建议过试用期”等评价。 

    这样你在之后若干月乃至当年的考核中,评价未必会高,但好歹你会有项目实践的机会,要知道,你之前通过看书通过运行学习项目掌握的(Java基础或数据库或框架或分布式组件等)技能,一定得通过实际的项目才能转换成值钱的项目经验,而你未来通过跳槽进大厂争取高工资,一定得靠这些项目经验。

    但相反,如果你通过学习掌握了一些Java技能,但因为怕过不了试用期从而不敢去尝试,或者你看明白了一些分布式组件等值钱技能,但出于同样的原因而不敢去挑战资深开发或架构师的岗位,那么随着你年龄的增大,之后的竞争力可能就越来越小了。

    在文章的最后,祝愿大家在跳槽到新公司之后,在拿到更高工资的同时,都能顺利地过试用期。同时,也请大家对本文多多点赞支持。

    最后请大家关注我的公众号:一起进步,一起挣钱,在本公众号里,会有更多精彩的面试和技术相关的文章。

 

posted on 2021-03-11 09:52  hsm_computer  阅读(941)  评论(4编辑  收藏  举报