程序员如何破除「迷茫」
学什么好?A和B如何选择?
在各种场合,当有机会提问时,总会提出这样的问题。回答这类问题很揪心,说少了怕对方理解片面,说多了又怕绕晕对方。
不知道该学什么。。。
这样的场景也时常在工作中出现,难道是因为选择太多了?还是说只要会搜索就够了,现学现卖?
不吃碗里光看锅里。
这种情况较多出现在对技术有自己的偏爱选择的人身上,眼下的问题还未解决,却把精力花在别处。
不知道天生我才有啥用?
如果说前面几种是小痛小病,还比较容易被他人观察到;那出现这种想法时,就真可能患上「迷茫」这种大病了,而且一般只有自己知道,还有可能会去隐藏防止他人发现。
当「迷茫」出现时,必须正面寻求解决方法,拖延或逃避会引起更多并发症,会把事情搞复杂。
如何判断「迷茫」,我自己总结了一个判断标准:是否建立了自己的成长路径和中长期计划。
当然,要做到笃定地相信自己的选择是正确的,以及长期坚持下去,还是很难的,可能做到的人也是少数。但不代表这件事的难度高,它可能只是个简单的事情,只是由于大家对简单的事不够重视,即所谓重要而不紧急的事往往做不好。
对程序员来说,理性思维占主导,「相信自己的选择」面临的首要问题就是「如何证明这个选择是正确的」。「迷茫」也很有可能就是从这个不能逻辑自洽的点开始扩散的。
不要在原地等待。
假如你在森林迷路了(以此来代表「迷茫」),本能的求生欲会促使你寻找出路。所以,只要有目标,哪怕方法错了,也不会处在「迷茫」状态,大部分人迷路的森林其实不大,多走点弯路总会走出去。
但如果一旦处于「原地等待」的状态,不管是什么因素导致的,就有可能陷入自己的思维遮蔽。当发现外界和自己的思维不一致时,容易引起认知失调,时间长了也会「迷茫」。
你需要一幅地图。
每个人的路不同,最好能构建自己的地图,现在信息获取便利,有了目标后,构建一幅地图的成本也不高。当然也有卖地图的人,这时需要筛选自己「认可」的地图。这里的「认可」可能隐藏在大家的思维底层深处,如果相互 Get 不到,很难达成一致取得信任。所以,还是自己构建地图更合适。
我梳理了这么多年来,为工作或为兴趣,自己在做的事可以分为哪几类,借此来发现自己的路径,然后构建自己的「地图」。
我一直关注「架构」类的信息,因为这是思路类型的知识,能最快地提高自己的能力,所谓事半功倍;
不停地在学习各种「API」,框架、库、语言都可以归为此类,有工作需要被迫学的,也有出于好奇去了解的,每次都要经历痛苦的消化过程和更痛苦的踩坑,所以,并不是自己所喜欢做的事;
不停地迁移或更新「OS」,包含基础设施这一类的平台或服务,迁移是被动的,只能接受,更新则是主动的,以期减少上面说的那些痛苦。
熟读唐诗三百首,不会作诗也会吟。
上面三类事中,第 2 类想必大家处境都差不多,做熟练了,也能成为优秀的程序员。但一直做这样的事,成就感的半衰期很短,找不到成就感也容易陷入「迷茫」。这类事,就好比地图中弯弯曲曲的一条条道路,你必须得走,但离如何走出森林还远远不够。
第 3 类事,则相当于地图中好走的路,或捷径。如果遇到了,或有机会选择,当然要走。
唯有第 1 类事最能体现自己的价值,你有了思路,路径的选择便有了依据,即便选错了,也能反馈更新你的思路。
所谓「用正确的方法做事」便是如此,无关乎目标,也无关选择的对错。这样才能解决开头提到的「相信自己的选择」而要在行动前证明正确性的逻辑失洽。只需证明做事的方法正确即可,以行动的结果来更正选择的对错问题。
只要功夫深,铁杵磨成针。
解决了原地等待的问题,就可以构建自己的成长路径和中长期计划了。就像在地图上规划一条导航路径一样,也可以为自己的未知区域规划一条路径,然后安排计划去执行。
然后,你就成为了一个脱离了「迷茫」的程序员。
版权声明: 本文为 InfoQ 作者【顿晓】的原创文章。
原文链接:【http://xie.infoq.cn/article/cec7ab851a8bf0551acefae0e】。文章转载请联系作者。
评论