如何不用那么担心成为一个坏程序员?

简介:



我无意中发现了“冒充者综合征”的另一种表现形式,总是质疑"我是一个真正的开发者吗,或只是一个善于网络搜索的代码搬运工?”


我看到的答案忽略了要点,因此我打算接下这个烂摊子,好好解说一下,因为太多人都有着这种担忧。


 ◆ 

善于寻找信息并不能说明你笨


我经常听到的一个我认为是杜撰的,但却揭示了一定真相的故事,它的主要内容是:当问及电话号码的时候,爱因斯坦查找了一下,说他为什么要记住他可以在不到两分钟时间内找到的东西?



在80年代,学者的标志是拥有一本百科全书。你甚至大部分都没有读过:我家最令人印象深刻的百科全书是1937年出版的,并且关于纳粹党的条目不过两个段落,这意味着这本百科全书并不是什么大部头。我光知道其中一个最令人难以置信的错误信息点,就让我跻身于聪明人行列。因为当时,有趣的信息是很难获取的,不过一个冲击就使得你成为一个学者。


现在,即使是最无知的平民也能得到他们想要的任何信息,学者精英俨然败退,但却开始宣称他们有一些基本的大脑功能,使得他们能够比其他任何人更好地导航这些泛滥的信息。在所有最有吸引力的谬论中,有一个概念上的真理:当你使用互联网来查找关于蜥蜴人的文章链接时,很容易萌生一种鹤立鸡群的感觉。当你浪费一整天的时间来解决bug,直到去搜索Stack Overflow,发现上面早在3年前就已经有5个人指出了解决方案,并且其中两个表示要是有人不知道答案就是傻瓜的时候,也很容易觉得自己略逊一筹。


新平民主义的信息检索引擎可能会让你感觉使用任何人都可以使用的东西很low,但这种糟糕的精英情绪真的是你应该抹杀的。


 ◆ 

忘了关于爱上工作的所有废话


我最喜欢的工作一直是洗碗。我很擅长,并且我可以在自动驾驶仪上洗,它能够让我的大脑自由地天马行空。最好的情形是什么?如果在一天结束时我为一家繁忙的餐馆洗了2000个盘子,看上去憔悴不堪,却没人让我坐下,还来问我为什么不对我的洗碟子技术充满激情。


如果热爱你的工作成为了做这个工作的不可谈判的先决条件,那么文明就会崩溃。我敢肯定,有人会对他们for循环中标记i++和++i之间速度差异感到精神上的满足,并为此感谢上帝,因为会有人来接手我们乱七八糟的程序。其余我们这些平庸的人只要祈祷,“调试”邮件文件夹中的未读警告在数量不要上升如此之快,使得我们不得不应付它们。


过去的时候,在他们打包马提尼午餐和扔掉激励性标语之前,关于工作的重要部分,并不是你热爱它;重要的是你不讨厌并且不会让你的同事讨厌它即可。现在,为了薪酬,工作俨然已经成功地战胜了色情书刊,让我们孜孜不倦地装作乐于其中。雇主告诉我们即使是在圣诞节夜晚也需要保持手机畅通,没问题。有些程序员使得他人讨厌他们的工作和自己也没关系,因为,好吧,那家伙热爱编码。并且如果你没有将星期六晚上的时间用来自己学习递归教程,则完全是你自己的错。


 ◆ 

和销售不能比


现代的初创企业用最糟糕的方式调用高功能的冷漠。因为创造技术的人才是真正热爱攻克基于tape的技术,所以我们有一堆由销售部门和技术部门组成的公司,因为相关的其他工作已经外包给另一个网站,同时该网站又是由另一家由销售部门和技术部门组成的公司运行的。如果你从事销售,那么热爱或假装热爱你的工作是工作的一个组成部分。这就是为什么销售热情高昂的原因。如果你从事高科技工作,那么你的工作就是使一些东西工作起来,并且你可以和热情的那些人一样很好地完成工作,因为你销售的唯一产品就是你实现Stripe api的能力,并且没有人会因为做到这一点而争强斗胜地欢呼。


你公司的所有会议中,一边是精神抖擞、吸引眼球的销售人员,另一边是精神疲惫、希望会议快点结束的开发团队,之所以希望快点结束是他们已经在怀疑得需要多久才能指出竞态条件bug,而且他们知道这其实不是真正的竞态条件。


你可以不担心这一点。也许你社交能力强,对此兴致勃勃,眼神铮亮,也许你不具备这些能力。但是这和你的工作能力无关。


 ◆ 

忽略学究人士


当然,有人会说,“每个程序员都应该知道X。”


我不知道X。冒泡排序?我猜那和吉尼斯有关系。B树?听起来像常青树。哈希表?我学的是PHP编程,所以直到两年前我才知道哈希表不同于数组。当OkCupid雇用我的时候,我并不知道哈希表和数组之间的差异。但神奇的是,他们还是给了我一份工作。


不管你是什么编程工作,总会有大量你不懂的编程内容。当你下定决定学会世界上的每一种编程语言时,一些12岁大的俄罗斯小孩会嘲笑你不知道如何超频你的CPU。同时,当一美国人吮吸着拿铁咖啡,问你为什么不关闭系列B的时候,韩国孩子会黑客你的PS4帐户。法国ops人只会向你吐唾沫,当你要求她不要再服务器房间抽烟的时候。


编程是新的,最初那个不得不挖掘机器代码的John McLanes仍然活着,并指责我们是懒惰的。但是现在的编程和任何其他的工作一样,因为任何你需要做的以满足业务开发部团队的都可以通过学习掌握。


 ◆ 

面试是地狱,克服它


你将走进任意给定的面试,带着所有你掌握的知识,临时再抱抱佛脚。大多数时候,你都想着走出面试,索性放弃得了,哪怕依然在原来的状态上苟延残喘。每个人都知道其他人不知道的东西,并且我们中的大多数人最终会处于由另一个人来决定我们将来去留的境地,基于我们知道别人不知道的东西。


所有面试过程都是有缺陷的。并且它们将依然有缺陷,只要我们还是缺乏一种预测候选人生产工作能力的算法。只是一文钱难倒英雄汉,所以我们不得不硬着头皮迎难而上。


尺有所短寸有所长。他们之所以要面试你,肯定有你的专长和闪光点和需要你做的地方。即使你觉得自己是冒名顶替综合征,那也别害怕,珍惜它,因为老老实实没有冒名顶替综合征的才是一个傻瓜。


 ◆ 

赚钱


你拿到你上个月的薪水了吗?如果拿到了,那不错。你能够自食其力了。你是搞程序的?对吗?ok,上个月的薪酬只是让你领先于世界上80%的打工仔,更不要说那些找不到工作的人。所以如果你下个月依然有薪水,那么说明你不是冒名顶替的。


如果你只是需要一份工作,能够并愿意接受计算机作为谋生的工具,那么你拥有保持信息时代运行的一切。


原文发布时间为:2016-07-10

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
6月前
|
运维 JavaScript 程序员
7 行代码搞崩溃 B 站,原因令人唏嘘!
7 行代码搞崩溃 B 站,原因令人唏嘘!
60 2
|
1月前
|
数据可视化 数据挖掘 BI
没办法用Trello?其实有更聪明的替代方案!
在快节奏的工作环境中,Trello作为一款广受好评的项目管理和任务协作工具,凭借其直观的看板界面赢得了全球用户的青睐。然而,由于访问受限、数据安全和本土化资源不足等问题,Trello在国内的实际使用面临诸多挑战。为此,板栗看板(Banli)应运而生,作为一款专为国内市场开发的工具,板栗看板不仅在功能上媲美Trello,还在访问稳定性、自定义选项、智能提醒、数据分析和权限管理等方面进行了优化,特别适合中国团队和企业的实际需求。
44 0
|
数据安全/隐私保护
分享五款没什么名气却意外好用的软件
噔噔噔噔,作为一个黑科技软件爱好者,电脑里肯定是不会缺少这方面的东西,今天的5款优质软件闪亮登场了。
163 0
分享五款没什么名气却意外好用的软件
|
算法 程序员 持续交付
如果你有拖延症,程序员不如试试这个技巧提升效率?
  要吃掉一头大象,每次吃一口。   ——克雷顿·艾布拉姆斯(Creighton Abrams)   造成拖延的首要原因之一,同时也是造成生产力低下的祸根,就是总是在感慨一个问题:好忙啊,问题好大啊……实际上,你并没有真正试着去解决问题。当我们从任务的全貌来审视任务的时候,它们看起来比真实情况都要大,并且更吓人。   在本文中,我会谈及一个能够帮助你克服拖延的提高生产力的窍门:分解任务。通过将大任务分解为小任务,你会发现自己更有动力去完成它们,也更加稳妥地向着目标前进。
157 0
|
算法 程序员 测试技术
面对Bug程序员能做点什么
我们程序不可避免的会出现bug,那么我们能做哪些事情,尽可能减少bug的产生
428 0
面对Bug程序员能做点什么
|
存储 程序员 C++
如果当初学习编程时能有人给我这些忠告该多好
Cecily Carver 是多伦多的一位程序媛,和 Jennie Faber 一起创办了一个游戏制作工作室。她喜欢歌剧、舞蹈和弹钢琴。Cecily 在这篇文章分享她在编程道路上的所感所想,给出很多值得思考的编程箴言以及一些思想误区,比如在你学习编程之前思考一下你的目标、编程不是什么神秘的东西、坚持比方法更重要等,可以让我们在编程路上少走一些弯路,从而有更多的时间学习技术让自己变的越来越强大。
227 0
|
程序员
程序员为什么从来不炫富?
程序员为什么从来不炫富?
3617 0
|
数据安全/隐私保护 Python Java