我最近帮助了不少朋友成功从培训班成功入行Java,或者是通过跳槽得到了更高的职位和更高的薪资。在这些情况里,新入职员工的真实能力和通过面试展示出来的能力其实是不匹配的,在本文里,就将讲述在这种情况里,该如何尽快适应,更高效地过试用期。
首先不再有任何自欺欺人的想法和举动,毕竟真实干活和面试不一样,在面试短短的时间内,让面试官确信自己的技能不是不可能,但干活后,一举一动,以及每行代码大家都能看到,所以此时不能再有“如何再伪装”的想法。
不过真实干活不是从零基础开始干起,一般都会有现成的代码可以参考。比如培训班学员入职后,项目经理一定不会让开发一个新项目,甚至都不会让开发一个包含分布式等值钱技能的模块,一定会让在现有项目里做个新的业务模块。
这时你可以通过如下的方式尽快上手。
1 哪怕人家让你一开始看文档,你别等,你就去和项目经理或老同事说,如何搭建开发环境,先在你电脑上,把开发环境搭好,也尽快让在本地连上Git客户端,能拉下代码,同时连上数据库或各种环境。
这个时候,人家如果未必肯帮你,你就可以用请吃饭或小零食等来拉近关系。其实人家也未必在乎这些,你请人家吃饭人家也未必去,但看你态度好,而这种事对熟悉情况的老员工来说,也是顺手干的,所以你可以尽快把开发环境搭建好。
2 搭建好开发环境后,未必要去看文档,其实这些文档你用半天一天看了,再细看也没用。这时你甚至可以让项目经理给你分配个任务。
其实任务是逃不掉的,你主动要求或一味得过且过,项目经理其实是看在眼里的,与其被分配,还不如干活漂亮些,主动申请。
3 在领到任务后,你可以问,这个业务流程我可以参考其他什么流程。这种话你不问没人告诉你,但做业务无非是增删改查,项目里一定有其它类似可供参考的模块。你问清楚以后,先通过从git拉代码,配置数据客户端和配置运行参数等方式,把人家的代码跑通,然后在此基础上问需求。
由于你跑通代码了,人家和你说任务时,总比空口说要清楚很多,而且你至少能问问题了,这时你就可以问,该把其中哪个点改掉,该从哪个数据库里拉数据,数据拉到了以后,又该仿照其它什么业务做处理。
4 其实真实做项目时,用到的框架,比如spring boot或SSM等,和你在培训班里学到的是一样的,里面的流程也无非是MVC,也无非是通过JPA或Mybatis连数据库,有差别的无非是业务复杂些,数据表多些,外带多些检查参数和异常处理等动作。
所以大家真的做业务时,除了要态度端正以外,还真的不用慌,复杂的是业务,而不是技术,你就按上述的步骤,先搭环境,针对环境问差别,再按当前业务,仿照并修改现有代码,这套流程做出来以后,你会发现你真正开发的代码并不多,做任务的难点在于需求,而不是技术。
5 做好任务以后,你千万别认为就结束了,你可以通过测试环境多跑几遍,这样哪怕你的代码有问题,至少也不会有很低级的错误了。同时要点测试人员发现有问题后,你得第一时间参与并修改。
同时,由于你做好一个或多个模块,你就知道本项目的开发和运行流程,以及数据库连接配置方式等细节,这样你就能很快地上手并成为熟练工。
6 这里顺带说个提升要点,那就是多参与问题排查。你干项目的时候,一定会出现线上问题,哪怕这个问题和你无关,或者按你目前的能力你解决不了,你也一定得跟在后面看。
解决问题的方式一般是登录到linux服务器,看日志,通过日志查业务代码,并通过熟悉业务排查问题,再进一步包括解决由集合、多线程或其它对象导致的问题。
刚开始,你可以在人家解决好问题之后,再动手复盘一下,这样可能一开始你很不熟悉,也不知道技术问题该怎么解决,但做个3,5次以后,你就会越来越熟悉本项目的业务,同时也能很快地提升java,数据库乃至分布式组件等方面的技能。
7 当然,你刚入职的时候,更得注意工作态度,因为这个时间点,大多数人都会关注你。这个阶段,你一定得早到公司,下班后尽量等大多数人走了以后再走,周末如果要加班你也得去,同时上班时,也尽量别看手机别多摸鱼。
同时,你有问题,比如业务或技术方面的问题,你至少得自己思考一下,但如果你发现这些问题你在半小时里解决不了,一定得上报,或问人家。毕竟工作比脸面要重要,哪怕你磕磕巴巴问了很多人,而且走了很多弯路完成了任务,一定比最后没完成,而且在最后一刻才说要好很多。
大家要知道,公司里招人是要成本的,对应的开人也是有成本和风险的,所以在大多数情况下,如果员工干活慢或bug多,这顶多就是评价低些,过个试用期问题不大。
只有在一直无法按时完成任务,而且在最后时刻再说导致进度延迟,同时工作态度又不好,让项目经理看不到希望,才有可能不让过试用期。哪怕在试用期阶段表现再差,但有进步,能让项目经理看到该员工能在一两个月内改好,这甚至都有可能过试用期,顶多就是评价低些年终奖低些。
总结一下,上文给出的对培训班学员过试用期的建议包含如下要点。
1 态度端正,多加班多问人好好和人搞关系,有问题及时问人及时上报。
2 项目角度多山寨现有代码,别自己从零开发。
3 多参与测试排查线上问题等的工作。
其实当下虽然有不少程序员会干活不会面试,但技术一般但会面试的程序员也不少。况且培训班学员在找第一份工作时往往还真得靠面试技巧,而程序员挑战高级职位(比如开发挑战架构职位)时也得靠面试技巧,所以不少公司遇到员工真实表现和面试时表现有差异,就见怪不怪了。
还是这句话,新入职不能靠熬,而得靠积极主动干,而且当你积极问问题,积极开发代码并积极参与解决问题后,会发现其实你干新项目遇到的问题还真能通过查资料解决,或者至少你能描述清楚问题从而能得到明确的帮助。
而且通过你不断积极主动看代码,这个项目的数据库结构,配置文件,以及业务的开发和运行方式,对你来说还真不是事,这样你过个试用期问题就不大了。