初入职场的小伙伴请注意,这 8 个坑不要再踩了
如果这个世界上有这样一瓶药水,喝下后能够立马回到十年前,回到我刚毕业参加工作那会,我一定会毫不犹豫地喝下去。因为这十年来,我走了太多的弯路,要不也不可能成为小伙伴们调戏的“人生导师”哈。
请肆无忌惮地点赞吧,微信搜索【沉默王二】关注这个在十三朝古都洛阳苟且偷生的程序员。
本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题。
当然了,在重走职场前,我一定会送自己 8 个锦囊,要不回去了等于白回去,对吧?咱不能把踩过的坑再踩一遍。
01、选择和努力同样重要
努力决定了人生的下限,选择才决定了人生的上限——十年前,我是不懂这点的,只知道,“苍天不负有心人,只要肯攀登”;十年后,我明白,攀登之前,得选择好攀什么。
我是幸运的,随了一小部分同学的波,去了苏州,最后找到了一份自认为还可以的工作。但假如让我重新来选的话,我会选择更大一点的城市,上海或者北京。
去大城市,当然不是奔着高昂的房价去的,没人会傻到那种程度,去,只有一个目的,就是——机会。人这一辈子,不会平步青云,一直走上坡路。但如果走的坡太矮,到了坡顶,很快就下来了。
如果坡是陡峭的,尽管冲下来的速度会很快,但坡长是足够的。这就会应了那句话,“瘦死的骆驼比马大”。
我有一个大学同学,叫海洋。哥们上学的时候学习就是最勤奋的,和我一样,去的也是苏州,只不过现在还在苏州,已经在那边买房了,并且年薪很诱人。
还有一个大学同学,叫小龙。哥们 2014 年的时候去了上海,工资直接是苏州时的 2 倍还要多,发展前景贼好,但 2016 年的时候“衣锦还乡”似地回了郑州,结果呢?工资减了一多半不说,累成狗的同时,是一眼望不到头的“只长年纪不涨薪”。
我已经在洛阳生活了六七年了,过得不算差吧,经常有小伙伴羡慕我,说我生活惬意,过得美滋滋。但说心里话,还是会后悔回洛阳得太早,没有去更大的城市拼一把,没有把自己的能力发挥得淋漓尽致,有点不甘心啊。
有一个因为写作认识的朋友,和我一样,出过书,之前在长沙做技术总监,前几天发信息给我说,“二哥,有机会来杭州啊,我安排,洗脚啥的没问题。”我就纳闷,哥们在长沙混得不差啊,怎么下这么大的决心,重新出发了呢?
要知道,他和我一样,结了婚,有了孩子,家里人都反对他去,去了就要在杭州那边买房,重新开始。但我支持他,能做出这个决定,他就是我心目中的英雄!
人这一辈子,就怕的就是留有遗憾,他去杭州那边,薪资直接翻了翻,这是广阔无垠的天地,以他的能力,能够闯荡出新的成绩,这一点我是深信不疑的。
与其在长沙不温不火,真不如选择重新出发,去杭州燃烧一把。
我之前提到过,参加工作的第二年,女朋友放弃郑州大学的研究生保送名额,去了上海考同济大学的建筑系研究生。虽然最后遗憾差了几分没有考上,但如果重新来选的话,她说,“我还是会做出同样的选择。”
我佩服她的勇气。同时,如果再给我一次机会的话,我一定会给她提供一个更好的住宿环境,让她心无旁骛的考研,以她的学习能力,一定能考得上。她留在上海,而我也会选择去上海打拼。
以我们两个人的能力,在上海一定会比在洛阳好,哪怕是在上海混得不好迫不得已最后回洛阳,也会比没有在上海待过好很多,我是有这方面的蜜汁自信的。
退一万步说,我们去苏州的这些同学,远比毕业后留在郑州的过得好。每次有同学结婚,大家聚在一块的时候,留在郑州的同学就这样感慨:“还是你们这群去苏州的明智啊!”
明智啥呀,我们只是莫名其妙做了一个选择而已。
02、领导让你上就上
之前收到过一个小伙伴的私信,说,“二哥,有个领导离职了,于是领导的领导就临时决定让我上,但我自认为能力还不到,有点犹豫不决,怕做不好,怎么办呢?”
还能怎么办?上呗!
机会虽然是留给有准备的人,但更是留给那些领导肯器重的人啊。想一想,是不是这个道理。假如你的领导不走的话,你有机会出头?你领导的领导能让你上?这话虽然粗俗了点,但是真理啊。
体育场上有很多名不见经传的小将,因为主力受伤,临时被派上场,然后,然后就爆发出了惊人的潜力,等主力养伤回来后,发现已经没有了位置。
小将上场前,总不能给教练说,“教练,我没准备好,你换下一个人上吧!”假如这样的话,这小将就永远只能是板凳球员了,一辈子也没有出头之日。
在职场上,也是同样的道理,领导让你上就上。假如你在领导眼里没有位置的话,也不会让你上,他一定是发现了你身上其他同事没有的优点。
只有上了,才有做事的机会,才有机会肩负起更重要的职责。李诞知道吧?以前就是个幕后编剧,被迫走到了台前,结果火得一塌糊涂。火的结果,就是广告无数,赚钱赚到手软。
有小伙伴担心说,万一做不好,替领导背锅了,不就竹篮打水一场空了。瞧瞧这前怕虎后怕狼的,领导还怕被你拉下水呢?想啥呢?遇到自己不懂的,多和领导沟通交流反馈就行了。领导不是吃素的,选择你有他选择的理由,这一点,咱就不替领导瞎操心了。
我之前也提到过,工作的第二年,就被提拔做了 Team Leader,比公司很多学历高的同事都晋升得快。我那时候就特别好奇,心想,领导难道是发现了我身上某些优点,虽然我自己都没发现?
尽管有些担忧,但最后还是硬着头皮上了,给新人培训啊(话说我还是个新人呢),研究源码啊,做代码校审啊,攻坚技术难点啊,一年多时间下来,发现成长特别特别快,和我一块来的那些同事再也没赶上我的脚步。
03、不要过早离开一线
我 24 岁就回洛阳了,说实话,回头再看的话,有点过早了。考研的小伙伴可能 24 岁还没有毕业,对吧?
24 岁的年纪,正是打拼职场的青春年华啊。我有两个好朋友,一个叫庆哥,一个叫小鹿,小伙伴们应该在留言区经常看到他们的身影。他们俩今年差不多也是 24 岁的年纪,庆哥去了杭州,小鹿去了北京。你瞧,我和他们之间是多么大的反差。
回三线城市洛阳是有好处的,比如说房价低(不觉得),消费标准低(不觉得),生活节奏慢(不觉得)。但弊端更多,比如说工作机会少,你看我就很少提在洛阳的职场,因为乏善可陈,真的是。
作为程序员的我们,应该很清楚,互联网是联通世界各地的,我们村的大爷大妈们都会抖音直播。但是,互联网是有地域差别的,我们村就没有软件开发的工作。
小鹿之前说,他找工作时投了几十份简历。我回洛阳那会,就没有投几十份简历的机会,大概投了四五份吧,就觉得(可以去掉)没公司可投了。
有不少小伙伴问过我,“二哥,洛阳有没有好的工作机会啊,想回去,在外面漂时间久了,累。”说实话,在洛阳,做 C++ 的,有一家公司待遇还不错,我可以内推,但做 Java 的好公司寥寥无几。
我在洛阳过得不错,是有原因的。第一,我技术还过得去,也肯学习,肯输入,没有掉队;第二,我会写作,有一定的影响力,和大厂程序员有交流切磋的机会。小伙伴们可以羡慕我的生活,但也要看到我背后付出的努力(我四点多就起来写这篇文章了)。
04、只全栈不纵深要不得
我 2019 年的时候出版过一本黄皮书,名叫《Web 全栈开发进阶之路》,这本书的稿子早在 2016 年就动笔写了,只不过出版的进度比较慢。说实话,我现在不太喜欢提这件事。因为“全栈”就意味着什么技术都会,但又什么都不精通。
想想是这个道理。为什么说大厂的程序员都是一颗螺丝钉,只需要负责自己擅长的就够了?因为不需要面面俱到啊,大厂讲究的是团队的配合,前端干前端的事,后端干后端的事,前后端又可以细分出很多领域,每个人只需要把自己手上的活干好,干明白就完事了。
小公司没有那么多人力,所以一个开发要肩负起很多的职责。往往一个项目的开发,从需求沟通,到产品设计,到代码研发,到测试,到运维,到后期维护,基本上是一肩挑。
人的时间和精力是有限的,干得多了,就没办法深入研究一个领域,做到专家的程度。与此同时,不可替代性就降低了。
关注我比较久的小伙伴应该可以看得到,我这一年多时间里,一直在 Java 的领域深耕,研究得越深,就越发现,可写的内容越来越多;甚至有些话题,每研究一次,就能发现一些新的技术细节。
我第一次阅读 HashMap 的源码时,了解到 HashMap 难的不是 Map 而是 Hash;第二次阅读的时候,了解到 HashMap 是通过拉链法解决的哈希冲突;第三次阅读的时候,了解到 HashMap 里不只有数组和链表,还有红黑树;第四次阅读的时候,了解到红黑树可以提高链表的查询效率。
纵深,其实是战略上的一个用词,指的是军队作战地域纵向的深度。深度的量决定了防御体系的坚固程度和攻击体系的出击强度,是近代战争立体化的体现。这个词,也可以用到职场上,那就是我们不要一味追求技术的覆盖面,更应该注重技术的纵深度。
尤其是进入职场的前五六年,一定要纵得深一点,这样才能安身立命。等到这个技术壁垒建立了以后,随着工作经验的累计,就可以在广度上花一些功夫了,因为技术是要更新迭代的。
05、趁早打造影响力
JavaGuide, 应该有不少小伙伴认识,他早在大三的时候就维护一个叫“JavaGuide”的开源项目,截止到目前,这个项目在 GitHub 上的 star 数已经超过 88k 了,排名非常靠前。这个项目还衍生出了一份内容非常棒的 PDF,名叫《JavaGuide 面试突击》,我前前后后看了两遍,真的是感慨良多:要出名,趁早啊!
像 Guide 哥这样,不仅建立了影响力,还真真正正地帮助了他人,自己优秀的同时带着他人一块优秀,才是真正的优秀啊。
按照往年这个时候,金九银十,正是找工作的黄金档期,为了小伙伴们着想,我把这份 PDF 的下载地址放到了百度网盘,小伙伴们顺带下载一波,我也趁这个机会帮 Guide 哥宣传一波。
链接:https://pan.baidu.com/s/1S_qZ8ouXHGOI_Ghy1BNk0Q 密码:369n
06、精通一门外语
我在苏州的时候,是在一家日企,但不会日语,吃了很大的亏。第一次去日本出差的机会就是因为这个泡汤的,说起来后悔死了。
当时护照都办好了,特意从苏州跑回户口所在地洛宁办的。结果领导临时决定,让另外一个同事替我去,因为同事的日语比我好一些。
小伙伴们可能有所不知,在日企,去日本出差可是一项美差——不光这边的工资照发,那边还有相当高额的补贴,基本上去一趟,一年的奖金就赚回来了。
我在技术上是没法挑剔的,这个领导心里一清二楚,毕竟项目的核心代码都是我带着团队写的。可我那时候就是讨厌学日语,提不起半点学日语的兴趣。
由于每个项目组都会配备一名专职的翻译小姐姐,所以遇到看不懂的文档我都会找她们翻译,况且日常工作中还有一款非常强大的翻译软件——灵格斯词典。日语中有不少汉字,只要掌握一些语法,结合着翻译词典,基本上的意思都能看得大差不差。
于是呢,每周的日语课我也不怎么花心思。上课的老师都是平常工作时候的翻译小姐姐,关系很熟,每当我被提问的时候,我都会穷尽心思用蹩脚的日语造个句子调戏一下小姐姐。
后来从日企离职了,确实用不着日语了,但偶尔看一些动漫的时候还是会后悔,要是懂日语的话,就知道他们究竟在说些什么,不用再翻译成中文了。
日语不好,问题还不算太大。但如果英语不好的话,对于程序员来说,就是个巨大的劣势。因为技术上的一手资料,大多数时候来自于外文网站。
如果你想在程序员这条路上走到黑的话,抓紧时间把英语能力提上去。
07、基础还是要扎实
不害臊地说,我就吃了很多基础知识薄弱的亏,以至于最近一段时间,不得不疯狂地补。《一文了解 8 种数据结构》这篇文章我写了差不多 3 天时间,写完后真的感觉自己在这方面进步很大。
计算机基础知识包括:算法和数据结构、计算机操作系统、计算机网络、计算机组成原理等等。这些基础知识,就像我们的内功,如果在未来想要走的更远,这些内功是必须要修炼的。
技术是层出不穷的,框架是千变万化的,但那些通用的底层知识是亘古不变的,掌握了这些基础知识,不仅可以帮助我们更快地学习一门新的语言,还能让我们在性能方面做出更好的优化。
算法的思维导图如下所示:
数据结构的思维导图如下所示:
计算机操作系统的思维导图如下所示:
计算机网络的思维导图如下所示:
计算机组成原理的思维导图如下所示:
有些小伙伴可能还在上大学,觉得学校的计算机专业课程比较落后,比较枯燥,但这些基础课程还是要好好学的。也许上学的时候感觉不到有多大的用处,但实际开发工作中,基础知识的扎实程度决定了一名程序员的上限。
很多大点的互联网公司无论校招还是社招,就喜欢考察这些基础知识。此外,很多平时开发中用到的技术都会涉及到这些基础知识,比如说为了提高查询性能需要使用的缓存技术。
08、好好保重身体
提起程序员,总免不了和一些段子关联上,比如说“要变强,必变秃”,再比如说:
零基础学编程→某编程语言入门→某编程语言进阶→技术专家→颈椎病
这些段子听上去是不是莫名有一股心酸,对于大多数程序员来说,生活没有那么多诗和远方,只有加不完的班,写不完的需求和改不完的 bug。
小伙伴们平常也要抽时间锻炼会,真的,咱们不像人家张朝阳了,张康阳了,每天只需要睡四个小时就足够了,我觉得他们(可能)不是人。
古人有句话说得好,“身体发肤,受之父母,不敢损伤,孝之始也。”我们的身体不仅仅是自己的,还是父母和爱你的人的,所以如果能够回到十年前,我那时候就开始锻炼,决不懈怠。
我是沉默王二,一枚沉默但有趣的程序员,关注即可提升学习效率。喜欢这篇文章的,请不要忘记四联啊,点赞、收藏、转发、留言,你最美你最帅!