[译]我并不聪明,我只是坐在那儿的时间比你长(I’m not smart, I just sat there for longer than you)

如果有人写代码写得很糟心,或是在学些很难的东西,那么这篇博文可能会给你一些奇怪的希望。

译/JoyceCheng

我会好几种编程语言,而且学过计算机科学,所以为什么当别人说我是一个优秀的开发者时,我会感觉他们说错了呢?我通常会这样回答:

“我并不伟大,我只是坐在这儿做这件事的时间长一些….你也可以做到这一点。”

搞笑的是,那些说我很优秀的人从来都不真正是开发者。这让我想到了茱莉·卓的一篇名为“冒名顶替者综合症”的文章中的一段,这篇文章真的引起了我的共鸣。她记述的是自己学习写代码的那个时期,班上的每个人都在讨论一个编程作业花费了他们多长时间来完成。大多数人说顶多需要几个小时,而茱莉写到她所花费的时间:

“二十个小时。这就是我花在这个作业上的时间。

我不擅长做这个,你认为。我真的属于这里吗?”

这完全就是我的遭遇。我的数学差得出奇,而跟同学相比,编程对我而言从来就不是一件简单的事情——那年我一直在不断地学习,完全没有社交生活,被“hello world”和 system.out.println( )(Java入门)所折磨,更别提附加的毕达哥拉斯问题。我本以为高中的数学就是最后的告别,而编程就是在屏幕上绘制图形(而不是在黑白终端上打字!)。


曾有过很多次,我感觉自己不适合编程,但是我需要学习它,因为我热爱编程所能实现的所有神奇的事情——从创造我自己的产品和游戏到把玩特效与动画。

事实上,回想起我的第一份编程工作,我总记得负责人告诉我说,我多么不像通常那些自以为是的开发者啊。他跟我说,我不像其他那些人那样关心代码这件事简直太好了,其实这也是我一直不太能理解的事情。我对于按照被告知的方式进行编程一点儿疑虑都没有,因为我真的不在乎。就在那个时候我意识到后端开发不适合我,我辞掉了那份工作成为了自由职业者,并且尝试着去做设计以及创造自己的产品,那才是我的激情之所在。

代码只是我用来创造很棒的用户体验的媒介——从来都与实际的代码无关。我不是说它不重要,但是我压根儿不关心缩进,项目如何架构,或是我们到底用不用驼峰式大小写——只要它能让我建立一些互动的东西吸引终端用户参与就行。

此外,随着时间推移,你注意到如何构造代码,但是它更像是一种必需品而非我真心关心的东西。对于所有的框架都是这回事,它的反应、角度、骨干、聚合或任何出来的东西都不重要。你不需要把它们全都学会,只需要知道它们,然后选择适合你需要的那一个。


尽管我学的是计算机科学,但我仍然觉得刻苦只能让你在写代码方面达到某个程度而已——最终你会碰到天花板,在那里你天生的逻辑与数学能力可能会对作为工程师的你产生限制,但是至少不会限制你的创造力。

同样的原则可能也适用于所有的学科。在某方面拥有学位可能意味着你会做,但并不总是意味着你是最棒的,反之亦然。当涉及到编程时,这可能会让一些人气馁,但是我得说任何人写代码都可以达到一个足够好的程度,如果他们真的想要学习并且也有这么做的原因和动机的话。

能够想出一个点子,设计并绘出草图,然后把它实际构建成一个真正的产品,这就是我学习的原因。


最初于2016年1月25日发表在www.graemefulton.com