开发经验分享:写给入职2~3年同学的一封信

3,393 阅读13分钟

初入职场的小伙伴们,你们好!

很高兴你们能够在百忙之中,抽出时间,翻阅我写的这封信。希望这封信没有白白占用你的宝贵时间,能够给予你在工作中或者生活中带来一点帮助。

引言

近几年,伴随 IT 行业的快速发展,越来越多的同学(90后00后)加入到这个行业中。然而,当他们工作两三年以后,同学之间就产生了巨大的差距。有的人,已经步入大厂或者成为高级开发;有的人,还在原来岗位,作为一个初级开发人员。到底是什么原因会导致如此大的差距呢?我们是否有办法缩小这个差距?

在笔者与近百名应聘者的面试中,与身边小伙伴的沟通中,发现:差距主要表现在以下几个方面:

存在的问题

1. 缺乏目标

初入职场,需要学习的内容非常多,感觉自己各个方面都需要学习。工作中,并不像上学时期,有明确的教学大纲,以及老师的辅导。工作中,很多同学都是眉毛胡子一把抓,必然导致自己非常劳累,但是收效甚微。

2. 目标不具体

有些同学拥有自己的奋斗目标,3年或者5年的奋斗目标,希望进入一个大厂。然而,这个目标过于宽泛,不够具体。可能一晃1年过去了,也不知道自己距离目标还有多远,甚至目标是否已经实现。

应该把目标进行拆解。具体到年、季度、月、周,最好能具体到天,甚至小时,

3. 目标不切实际

光有目标是远远不够的,很多人上学的梦想都是希望考入理想的大学,但是真正能考上的还是少数。有远大目标,是一件好事,我也非常赞同👍。但是,有些同学,希望工作2-3年就能够进入大厂,或者成为高级工程师,但是自己却不太努力,这样就算工作4-5年,也未必能够如愿。

4. 缺乏科学方法

学习没有捷径,但是,学习有方法。我相信很多同学可能都经历过,一个优秀的老师,总是可以教会我们用更好的方法去解决问题,困难很容易就迎刃而解了。

5. 缺乏恒心

实话实说,学习确实是一件苦差事,并且不是一蹴而就的事情。尤其,当你没有好的方法,或者学习收获甚浅的时候,经常缺少长期的学习动力。况且有太多的外界因素会干扰我们学习,占用我们的学习时间。有太多的诱惑,游戏、美食、约会、玩耍、金钱等等。

问题概括

把上面的问题总计一起主要就是以下3的问题:

  1. 目标问题
  2. 方法问题
  3. 毅力问题

解决问题的办法

1. 强身健体 - 重中之重

表面看来,强身健体与上面的问题毫不相干。实则,是我们解决所有问题的重要基石,如果不能解决健康问题,我们就无力解决任何问题。

我发现,很多刚刚工作的同学,毫不关心这个问题。认为健康是30岁以后才需要考虑的问题。然而,殊不知,你不关心它,它会关心你。你会比别人更早拥有健康的问题。

身体永远都是革命的本钱,去观察你身边的“成功人士”,一般都会有良好的生活以及运动习惯。

  • 良好的身体状况,可以提升工作和学习的效率(P
  • 运动可以强身健体,增加工作和学习的时长(T

W(成绩 ) = P X T

运动是一种习惯,也是一种间接挣钱的方法(省去大额医疗费用)。

2. 解决目标问题

人力的能力和精力都是有限的,一个人不可能成为各行各业的专家,越是想成为一个行业的专家,你就越需要聚焦。

本科,学习内容大多数是基础知识;研究生,研究方向往往是本科所学的某一门课程;博士,基本上是研究一门课程的某一个方向。

具统计,要想成为一个行业的专家,至少需要投入7年的时间,也就是常说的1万小时定律,按照每天学习4小时来算,每天不间断学习大概还需要7年的时间。

近年来,IT行业迅速发展,拿笔者从事的前端为例,前端框架、技术层出不穷。从 HTML 4HTML 5jQuerybootstrap 再到 Vue React Angular Flutter,再到 Node.js,再到 Serverless,再到微前端,连许久不变的 javascript 都变成了年更。CSSSASS LESS Stylus。从前端到后端,到微前端,到无端,无处不体现着快速变化。

寻找目标

目标:这个至关重要,只有从事自己喜欢、并且自己擅长的事情,你才能金钱、事业、快乐三丰收。然而,目标不是靠猜,不是靠运气。我们需要用科学的方法,帮助我们确定奋斗目标。因为,奋斗目标是关乎我们一辈子的事情,如果能够从事自己喜欢并且擅长的事情,那就是极好了。

现在有很多职业兴趣倾向测试,可以让我们更科学地了解自己,了解自己所擅长的事情,起到事半功倍的效果。

虽然三百六十行,行行出状元。但是,能做自己擅长的行业更容易有成就感。可以借助一些工具,帮助寻找自己擅长的职业。

比较受欢迎的职业兴趣倾向量表:

明确目标 - 专注具体的方向

我们必须学会聚焦,明确目标,有的放矢。否则,不仅会异常劳累,更是会收获甚微。全才(全栈)只是一个传说,很少有人会在各个领域精通,我们能在一个领域足够深入,就足以让你成为专家,成为行业的佼佼者,给你带来丰厚的收入。

制定目标

制定目标的原则:

可以从大到小,从远到近拆分;采用倒推的原则来确定和调整

可以量化的目标才能称为一个优秀的目标,否则就不能衡量自己是否完成目标。我们应该制定长期目标:是愿意付出一辈子至少是暂时认为是一辈子愿意去做的事情,中长期:5-10年,中期:3-5年,短期:1-3年。

  • 3年目标:成长为高级工程师(掌握高级工程师所具备的技能栈和软技能)
  • 年目标:学完多少课程,看完多少本书,跑步多少公里,写多少篇技术文章
  • 月目标:应该是对年目标的拆解
  • 周目标:应该是对月目标的拆解
  • 日目标:应该是对周目标的拆解

目标要准确

通过官网、正规途径来衡量考核标准。如:岗位的招聘描述。否则如果存在目标偏差,即使将来达到了设定的目标,也是有偏差的目标。

目标要切合实际,努力可以够得着

每个人的自身条件不同,目标要量身定做。有些同学是名校科班出身,毕业直接进入大厂。目标,自然要远大一些。然而,有些同学,“半路出家”,基础还不牢固,能够入行就是一大进步。2-3年的时间来夯实基础,站稳脚跟才是最重要的。

目标是动态变化的,需要实时调整

例如:5年前对高级前端工程师的定义和现在高级前端工程师的定义是截然不同的。我们应该经常关注技术的发展和变革,及时更新自己的原定目标。

3. 科学学习

时间管理

时间管理是必不可少的,毕竟每个人的时间都是有限的。我们需要在工作的同时,抽出时间来学习。

  1. 碎片时间: 上下班途中、午休时间,都是学习的非常宝贵时间。可以学习短课程、背单词、刷技术博客,都是极好的。然而,由于时间较短,不适合深入学习新技能或者技术,更适合查缺补漏,或者调研。
  2. 集中学习: 对于有难度的、系统的知识或者技能,我们必须抽出时间集中学习。例如利用周末、节假日,这样才能效果显著。
  3. 上班前、下班后: 早上可以看书、看技术文献。

系统学习

  • 建立知识体系
    • 大脑的记忆过程异常复杂,主要分为记忆提取两个过程,只记住了提取不出来不能算是学会了。
    • 把知识建立成体系,串联起来,让知识点在脑海中成为树状结构,这样记忆及提取起来都会变得更加有序,更加高效。如果能力允许,能够把知识在脑海中建成网状结构,那是更好的。不仅解决了纵向的深度,还解决了横向广度。

示例:

例如JS相关的知识,通过知识体系的建立,我们就可以在脑海中对杂乱无章的知识点进行分类和整理,以便于记忆、提取及再加工。

JS基础知识体系

详见:JS基础知识体系

  • 夯实基础
    • 计算机基础
    • 网络协议
    • 数据结构及算法
    • 开发语言基础:开发语言的基础是至关重要的,是我们吃饭的饭碗,也是提升开发效率的关键
    • 计算机安全

万变不离其宗,无论计算机或者互联网的快速发展,核心基础知识是很难变化的。只要我们掌握了基础知识,融会贯通,自然就可以快速get新知识、新技能。

使用工具/三方类库

无论工作还是生活,我们都应该具备“效率至上”的思维习惯。然而,工具就是提升效率的强有效手段。遇到问题,首先要“搜索”,看看是否有现成的工具/三方类库或者经验可以借鉴,可以满足我们的需求。

作为IT开发人员,常用的工具或网站如下:

被动学习

见过很多人批评被动学习,说学习效率低。但是,笔者认为,最快速的学习方式一定是被动学习。所谓被动学习,就是直接学习前人或者智者的优秀经验,减少自己走弯路的过程。我认为,这就是学习中可以算的上捷径的方法唯一方法。

  • 实体课程:实体教学效果远高于其他形式的教学,除非你是天才,别人教不了你。现在大城市都开有一些线下实体课程,有条件的同学建议优选此种教学形式。

  • 网络教学:这方面的资源现在太多了,水平参差不齐,大家还是要有一些辨识能力,选择优质的教育资源,否则劳民伤财。下面的这些都是笔者认为不错的在线教育资源

  • 会议及讲座:现在这方面的会议太多了,限于门票的费用及时间限制,笔者参加不多,不做过多讨论。当然,这里可以膜拜很多大神,了解前沿技术及经验分享。

归纳和总结

  • 笔记:踩坑笔记必不可少,否则会重复踩坑。
  • 分享:对于攻克的技术难点、或者新知识和技能,可以进行内部分享
  • 博客:对于知识和技能,如果能够进行输出,一来可以贡献给他人。二来可以加深自己的理解和记忆

刻意练习

  • 定期输出:定期写博客,如每个月输出1篇文章,目标不要太高,否则不容易坚持。
  • 产品思维:我们从产品的角度进行思考,考虑需求的意义及必要性,寻找更加解决方案。
  • 顾全大局:只有公司赚钱了,自己做的项目赚钱了,你才能赚更多的钱。
  • 放眼未来:我们一定要从长计议,从大局出发,你现在的付出都将是你将来成功的重要基石。

学习英语

英语的重要性是不言而喻的,尤其当你走向金字塔顶端的时候。如果英语不行,将会成为你晋升的重大障碍。关键是,会错失很多机会,如外企,出国出差及工作的机会等。况且,英语的学习需要长期坚持,并且方法最重要,由于篇幅有限,这里就不赘述了。

  • 电脑、手机系统切换成英文系统
  • 背单词,单词是一切的基础,如果单词所认寥寥无几,基本上英语是学不下去的。必须强迫自己背单词,起码的4级核心词汇是要能够全部认识的。背单词,不要求会默写,能够认识就🆗啦。
  • 查询英文文档,现在大的开源项目英文文档是必不可少的,强迫自己把语言切换成英文。
  • 参加翻译小组、学习小组:(github.com/xitu/gold-m…
  • 小组内采用英文沟通、分享等

4. 做自己最擅长的事情

毫无疑问,各有所长。永远不要拿自己的短处去和别人的长处相比。相信自己,每天进步一点点,比昨天的自己厉害一点就好。因为,每个人都处在不同的起点,自然没有可比性。

5. 干一行,爱一行

内驱力是一种长期、有效的持续动力,可以帮助你维持长期工作和学习的动力。毕竟时间是自己的,我们不能浪费自己的生命。无论自己身处什么样的公司和职位,我们都应该对得起自己。只有这样,才不会后悔。

笔者感言

一不小心,说了很多,其实很多道理我相信大家都懂,或许比我更清楚。把我的经验与大家分享,希望能够让大家坚定学习的信念,找到适合自己的科学方法,一起学习。

期待你们的回复!

2020年5月15日