冒名顶替综合症困扰着很多人,他们即使在某件事上取得了成功,也将自己的成功归因于外来因素,从而否定了自己的努力。对于程序员来说,如何克服冒名顶替综合症,避开自我怀疑的陷阱,成为自信的高手?你有没有过这样的感觉,总是担心自己不够好?抬头看看你身边的人,他们好像比你强。他们可以写出比你更好的代码,他们可以比你更快地调试,他们只看一眼就能理解文档的内容。他们自信,并且喜欢编写代码。反观自己,担心自己对某个框架了解不够,对某门编程语言不够熟练,写代码有bug。你担心自己跟不上新技术潮流,没有技术人才。于是你开始怀疑自己:“也许我注定不是一个好的程序员”。“你并不孤单”如果你也曾有过类似的疑惑,那么我可以告诉你:“你并不孤单”。有一段时间我也经常怀疑自己。大学毕业找工作的时候,我正在准备面试,那些算法题给我带来无尽的挫败感。幸运的是,我的努力终于得到了回报,拿到了好几家大公司的offer。从这次经历中,我学会了如何从不同的角度看待编程,以及如何避免自我怀疑的陷阱。卡住是正常的。编程就像健身。想要练出好肌肉,就得去健身房举哑铃。学编程,就得坐下来耐心地写代码。去健身房充其量只会让你第二天感到疲倦,如果你在编程问题上卡住了,你会感到沮丧。短暂的身体疼痛不会阻止您锻炼,因为您知道这是不可避免的。而如果你卡在一个编程问题上,你可能会怀疑自己的编程能力。因为你会觉得自己卡住了是自己的错,同样的问题别人可能很容易就解决了。可能没有人告诉你,卡住是一件很正常的事情,即使你是编程高手,也会卡住。编程是寻找正确答案的过程。记得被卡住的时候,我想挠头往墙上撞。我知道所有的挫败感,尤其是在处理与开发环境相关的问题时。但是如果你慢慢来,使用搜索引擎,问问其他人,或者出去呼吸一下,问题最终总会得到解决。随着经验的积累,以后卡的情况会越来越少。下次要是卡了,就别再卡了。告诉自己这不是你的错,这只是过程中不可避免的一部分。大学最后一个学期的NatureandAcquired,朋友们都很惊讶我为什么能在数据结构和算法这门课上学得这么好。他们学习都很辛苦,而我似乎很轻松。他们不知道的是,在课程开始前的几个月里,我花了无数个小时练习这些算法,为求职面试做准备,而这些算法恰好与这门课程的内容相似:动态规划、深度-firstsearch,breadth-firstsearch等等,我学起来好像不费吹灰之力,那是因为我下了很多功夫。在我刚开始学习这些算法的时候,一道题可能要我好几个小时,到最后还是解不出来。于是上网查答案,想了解一下别人的解决办法。虽然我终于明白了,但我越来越沮丧,因为我觉得我永远无法独自解决这些问题。所以,相信我,我无数次尝过自我怀疑的滋味。在这个问题上我们并不孤单,许多优秀的程序员也有过这样的经历。下次如果陷入这种心态,不要总觉得自己没有天赋,也不要总觉得别人比自己强。他们只是比你付出了更多的努力来克服这个陷阱。在你经历过这些挣扎之后,你会像他们一样,看起来很聪明,解决问题也很轻松。忘掉你自己,不要再浪费时间思考你是否是一名优秀的程序员。如果你是团队中垫底的人之一,你肯定会努力变得更好。如果你是团队中最好的之一,你仍然会想要让自己变得更好。不管你在什么位置,总有人在你前面,总有人在你身后,何必浪费时间去想这个问题呢?反之,倒不如多想想如何提高自己的代码质量,如何才能把代码写得更好,让人更容易理解,跑得更快。记录你的每一个进步。想想你上次卡壳是什么时候,你是怎么解决的?写下来,下次卡住的时候拿出来,提醒自己:如果我前面的问题能解决,那么这个问题也应该解决。把你解决的问题和你从中学到的东西记下来,每次都给自己一些鼓励。如果可能的话,与那些仍在自我怀疑的困境中挣扎的人分享你的经历,告诉他们——“你并不孤单”。
