娱乐科技财经新闻安全常识
投稿投诉
常识日常
社交礼仪
安全防范
适应宝库
新闻军事
国内国际
财经股票
基金外汇
科技手机
众测体育
娱乐时尚
女性育儿

一个平庸程序员自白我不牛逼但那又怎样

  Managershare:不是谁都能飚高音,但他们也有自己的声音。
  JacobKaplanMoss是著名Python框架Django的CoCreater和核心开发者,在Heroku担任安全部门的Director,他常年参加Python社区的年度聚会PyCon,并经常上台演讲。在这次PyCon2015上,他声称自己顶多只是一个平庸的程序员,幻灯片上也写着:
  Hi,I’mJacob,andI’mamediocreprogrammer。
  这次演讲非常精彩,视频可以在Youtube上看到。
  Jacob以马拉松为例,试图说明大部分人在大部分领域都是平庸的(Mostpeopleareaverageatmostthings。),特别好的和特别坏的都是极少数,但在程序员领域,我们听到的大都是某某程序员rocks或者sucks,基本没有中间状态,这是一件非常奇怪的事情。他还提到真正的程序员(realprogrammer)这个概念,也就是所谓的10xprogrammer,你只有精通某些原理或者长得像MarkZarkerberg才算是一个realprogrammer,而一个使用各种云服务以及API快速搭建自己应用的人就不算,这非常可笑。顺带一提,Jacob的Twitter个人简介就是notarealprogrammer。
  Jacob认为这种关于编程天才的神话非常有害,一方面它把行业门槛设置得特别高,令很多人望而却步,另一方面它也在折磨行业内的人,因为你如果不能rocks,就会变成sucks,所以不得不用一切时间来努力学习和工作,导致影响生活。他认为我们应该改变这种态度,编程只是一些技能,并不需要太多天分,它是可以学习的,而且做一个平庸的程序员不丢人,it’scooltobeokayattheseskills。跑步的人有很多种短跑运动员,纯粹为了锻炼身体的人,参加马拉松的人,等等。为什么编程就一定要做realprogrammer,而且做不到就觉得自己不配编程呢?
  这个演讲在大会现场赢得很多掌声,在提问环节也可以听到一些怯生生的声音说:我也是一个平庸的程序员。不过在其它地方也引起一些争议,有人认为拿跑步和编程对比并不恰当,有人说程序员能力的差距确实大得惊人,有兴趣的人可以去看HackerNews上的讨论。
  对于我个人来说,Jacob的演讲触动了我多年来的心结,让我非常感动。我一直认为自己顶多只是一个平庸的程序员,而且无论多么努力学习,总觉得自己不是一个realprogrammer,而且好像越走越偏。Jacob的演讲让我明白,有此苦恼的大概不只我一人,所以这里写一下自己的心路历程,希望对别人有一些启发。
  公开承认自己平庸是一件危险的事情,如果不能说明你智商低或者没有天分,至少说明你态度有问题:平庸就应该去努力练习,而不是写文章为平庸辩解。而当你说Jacob这样的人也承认自己平庸时,就会出现一堆带有资格论的反驳:Jacob至少写了那么多代码,你怎么能和别人比人家那样说是谦虚,你这样就是无耻了,顿时你就会觉得自己和那些只会从伟大人物身上挑毛病的小人没什么两样。幸运的是,今后我很可能不会以编程为业了,所以这些事情都无所谓了,可以诚恳地说一下自己的经历。
  我对realprogrammer的印象始于大学,尽管对于其它专业的人来说我们和修电脑的没什么两样,但专业内部已经隐约有对某种高级事物的崇拜,记得大一时一个同学对我说:我们现在还学C,外面早就开始用Java了。那个时候专业内也已经流传了不少程序员的传说,比如某个学长多么厉害,或者微软某个程序员一个人做完了一个项目组的工作。
  相信很多人都听说过那个故事,大意是一个人电脑坏了,于是找一个电脑高手来修,电脑高手拿来电话,连上电脑,花了整整一夜的时间用0和1写了一个操作系统,故事的结局是这个电脑高手去了美国,杳无音信。当时我听到这个故事的时候半信半疑,居然宁愿相信它是真的!因为如果万一它是真的而我不相信,只能说明我的技术水平或者智商无法理解那个层次的东西,那就太糟糕了。那个时候真的很想变得厉害。
  随着对专业的了解,很快我们就开始嘲笑那种Java比C新,所以比C好的看法,转而去相信越底层越牛的论调,写C的比写Web的厉害,写汇编的又比写C的厉害,为什么呢?因为他们基础更扎实,更了解原理。这种论调发展到一个极致就是:学数学或者物理这种硬科学的人如果转行写程序,肯定比我们厉害。他们算法一定比我们好,而且就是这帮家发明的计算机啊我靠。有一段时间隐约觉的别的专业的转行写程序都会比我厉害,哪怕是一个钢琴家因为他手指灵活打字更快。
  大学里另外一个让我印象极其深刻的传说就是:高手写程序不用IDE,都是直接记事本。高手摘花飞叶皆可伤人,谈武器和工具,那就是落了下乘,只有不入流的才整天研究哪个工具更有效率。所以在很长一段时间内我都因为自己没用记事本写程序而怀疑自己的能力,直到后来工作之后我接触到了Vim,发现它长得和记事本还真的挺像的。
  除此之外,还有对经典书籍的顶礼膜拜,MIT的IntroductiontoAlgorithms和SICP,Knuth的TheArtofComputerProgramming,TCPIP详解,以及一些其它的经典操作系统、数据库等方面的书。不啃完这些就说明你天分不够,或者没有热情,还是趁早转行比较好。在我一直很喜欢(现在依然喜欢并推荐)的一篇文章TeachYourselfProgramminginTenYears中,作者在结尾推荐了SICP,他说:Thebookischallengingandwillweedoutsomepeoplewhoperhapscouldbesuccessfulwithanotherapproach。所以尽管我一直没有读完这本书,而且应该也不会去读了,但对它总有一种情结,以至于两年前出国的时候还把它带在身边。
  毕业之后开始做职业程序员,每天都是和程序员打交道,关注的也都是科技新闻,那时候硅谷文化也越来越流行,所以更加向往和崇拜realprogrammer。JoelSpolsky写过一篇《飙高音》,其中的两段可以算作是对realprogrammer的最佳诠释:
  用许多平庸的程序员取代少数优秀的程序员,这种做法的真正问题在于,不管平庸的程序员工作多长时间,他们做出来的东西,都无法像优秀程序员做得那样好。
  一流的歌唱演员不管在什么时候,都可以很轻松地唱出高音,而平庸的歌唱演员就是永远做不到这一点。莫扎特的歌剧《魔笛》中有一段著名的咏叹调QueenoftheNight,音高必须达到F6(女高音的最高音高)才能唱好这首歌,世界上能达到这个标准的女高音都快要绝迹了,而飙不到著名的F6,你就是不能表演QueenoftheNight。
  简单地说,如果你缺乏天赋,那么你再努力,也做不到realprogrammer可以做到的事情,而一个平庸的程序员就是一个烂程序员。这种断言式的文章一直比较能鼓舞人心,那些认为自己比较聪明的人也很喜欢这种说法,但对于我这种一直怀疑自己智商和能力的人来说,它就像一个阴影:万一我真的没办法飙高音怎么办?
  因为这种对realprogrammer的仰视,从工作以来,不对,是从大学以来,有一个想法一直挥之不去,那就是:Idon’tdeserveit。
  大学里我也有作品拿过奖,但总觉得自己的代码是一坨屎,不配拿那个奖,如果当时有另外一个realprogrammer,肯定轮不到我。
  大四找工作的时候,尽管我是通过正规的笔试和面试拿到的offer,而且被录用的只有我一个本科生,我还是觉得自己不配得到那份工作,因为没写过10万行代码,也不是一个realprogrammer。
  刚工作的时候我每天从早晨9点到晚上9点都在公司,有时候周末也去,手头工作做完了就看技术文档,无聊了就用打字软件练习正确的指法,以便编程可以快些。即便这样,我还是怀疑自己对编程的热情,觉得自己离一个realprogrammer越来越远,不适合做程序员。
  后来去雅虎北研面试,从早晨8点面试到12点,第二天又跑去美国的同事视频面试。测试其实已经很严格了,而且我平时没有针对性地刷题或做其它应试准备,但很奇怪,我还是觉得自己能力不行,只是侥幸拿到了offer。
  平时帮别人写代码,或者和别的部门合作,第一个念头就是自己的能力不行。尽管最后项目顺利完成,对方也对我评价不错,但我还是觉得自己不配得到那些夸奖,甚至想:如果他们见到realprogrammer,就不会称赞我的工作了。
  这种心理还有另外一个负面作用,那就是时时刻刻焦虑,害怕掉队。Jacob在演讲中也说到:
  Iftheonlyoptionsaretobeamazingorterrible,itleadspeopletobelievetheymustbepassionateabouttheircareer,thattheymustthinkaboutprogrammingeverywakingmomentoftheirlife。Iftheytaketheireyeofftheballevenforaminute,theywillsliderightfromamazingtoterribleagain。Thatleadspeopletobeworkingcrazyhoursatwork,tobeconstantlystudyingprogrammingtopicsontheirowntime,andsoon。
  这段话准确地说出了我以前的某种状态。我对除了编程之外的很多事情都有兴趣,从生活的角度来看,这其实是一件好事,但我却常常因此有负罪感,因为它们耽误了我编程、看文档和学习新技术的时间。那些事情本来是可以带给我快乐的,但每次做好像都有一种偷偷摸摸的感觉,被别人问到也羞于提起。现在回头看,之前有段时间我的工作和生活其实平衡得很好,但当时我只有不断告诉自己你本来就平庸,甚至把自己想象成一个自甘堕落的人才能安心享受,实在太扭曲了。
  以前我有时还喜欢写点东西,认为自己是在分享,但后来总觉的自己又不是realprogrammer,分享的东西有什么价值呢?而且写文章会耽误编程的时间,程序员文化又特别推崇务实,反对务虚写作就是务虚,只会打嘴炮在程序员群体里面是一个非常严重的侮辱,记得之前看到过一条招聘信息,明确地说不欢迎经常写博客的人。
  事实上写作不止是表达,它反过来还可以帮助思考,很多想法在下笔之前是不存在的,我从中获益良多。而且,不愿意表达和不会表达有着本质的区别。以前如果一个猥琐不堪、一句话都说不清楚的人过来朝我扔一句Talkischeap。Showmethecode。,我立刻就会惭愧不已,甚至认为他或许就是一个realprogrammer。
  以上种种不安和困扰,让我常常觉得自己从性格到业余爱好都不适合做程序员。程序员文化告诉我的是:如果你不是一个realprogrammer或者不在成长为一个realprogrammer的路上,那么你连一个programmer都不是。HackerNews上针对Jacob演讲的讨论中,panjaro说了他自己的经历:
  I’manexamplehowthismythcandestroyyou。Iwasprogrammingfor6yearsinnormalprojectsandIthoughtIwasnottalented。Ileftjob,cametoresearchdegree。NowIrealizedI’mterribleatmathsandadvancedalgorithmtechniques。Ithinkaboutgoingbackbutsinceithasbeen3monthsIhaven’tworkedinacompany,IfeelIamaverybadprogrammerandnoonewillhireme。I’mdepressedandparalyzed。AllIdoalldayislookintoHNandreadarticles,thinkhowallthesepeoplearetalentedandI’msodumb。
  他的描述让我感同身受,当初我也痛恨自己对数学不感兴趣,整天在自习室苦苦复习离散数学和算法,工作之后也常常想要重新回头学习这些基础知识。有时候即使你发现在某些工作中算法并不像传说中那么重要,也不能说出来,否则你就是忽视基础,或者你从事的就是程序员当中的低级工作,以至于体会不到算法的重要性。
  程序员文化当中能力决定一切的态度很多时候都值得商榷,因为除了极少数的计算机科学家,大部分程序员从事的是产品开发工作,而在产品开发中是没办法用一个简单的标准衡量一个程序员的能力的。
  一个人可能编程能力很强,但他可能执意要实现自己的想法,以至于拖累整个项目。另外,编程能力强的人不一定能从事某些低级的、不需要太多智力的工作,那样的工作可能需要大量的耐心,而耐心和传说中的天赋一样,也不是一种人尽可夫的品质。以前看到过一个招聘信息很有意思,里面说希望应聘者已经结婚,或者至少有过一段长期的恋爱关系,他们觉得这样的人懂得与别人相处,不太容易是一个鄙视别人工作的jerk。
  我并不是否认大牛的存在,Linus和JohnCarmack就不用说了,刚毕业在中国雅虎的时候就遇见过一位大牛同事,清华毕业,基督徒,已婚,业余时间喜欢编程和做饭,经常一个人做完整个团队的工作,打字奇快,每次技术分享都有很多人去听,甚至HR都因为好奇过去。
  听众提问的时候,他能清楚讲解某个不常用命令的某个参数的作用,简直就是活的usermanual。他非常乐于助人,经常看到他在maillist里面回答别人问题,从问题的成因分析到解决方案都一一给出,表达非常清晰。让我比较惊讶的是他对很多琐碎的事情也极有耐心,记得公司想要一些人申请专利,周末就看到他在那里专心写申请。
  另外一个和我比较要好的同事本来觉得自己还算有天分,比我厉害得多,在大学里真的写过10万行代码,但见过大牛之后立刻发现自己其实没天分。那个时候他女朋友在外地,他业余时间也就是看看电影写写代码,不想写的时候就打开大牛的Github看看,一般都会发现他又有新的commit,然后就有动力继续写了。
  问题在于并不是所有人都是大牛,整个行业需要的也不止是大牛。
  举个例子,很多写PHP的大概看不起那种Wordpress工程师,就是只懂WordPress而对PHP了解不够深入的人。但很多公司确实就需要做一个小网站,只需要你能开发WordPressTheme就够了,不需要研究更多东西。帮别人开发WordPressTheme完全可以谋生,甚至挣得不少,但他们大概自己也觉得自己不是realprogrammer,所以很少发声。前一段时间有个应用很火,但他们团队的文章开头就说我们团队中没有大牛,好像那是很丢人的事情,一定要大牛组成的团队才配开发出好东西?如果抛开其它不谈,一个人凭借自己的能力养活自己,他就应该得到尊重,这话听起来没有任何问题,只是一旦牵扯到代码,好像只研究WordPress的工程师就不能见人。
  很多公司也迷信只有大神程序员才能做事,所以在招聘的时候会说他们只招聘Top1的程序员,这其实根本不可能,JoelSpolsky早就写文章谈过。你不可能招聘到Top1,只可能招聘到应聘者中的Top1。我们可以想象一下,最厉害的人可能直接去了Facebook,Google或者硅谷的创业公司,差一点的可能选择百度腾讯等国内巨头,或者非常有前景的创业公司,剩下的人才是市场中的人,这里面的Top1已经不是全部人中的Top1了。所以看到这种招聘可以评估一下这个公司,如果不是特别牛,完全可以大胆去应聘,因为你在那些愿意应聘这个公司的人当中,可能已经是Top1了。
  其实我非常喜欢这个行业的某些理想主义色彩,过去这几年也认识了不少朋友,发现了不少thinker,对我启发很大。可惜我常常感到不舒服,也觉得和这种程序员文化或者Geek文化格格不入,虽然很努力去尝试过,但发现还是不行。当然,也可能并不是文化问题,而是因为像我和panjaro这样的人胆小浮躁,太在乎别人看法,容易焦虑和抑郁,这样的人大概在任何行业都是loser。希望其他人可以活得理直气壮一点。
  过去常常希望找到人生目标,而当怀疑自己不是realprogrammer的时候又庆幸生活是一团乱麻,而人生可能并没有意义,不然的话,可能每时每刻都要生活在一条鄙视链当中了。

过年聚会多,喝酒前要看看瓶子,有这2行字,酒多贵,也别喝如果您喜欢我的美食文章,请点击关注,会有更精彩的美食文章奉献给您!过年聚会忙这次过年回到老家,大年初一就凑了10多个儿伴、同学,喝了大半天。过完了年,人们还要去拜年,去外……头发老是油腻不能让你清爽度夏,你可以这样做想到夏天,你想到什么?炎热的天气,烦人的暴雨,还是台风来袭?但对我来说,即使天气炎热,只要有空调,wifi,还有冰镇西瓜的陪伴,夏天依旧让人无比的惬意。但是想要清爽……容易反弹的5种减肥方法,大多数人都踩过雷,看看你中标了吗减肥减脂绝对是当下最流行的话题,不少人为了达到理想的体重不幸花费重金,购买减肥产品,或通过节食等不健康的方式,尽快让自己瘦下来,增肥容易减肥难,提到减肥,相信每位女孩对此都有着……只要婆婆够努力,这世上就没有小三这种生物姐妹们有没有遇到过男友外遇,家里人都知道了,就你不知情的情况。我遇到过,那次男友出轨,他有两个姐姐,他带着小三去了两个姐姐家,还带回了自己家,他们家的人,没有一个人告诉我,我们……社交的潜规则(二)关于社交中的第二个潜规则,是如何辨别对方是不是含蓄的在拒绝你。生活中我们避免不了请求别人帮忙,在这过程中我们经常会听到这样的答案我再考虑考虑吧,我尽量去帮你问问之类的答案……如何才能不焦虑?孔子说了这六个字书语人间:每天10分钟,读懂1本好书,点击文章右边的关注,一起成长大家好呀今天,我们继续来读儒家经典,四书里的《论语》。01。立大志子曰:君子坦荡荡,小……吃红薯能减肥吗?红薯怎么吃才能减肥?大多数人还不清楚导语:由于现在生活习惯的改变许多人有了肥胖的困扰。所以减肥的时候,许多人都把主食换位粗粮替代。把一些在平时日常生活中比较常见的粗粮食物,例如红薯,但是说起红薯,经常听到红薯是比……一年喝掉2000亿元,喝出啥了?现如今人们越来越喜欢喝各种饮料饮品,碳酸饮料、奶茶、果汁殊不知,虽然追求了味蕾上的享受,却也给身体造成很多不必要的压力。我们到底有多能喝饮料?根据国家统计局官网数据……脾虚,人就废一半?中医给出的回答,确实让人信服脾虚,主要指因脾脏虚弱而引起的呕吐,水肿等症状。古人常说:脾虚则百病生。为什么这么说呢?脾作为气血生化之源,人体内的所有内脏器官都需要依靠脾脏来温养,摄入的所有食物都需要……想了解学术前沿,看综述?Nononono如何通过文献检索了解学术前沿01hr为什么要进行文献检索当我们需要了解某一学科领域时,可以通过各种渠道获取相关知识,比如去图书馆查阅有关图书,或利用关键词在网络上进……好剂师丨植牙就不用再担心牙齿问题了?错!小心植体周围疾病一、植体周围疾病植体周围疾病分成两大类,第一类是植牙周围初期的牙龈发炎称为植体周围黏膜炎,这类别的治疗较简单,把植体周围加强口腔清洁,大部分的植体周围软组织发炎大多可以改……烟毒有多毒?常吸烟的人,坚持做好三点,排出烟毒,肺干净有人因为开心而吸烟,有人因为抑郁而吸烟,有人当爱好吸烟,有人为应酬吸烟,吸烟的理由千万种,吸烟的人,更是不计其数。目前,我国烟民的数量大致在3。5亿,差不多4个人中,就有……
应用白术的客观指征是什么?黄煌肖相如频道导读:今天跟着黄煌老师学习白术和苍术的用法。01hr关于白术证的客观指征:以面黄肌松虚浮者为宜。其人面色黄,眼睑微浮肿,就诊时多懒于言语,行动显……难以启齿的肛门癌,你了解它吗?出现5个症状,及时就医检查42岁的王先生最近有些难以明说的烦恼,来到医院就诊后吞吞吐吐地才讲明自己的来意。他最近这些天感觉自己肛门总是很痒,总忍不住用手去抓,而且用手摸的时候还会摸到一个肿块。王先生既羞……秋风起,头发落?做好这两点解决秋季脱发自从入秋以来,除了气温的变化以外,还有一个比较明显的变化就是,头发掉的好像比夏天更多了。仿佛秋风一起,头发就如树叶一样纷纷掉落,这让我们的心里更多了点秋天的凉意。到了秋季……营养师教糖友做高蛋白低脂肪的五谷杂粮健康粽太原糖尿病专科医院护理部、营养科教糖友吃粽子的科学端午节有着祈福、消灾的寓意,寄托了人们迎祥纳福、辟邪除灾的美好愿望。每逢佳节倍思亲,近日,正值端午节期间,太原糖尿……预防贫血,除了补充铁以外,这些营养不能少,女性朋友该多了解!贫血,虽然不是一种独立的疾病实体,但是已经成了我们日常生活中非常熟悉不过的一种合并综合症,而且无论是孕妇还是其他疾病患者在预防贫血时(贫血患者女性远远高于男性),补充铁已经成了……预防糖尿病,每天饮食中多吃这2类食物,风险就会更低一些糖尿病是最为常见的慢性代谢性疾病,而且我们都知道2型糖尿病的发生发展与生活方式密切相关。生活方式主要包括合理的饮食、适量运动、避免久坐、避免超重和肥胖、睡眠充足、避免熬夜、劳逸……什么样的国画是最好的?记住两个字就够了什么样的国画是最好的?评价中国画的最高标准极简,以元朝为分界线,大致可以分为两个阶段,每个阶段都可以用一个字来概括,元朝以前是神,元朝以后是逸,我举几个例子说明一下。……好剂师丨配戴助听器会让听力退化吗,佩戴助听器需要注意什么一、配戴助听器会让听力更快退化吗配戴助听器不会让听力更快退化。其实,就如同身体需要常使用才不易退化,配戴助听器反而能帮助听力持续受刺激,减缓退化的速度。助听器主要的……玉米苞叶短是什么原因造成的?如何预防?不少玉米种植户朋友在从事玉米生长种植的过程中,都会发现过玉米苞叶短的现象,具体表现为玉米轴长度正常,但是有一部分轴裸露在外,没有被苞叶包裹。有的地块苞叶长度只有果穗长度的三分之……迎风流泪外洗内服验方迎风流泪,俗称慢性风火眼风泪眼。疾病虽小,然患此症者颇多,此方或可瘥。迎风流泪外洗内服验方迎风流泪,俗称慢性风火眼风泪眼。眼晴畏光,风吹流泪,久则干涩、视物模糊,甚……低碳生酮饮食,坚果【坚果适量吃,身体无限好】如果想有一个非常棒的身体,运动主要是消耗和排毒的功能,更重要的是我们给身体必须要补充健康的营养,多吃一些天然食物,多用一些正确的烹饪方法,坚果可……老城遗珍马路的故事上海这条马路,以革命圣地延安命名上海,一座浸泽着红色文化的大都市,这也是我们的精神财富所在。红色文化离我们很近,我们身边的不少马路就是载体,它们承载着百年的岁月沧桑,镶嵌在我们这座城市的肌理中。让……
友情链接:中准网快百科快好找快生活易事利快传网中准网七猫云快软网文好找聚热点快好知