如果这个世界上有这样一瓶药水,喝下后能够立马回到十年前,回到我刚毕业参加工作那会,我一定会毫不犹豫地喝下去。因为这十年来,我走了太多的弯路,要不也不可能成为小伙伴们的“人生导师”哈。
请肆无忌惮地点赞吧,微信搜索【沉默王二】关注这个在十三朝古都洛阳苟且偷生的程序员。 本文 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 天时间,写完后真的感觉自己在这方面进步很大。
计算机基础知识包括:算法和数据结构、计算机操作系统、计算机网络、计算机组成原理等等。这些基础知识,就像我们的内功,如果在未来想要走的更远,这些内功是必须要修炼的。
技术是层出不穷的,框架是千变万化的,但那些通用的底层知识是亘古不变的,掌握了这些基础知识,不仅可以帮助我们更快地学习一门新的语言,还能让我们在性能方面做出更好的优化。
算法的思维导图如下所示:
数据结构的思维导图如下所示:
计算机操作系统的思维导图如下所示:
计算机网络的思维导图如下所示:
计算机组成原理的思维导图如下所示:
有些小伙伴可能还在上大学,觉得学校的计算机专业课程比较落后,比较枯燥,但这些基础课程还是要好好学的。也许上学的时候感觉不到有多大的用处,但实际开发工作中,基础知识的扎实程度决定了一名程序员的上限。
很多大点的互联网公司无论校招还是社招,就喜欢考察这些基础知识。此外,很多平时开发中用到的技术都会涉及到这些基础知识,比如说为了提高查询性能需要使用的缓存技术。
我把这些思维导图以及计算机基础知识方面的资料整理到了下面这个下载地址里:
链接:https://pan.baidu.com/s/1easOhyK_GWPDPzqX8qCS0A 密码:ombj
08、好好保重身体
提起程序员,总免不了和一些段子关联上,比如说“要变强,必变秃”,再比如说:
零基础学编程→某编程语言入门→某编程语言进阶→技术专家→颈椎病
这些段子听上去是不是莫名有一股心酸,对于大多数程序员来说,生活没有那么多诗和远方,只有加不完的班,写不完的需求和改不完的 bug。
这篇文章,我是从早上 4 点多起来写,写到中午 12 点,差不多七八个小时,写最后这段时真的快撑不住了,背部和颈椎这块,特别疼。
写完必须得休息会,然后再去骑自行车。我是今年 5 月份开始骑自行车的,每天坚持骑行一个小时,最近身体给的反馈还不错。
小伙伴们平常也要抽时间锻炼会,真的,咱们不像人家张朝阳了,张康阳了,每天只需要睡四个小时就足够了,我觉得他们(可能)不是人。
古人有句话说得好,“身体发肤,受之父母,不敢损伤,孝之始也。”我们的身体不仅仅是自己的,还是父母和爱你的人的,所以如果能够回到十年前,我那时候就开始锻炼,决不懈怠。
我是沉默王二,一枚沉默但有趣的程序员,关注即可提升学习效率。喜欢这篇文章的,请不要忘记四联啊,点赞、在看、转发、留言,你最美你最帅!
(转载本站文章请注明作者和出处 沉默王二)