一、前言
不知不觉间,迎来了2021年的第一天。过去的2020年注定是一个不平凡一年,疫情来得太快就像龙卷风,短短数月就阻断了全世界范围内无数人与人之间的物理连接。这一年,我们戴了一年口罩;这一年,哪些逆行者的身影深深印在我们心里;这一年,有多少企业在拼命挣扎;这一年,太多太多不容易.....
作为技术人,我们用技术抗疫,利用大数据分析,合理安排抗疫工作,于是健康码,线上问诊,远程办公等平台火速上线。在危难时刻,我们用自己的技术,贡献自己的一份力量。新技术代表新的生产力,一定是我们快速战胜疫情,开创未来最好的原动力。当然作为技术人怎样突破自己的技术瓶颈,从而提高自己的核心竞争力,为社会做出更多贡献呢?
二、怎样发现技术瓶颈
第一个阶段,一般在从事技术工作一年左右,大多会遇到职业的第一个瓶颈,这个时候,什么都会一点,又好像什么都不会,看不清未来发展方向,在新手面前是大佬,大佬面前是小弟,简单知识不屑看,想学高深知识却无从入手,内心浮躁和焦虑。那这种情况,该如何着手解决呢?
瓶颈出现的时候,大多有以下现象:觉得工作乏味,整日业务都熟悉,代码就是CV,闲着就摸鱼聊天;不知道目前自己技术水平如何,对自己前端知识的掌握程度边界含糊不清;知道该努力学习,想要学习,但不知道从哪入手;知识架构不清晰,无法形成知识网;时常技术焦虑,思维怠惰。这时候就是出现了技术瓶颈,你不知道后面的路怎么走,还需要学那些有帮助的知识
这种情况,就好像高考完,一直笃定的目标突然消失了,整天不知道该做什么,回想一下那个阶段你是如何度过的,如果你现在依然记得并且在那段日子里学到了东西,那么不妨试试,再找到相同的感觉,重新调整自己,找到学习的动力;如果在高考结束的那段时间内就是荒废的,并且现在遇到瓶颈依然找不到解决办法,那么不妨静下心来,慢慢读下去,在文中,我会提到一些小技巧,助你摆脱现在的困境。
第二个阶段,一般在从事三年左右,大多会感觉到,当初对技术那股热情颈没有了,有的甚至有点厌恶,当初那种优越感、成就感荡然无存,突然你把技术化为了仅仅是谋生的工具。其实这个阶段是最危险的,有的人开始动摇了,我是否适合这行,也有的甚至离开了大城市放弃了这一行,或者回老家考个公务员。那为什么会出现这样的情况呢,一方面迫于主观原因:求职竞争碰壁,技术深度浅,行业认知偏差,工作强度大身体透支等,另一方客观原因:父母要求回家成家发展,行业潜规则,一线城市生活开销大。
第三个阶段,一般在从事五年左右,大多会感觉有很多东西要学自己却没有时间精力,你蓦然回首,你还有大数据,AI人工智能,机器学习等方面你还是个小白,往往这些技术很难在你工作中学到了,往往已超出你工作所需,如果你去深入研究,又很难平衡工作和深究的时间,同时也很难把学习和实践结合起来。
第四个阶段,一般在从事十年左右,大多数coder将面临国内行业最残酷的年龄限制,所以在国内的程序员也是一个青春饭的一个职业。当然也只有少数码农进入了管理岗位或行业专家,还有大批码农去哪里了呢?
三、怎样突破技术瓶颈
1.认知升级
认知,几乎是人和人之间的本质差别。技能的差别是可以量化的,技能再多累加,也只能是熟练的工种。而认知确是我们能看多远,能走多远的本质,是不可以量化的,产生的影响也是巨大的。因此我们要不断升级自己的认知,培养自己的思维模式,古人云:“条条大路通罗马”,但每一条路,我们都能到达目的地,那我们如何去优化路线,达到事半功倍,立竿见影呢?
也许每个人都说我不缺认知啊,殊不知自己却进入了认知误区。
误区一:自己以为自己知道,其实却是只知其一,不知其二。自以为是,是自己认知升级的绊脚石。因此我们要多走出去,听听别人的心声,看看别人的做法。俗话说:“读万卷书不如行万里路。”,也有圣人曰:“三人行,必有我师焉。”,随时保持一个谦卑学习的心态,你就会不断刷新升级自己的认知。
误区二:自己认为重要的事,其实是非重要的事。其实这是认知欠缺的表现之一,说严重一点就是自我迷惑。说话也讲究说到重点,我们做事情同样如此,只有事情做对了,其他的就是水到渠成。既然这样,我们当如何做对事情。一方面合理安排排序,也许我们一天中会有很多事情要处理,将这些事务定位优先级,另一方面懂得取舍,哪些事情是必须做,哪些事情可做可不做舍弃掉,毕竟鱼和熊掌不能兼得。还有就是做回报分析,也许我们做的不是春种秋收的,不能仅仅局限也眼前短期利益,更要为长远利益考虑。
误区三:空有认知,却不行动,伪认知。真正的认知是必须要知行结合,认知也是在实践中不断得到升级,只有亲自经历了,你才会挖掘出更多不一样的认知,才能看到比人看不到以及顽固不愿意去理解的机会。
2.持续学习
当达到一个瓶颈时,可以学习的参考系越来越少,首先是因为高端技术人才呈现倒金字塔形态,身边缺少能引领你的人生导师;其次,业内的技术交流,大多数在做科普以及刷存在感,到达一定阶段后对个人提升作用越来越小(甚至用一天时间参加技术大会效果还不如用一天的时间在咖啡馆看书学习);再次,国内的文化导致技术人专家逐渐转向管理岗位,技术缺少积累,特别容易出现断层和继承。
其一,打好基础,底层基础决定上层建筑。我们一定要注意基础知识的学习,才能触类旁通,在解决问题时才能游刃有余。
其二,培养自己对技术的兴趣,保持好奇。只要你有兴趣就一定能够找到相关的学习资料进行自我学习,兴趣往往是第一个驱动点。但是问题的关键点还是在于学习后的新技术如何深入,新技术如何去实践?没有真正的实践总结,没有真实的大型项目实战驱动,你将发现理论终归是理论,理论要转化为你的实战经验是相当困难的。
其三,合理制定学习技术。不积跬步无以至千里,每天坚持学一点,当然我们学习不仅仅是学技术,还有很多东西都需要我们学习。
其四,学习和时间相结合。大量技术的深入学习往往都是在实践中真正遇到了复杂的问题,在问题驱动下的学习和深入,这些错综复杂的问题往往涉及庞大的知识面,而且各个知识点之间相互影响。我们如果有实践机会能够不断的解决这类问题,不断优化和持续改进,技术自然深入。
3.追求优雅与创新
写了多年代码,始终觉得的如何写出干净优雅的代码并不是一件容易的事情。程序代码可读性,健壮性,易扩展性,可移植性......,我们是否有去想过。这时候就有人问了,那我们怎样才能办到。
第一,我们要多读多看哪些优秀的开源项目的源代码,看看人家怎么写,取其精华。
第二,熟悉并使用各种设计模式,设计模式是业内公认的解决方案,它根据不同的场景设计了不同的组织方式,比较流行的几种设计模式:https://www.runoob.com/design-pattern/design-pattern-tutorial.html
第三,熟悉各种开源框架的设计理念,并弄懂和深究这样设计的优点是什么,和其他框架有什么不同的方式,那种方式最优雅最值得借鉴,弄懂这样设计解决怎样的问题和作用。
创新是一个恒古不变的主题,创新都是建立在原有基础上,借助伟人的肩膀往上看,只有不断的探索才能形成前所未有的新模式。不畏常规,敢于超越,增强创新意识。一个人的创新意识可以在短时间内快速得到增强,但是一个人创新能力的提高是一个日积月累、循序渐进的过程。
4.构建自己的知识框架
我们不仅仅要做一个技术熟练工,而且要不断总结,形成一套自己的知识体系。深陷枯井,身旁一堆材料,不懂得铆接搭梯子,永远无法走出困境。我们手握大量知识,如何组织起来,形成自己独有的架构,是一门学问。在面试中,有一个考核点,就是测试应聘人员的知识重构能力,面试官会故意在你说的津津乐道的时候,打断你,岔开话题问你一个问题,几个问题之后,再返回让你继续说,这样做,一来是测试你的临场反应能力,二来是判定应聘者会不会因为在无意识状态下被打断而被激怒,从而判断他的性格,再有就是判定你的复盘重构能力有多强,是真的能重新组织起来还是在背书。
知识架构的形成,不是一朝一夕的事,它是一个漫长的过程,总结、归纳、丰富、修正都需要自己去做,而我们的大脑最喜欢形象记忆,所以最好的办法就是写出脑袋看得懂的架构,加深记忆,脑图,是个不错的选择,通过勾画脑图,梳理知识细节,从而在后面,即使离开脑图也能形成画面感。如何划分主题,主要根据当前的认知水平,接触的知识深浅来确定,没有最优的形式,能达到效果,那就是最好的。比如我们可以利用自己的知识体系写博文,著书立说,发布学术论文等。
5.自我定位, 突破短板
学会自我定位。自己应该先从自我了解开始,知道自己需要什么,自己的目标是什么? 找准自己的梦想、使命和真正的价值观,把自我和工作衔接起来,并取得平衡,在工作中一步步实现自己的理想和价值。不断充实自己的人生,决不碌碌无为的走下去,人生在世需要精彩,需要别人来认识自己。学会找到自己的不足,然后不断的去克服和战胜。
也许我们再技术方面最熟练,在其他方面呢,我是否兼顾到并全面发展。
6.跳出圈子,看世界
随着科技信息技术的发展,互联网渗入每一个人的生活,各行各业的变化速度越来越快。自然生存法则就是优胜劣汰、适者生存。当然,我们可以抱怨以求心里舒适,但是抱怨终归还是不能解决任何事情,而是让人陷入一种自怜自艾的”受害者“的快感中。当我想抱怨的时候,我总是提醒自己:这已经是最好的年代,没有战争,在颠肺流离的年代,人们所追求的”岁月静好,现世安稳“也不过如此吧。
是啊,无论什么行业,再艰难,也总是有人做得很好。这难道不应该值得我们反思和学习吗?如果你觉得他做的好是因为他有背景、有机遇,那我真的无话可说!为什么你总是为自己找各种接口?多少白手起家的人,李嘉诚、马云、宗庆后等富豪都是白手起家;所谓机遇,那也是留给有准备的人,只有视野够开阔、知识够丰富、嗅觉够敏锐,才能嗅到”机遇“的大门。
在这个日新月异的时代,希望做到不墨守成规,跟随时代的脚步而行走。也许我们换一种工作方式,应用所积累的知识能放大自己的价值。
四、综述
作为一个技术人,都曾梦想我用代码能改变这个世界。的确,也许我们并没有直观的改变着这个世界,但也一点一点改变着人民的生活。同时,也希望我们技术人,不断升级认知,持续学习,勇于创新,善于总结,突破短板,全面发展来提升自己的硬实力和软实力来突破自己的技术瓶颈,从而提高自己的核心竞争力,为社会做出更大的贡献。