大家好,我是杰哥
最近面试了三十多个校招生,还是比较有感触的。这些候选人在大学期间的经历,基本上分为三类:没有清晰目标,也未付出努力;没有目标,但付出努力以及有目标并付出了努力这三类。而他们的笔试与面试的表现情况,也基本上呈递增趋势
为了帮助大家早日确定好自己的职业目标,少走弯路,杰哥专门抽时间,结合自己的经历以及工作这么多年的所见所闻,分别从大学期间、找工作期间以及初入职场三个阶段,提供给大家一些建议,帮助大家更早地明确自己的职业观
一、大学期间
1、有一个较为清晰的目标
一定要花时间考虑清楚自己将来要干什么,这件事情越早确定越好
当然这件最为重要的事情,也不是说一两天就能确定了的,是需要经过深思熟虑之后才能真正确定下来的,有些人可能在毕业三五年之后,才真正确定下来。即使是花了很短的时间,拍脑袋确定下来,往往也很容易在中途发现这条路并不是你真正想要走的,那就需要重新返回原点进行选择了,反而影响整体的目标确定的效率,所以不用特别着急,给自己一定的时间来摸索
那么该如何确定呢?
在《程序员的职业生涯规划》中,我有提到,你要真正确立自己的职业发展目标,一定要结合以下几点:
一,你自己最擅长什么
二,你自己真正感兴趣的点是什么?
三,能不能产生长远的价值?
第三点听着似乎有点功利,但是要是没有价值的事情,你其实也很难坚持下来。所以在这个前提之下,主要需要确认自己是否真正擅长,并且是否感兴趣。当然似乎这两者往往是同时存在的,毕竟从擅长的东西中,不断获得正向反馈,也不会太讨厌不是?
具体,根据我的思路,可以采用如下的步骤进行:
(一)确定大方向
首先需要充分了解当前自己所在的专业。可以通过询问老师、学长学姐以及网上的一些相关信息,进行多方面了解。了解专业所需要修的课程,专业毕业之后会有哪些就业方向,每个方向大致会有哪些要求,有哪些特点等等。
如果了解的足够充分,并且自己通过一段时间课程的学习、相关实验的操作等,你就会渐渐确定你是否喜欢当前的这个专业。如果你发现自己没有兴趣,或者有更为感兴趣的专业,那么就越需要尽早确定了,比如考虑换专业或者私下里自己花额外的时间去专攻你真正喜欢的那个专业
如果感兴趣,那么恭喜你,你接下来的时间,就基本上是确认一个具体的方向,也就是你的职业发展目标,而在学校的课程的学习与练习,也将为你起到助力的作用
比如说,我当时的专业是数学与应用数学专业。据我了解,这个专业会分为金融和软件两个方向。金融方向的话,偏向于统计方面,发展方向基本上为会计、教师以及公务员等,考研、读博将会是个加分项。相对来说,这个方向前期需要做得工作可能比较多一些,需要准备一些考试或者证书,后续阶段,相对来说就会比较轻松一点了
而软件方向,毕业以后就是做开发、测试等。随后的发展方向就是架构师、CTO、项目管理等等,这个方向的特点就是就业机会比较多,能够相对来说较为快速找到工作。但是工作节奏可能会比较紧张,加班会很多,而且相对于其他大多数行业来说,需要不断学习才能不被淘汰。基本上算是前期需要做得工作不那么多,但是后续要一直保持紧张感的一个方向
了解清楚每个方向的特点与要求之后,接下来则需要采取一些措施,试图确认自己的兴趣度。比如,这个专业在大二会分别开设偏金融方面的课程,如概率论、运筹学;软件方面的课程,如汇编语言、离散数学,那么就可以根据自己对这些课程的兴趣度与擅长度,做出一个基本的判断。比如说,我当初就比较喜欢汇编语言和离散数学,感觉里面的逻辑思路很有意思,而且当初也可能是由于年轻气盛,感觉自己以后从事的职业,一定要对自己来说,是有挑战性的。于是呢,就渐渐确定了 软件开发这个方向
(二) 确定具体目标
一般来讲,如果确定了一个基本方向以后,就基本上确定了最终的职业发展方向了。但是,对于软件开发来说,又有一些较为具体的方向,比如 Java 、Python、C++、Go 语言、前端开发等方向的开发,专注数据库方向的开发或者测试方向。而测试的话,据我了解,又细分为功能测试、性能测试、安全测试以及测试开发等方向
个人感觉,可以越早了解清楚这些具体方向的特点,包括所需要准备的基础知识、以后的发展方向等等,会更好。这样不仅会让你对当前的这个大方向了解得更为深入,还会激起你更大的兴趣,从而在后续做出一些有针对性的准备工作
2 做准备
确定好了方向以及需要做的准备之后,你就可以列计划来逐步达成目标了
对于计算机方向来说,除了具体方向中需要着重准备的东西,如 Java 方向需要了解 Java 基础,并有一定的小项目实战经验,能够将所学的知识系统运用起来。在此基础上一定尽可能地将计算机基础打扎实。包括数据结构和算法、操作系统、汇编语言、计算机网络等基础知识点。在学习过程中,我们不要仅仅以应付考试的心态去学习,而是要真正地把它们搞懂学精,尤其是数据结构和算法,这个是编码的基础,也是大企业关注的重点。只有当你的基础知识足够牢靠,能够基于问题去处理东西,真正地将理论与时间结合起来,才会真正有助于以后的职业生涯的发展
这些东西,当初本人也只是听老师、学长学姐这样讲过,但是真正意识到,也还是在亲身经历过之后。而发现之后,则是悔意满满~所以,还是要再强调一下-计算机基础真的很重要,尤其当你工作时间越来越久的时候,你会发现,无论是要写出优秀的代码,还是说要做出优秀的架构设计,都与这些基础知识密不可分!而且两个人,在刚开始的基础打得牢不牢,随着时间的推移,两个人的差距便越来越大
比如说,我的弟弟,几乎是从复读那年开始,他突然意识到了学习机会的难得与基础知识的重要性。于是从那时起,他似乎便很注重学习目标的制定与执行力
第二次高考,他考得很好,我知道,那是他意识改变的结果
在大学期间,他确定自己要做计算机,于是常常会看书学习。我比他高两届,那时我已经工作了,他还常常劝我要多看书,我常常却一笑而之,觉得刚毕业的工作内容比较简单,完全没有必要看书啊。毕业第一年,我的准则就是工作时间就工作,下班时间以及周末一定要尽情放松的,这也是在之前学生时代就就想好的一种职业状态
直到,我后来辞职来到了我最向往的城市-深圳。他也找到了工作-腾讯
我比他先到深圳,他来之前,就把东西先寄到我这边。到现在还记忆犹新,当时收到的东西有三大箱,其中就有两整箱书!我们把重重的箱子好不容易挪上来之后,一一翻开书,上面基本上每页都已经划了重点,还有多种颜色的工工整整的笔记......
说真的,当时真的被冲击到了。想想自己当初毕业快两年时间,还完全没有看过一本技术书呢,要看完这几十本厚厚的技术书,那得花多少心思呢,难怪他大学毕业,居然开挂似的,连续经过四轮比较有难度的技术面,成功加入腾讯
而在之后,经过社会的一些毒打之后,我也渐渐开始下意识地学习了。而不断地学习,也才渐渐让我的职业生涯渐渐有了起色
二、找工作期间
找工作期间,有一个方法特别有效。项目管理中,有提到 PDCA 原则,即计划(Plan) - 实施(Do) - 检查(Check) -行动(Action) 。同样地,求职阶段也可以拆解为 4 个阶段:求职计划 - 简历投递和笔试面试 - 检查求职过程 - 反思总结改进。不断实践,不断总结反思教训与方法,再继续实践,继续改进,如此循环进行,你会渐渐变得越来越强大,距离自己心仪的工作便会越来越近
从我当时来说,其实本人在大学期间算是一个反面教材.在大一刚开始,就确定大学生活要是:充实且精彩的。就是因为这个价值观,使得我从大学刚开始,面对社团、学生会以及协会的纳新热潮,便毫不犹豫地参与其中。冲着自己的一腔热情,最终加入了院学生会、跆拳道协会以及学校的一个勤工俭学组织,还托人帮我找了个家教.....基本上是把课余时间都排满了,生活节奏一下子就变快了,每天吃饭走路的速度都变快了
朋友们常常说,觉得我每天都好忙啊,当时呢,总会会觉得,很自豪,因为觉得自己的生活的确过得很充实且精彩,比别人更有效地利用了时间。就这样,时间匆匆而过,直到快要找工作的时候,才猛然反应过来,原来自己错过了那么多
于是,便只能在找工作期间发力了
第一阶段 挂在笔试
刚开始,由于没有信心,感觉自己基础也比较浅,于是就疯狂投递简历,只希望增加笔试、面试的机会 第一阶段,笔试的机会倒是挺多的,但是笔试几乎没有通过的
基础是硬伤啊,拿到笔试题,发现很多知识点都很生疏,选择题总有那么一部分都是在蒙答案,编程题就更不用说了,常常是写个方法结构,写几行思路,代码是死活憋不出来,因为在学校的时候确实没有怎么练习,而且对于各个课程来说,都是停留在应试的层面,只要考试通过了,绝对就不再去看了
直到连连受挫四五次以后,便渐渐意识到,这样总是出去参加笔试也不是个办法,对自己来说只是会浪费时间,因为总是不会,也不会因为多参加几次笔试就会有任何改变。即使错过千万个面试机会,也只能专心下来,提升一下自己的基础知识,才有找到工作的希望,否则是完全没有机会的
于是,便开始了长达两周时间的闭关修炼,完全不去看招聘信息,每天泡在图书馆,早出晚归,刷题,请教班级学霸,再刷题,在两周时间里,足足记录了两个厚厚的笔记本
这时,多少有一些自信了,便开始了自己求职的第二阶段
第二阶段 挂在一面
这个时候,渐渐一些小公司的笔试题,通过率变高了:参加五家,至少能过两家,尤其是当碰到自己刷过的编程题时,那就很幸运了,这种一般情况都是能够拿到高分,并且顺利得到面试机会的
于是,开始收到一些面试邀请
我有机会参加的第一次面试,就是魅族
由于刷了那么久的基础题,所以前半段的基础题,回答的特别顺利,基本上是对答如流。但是,基础知识告一段落了,面试官居然让现场写笔试题,而且还是我没有刷过的题,这下就完蛋了,撑了十几分钟也没有写出来,面试官帮我换了一个,说是简单一点的,但也没有写出来
接下来,连着面试了好几家公司。面完之后,基本上都没有下文了
那怎么办,看来自己的基础还是差的太远了......
第三阶段 拿到 offer
那就进入第三阶段,再次闭关准备
这个时候,主要针对的是算法题,于是买了一本《牛客网》当时比较推荐的一本算法面试书,作者是左程云,就开始刷起来
就这样,连续准备了 10 天,基本上把这本书里面比较简单的算法题都吃透了,当然过程中也继续请教了早早找到工作的大佬
接下来,从头开始,投递简历,还算比较稳,这个阶段的一面渐渐也有了通过率
这个时候,时间已经到了秋招末期,进入了11 月中旬
班级里大部分人都已拿到了满意的 offer,招聘信息也明显少了很多,但自己也没有办法,只能扛着压力,继续每天搜集整个西安学校的招聘信息,每天跑两到三个学校,想要抓住最后的特别珍贵的机会
还好黄天不负有心人,直到 11 月下旬,终于拿到了两个 offer,待遇也还不算低,当时的面试官,对我的评价是:基础感觉一般,但是看得出来有一股冲劲!
是啊,到了那个时候,是谁都会被逼出冲劲的!
最后回想起来自己的校招这段经历,对本人的锻炼还是比较大的。不仅是基础知识的提升、做事方法的改变,还有意识的改变:机会都是留给有准备的人的!
当初,我要是从大二就意识到这一点,就不至于走偏路,也不至于错失那么多大厂机会了
但是,也恰恰证明了一点,只要你醒悟,无论什么时候开始改变,采用正确的理智的思路去应对,结果都不会太差
所以校招的时候,可以参考这个思路。提前确定两三个目标公司,然后基本确认该公司比较注重的是哪方面,比如有些公司侧重的是算法,有些公司侧重的是网络,有些公司则注重的是数据结构或者语言的基础等等。然后不断做准备,过程中一边参加其他公司的招聘会练手,一边再反思总结自己的薄弱项,进行计划的调整,再去实践。就这样,反复进行多次,最终一定会拿到较为心仪的 offer
三、入职后
1 为自己打工还是为公司打工要区分清楚
很多新人,刚开始会觉得自己已经进入职场了,就可以轻松一些了,于是每天到点下班,工作中多摸一会鱼,都会觉得很开心,感觉自己很聪明。分给自己的任务只要完成了就行,从来不会想着是不是这件事是否还可以做得更好。由于对自己要求低了,于是时间久了,现实就会告诉你,你 out 了
无论是哪个行业,工作能力,或者说你个人的价值永远是与你的收获成正比的。虽然你在公司上班,但是要是你一直本着提升自己,为自己打工的心态,那么你就会想着如何把一件事做好,而为了做好这件事,你往往会花更多的时间和经历投入在这件事情上,所以这件事完成之后对个人成长角度的效果还是会比较显著的
还有一点,当你将一件事情完成的比较完美,甚至超预期的时候,领导看到了,就会发现你的亮点,并不断分配给你更有挑战性的工作任务,那么你又将获得另一个提升自己的机会。时间久了,你的个人竞争力只会越来越高,那么在以后同样的时间里,你的收获自然就会更高
2 积极学习,培养学习的习惯
初入职场,刚毕业前两年,基础比较薄弱,并且处在一个“不知道自己不知道”的阶段。因此积极学习是很重要的,我们很有必要学习各项工作技能以及沟通等软技能。那么具体需要学习什么内容呢?除了你本身比较感兴趣的技术点以外,个人比较推荐的是学习当前工作中正在使用到的技术点。因为这样可以实现理论与实践相互促成的效果,不仅可以提升你对学习本身的自信心与兴趣,而且你也会很容易把这个技术点掌握得很深入,所以也会让你真正提升技术竞争力
参考杰哥的另一篇文章-《如何学习一个新技术)
3、要保持独立思考
学习的同时也需要保持独立思考。初入职场,往往会有很多东西都不太懂。需要请教别人,但是在提问时一定是要基于自己的充分思考的基础之上的,给别人尽量出选择题而非问答题。不仅给别人留下你有在主动思考问题的好印象,而且主动思考的习惯,对于你自己个人的成长来说也是会有一定提升的
此外,还应常常针对自己以下几个方面进行思考
1)学习方面:学习的内容整理,以及学习的方法与思路
2)工作方面:工作的思路与方法
也可以主动与导师或者领导沟通,及时确认自己的工作思路与方法是否可以更好
3)个人成长方面:自身的优势与欠缺点
要注意反思自己本身的优势与不足之处,渐渐明确自己的兴趣点与擅长点,从而进一步明确自己的职业规划
4、阶段性总结复盘
除了过程中的思考以外,还需要养成阶段性总结复盘的习惯。依旧是主要对上述三个方面进行总结。这个习惯很可怕,它会不断让你走在正确的道路上,并不断提升你的个人成长速度
5、充分理解
在上级为你指派任务的时候,如果有不清楚的一定要尽快弄明白
可以充分梳理之后,通过复述的方式,向上级确认自己的理解是否有误。否则如果自己还没有弄清楚就直接去干,很容易出现,任务完成之后,并不是上级想要的结果,导致花了时间,却做了无用功。或者当时没有理解清楚,自己也没有花时间梳理过,后续多次找上级询问,不仅会给上级造成不太好的印象,久而久之,还会影响自己独立思考问题的习惯培养,导致自己很难有提升
6 要有一定的危机感
这个真不是卷,还记得我的第一个导师跟我讲过一句话,他说他毕业以后,一直告诉自己,如果公司要裁掉 30% 左右的员工的时候,他可以凭借什么可以不成为被裁员的人选
我当时还觉得他是不是太低调了,自己那么强还这么说,但实际上,正是这种反向的激励,让他不断学习、提升自己的能力,不断尝试新的挑战,最终带领团队完成了公司一个战略级的项目,而最后他的发展可想而知了
7 有责任感
有一定的责任感,做一个靠谱的人。这点很重要,有时候比能力更重要。做一个靠谱的人,首先是需要保证自己的任务都按照质量完成了。比如说写代码,自己写的代码代表自己的人品,代表职业素养,代码本身越漂亮、越简洁,不仅可以少很多潜在的 bug ,对以后的维护往往也会有很大的影响
而代码写得如果逻辑太乱,bug 频出,一旦上了生产环境,出现了错误,整个团队可能都要加班解决了,那么大家对你的印象自然也不会很好
相反,要是你平常自己的任务完成得很有质量,而且答应别人的事情,也能够办到,大家就会很信任你。渐渐地,你在团队中的影响力也就慢慢建立起来了,那么对于自己的职业生涯还是很大的
总结
所以,如果你是一名应届生,或者是毕业一两年的职场新人,那么你很有可能正处在一个“不知道自己不知道”的阶段。而这个阶段,也往往是奠定个人竞争力基础最关键的阶段。所以需要保持良好的习惯,持续学习,不断反思总结,逐步明确自己的目标,并不断为之做准备,那么你的职业生涯也只会越来越明朗,越好走
加油吧!骚年~
嗯,就这样。每天学习一点,时间会见证你的强大~
欢迎大家关注们的公众号,一起持续性学习吧~
往期精彩回顾
总结复盘
事务篇章
Docker篇章
Docker篇(六):Docker Compose如何管理多个容器?
Spring Cloud篇章
Spring Cloud(十):消息中心篇-Kafka经典面试题,你都会吗?
Spring Cloud(九):注册中心选型篇-四种注册中心特点超全总结
Spring Cloud(四):公司内部,关于Eureka和zookeeper的一场辩论赛..........
Spring Boot篇章
Spring Boot(七):你不能不知道的Mybatis缓存机制!
翻译
WebTransport 会在不久的将来取代 WebRTC 吗?
.........
职业、生活感悟
..........