‘壹’ 如何渡过小白期,不再当菜鸟程序员
相信习惯的力量
菜鸟和大牛的区别除了写代码、debug的核心能力差距之外,另外一个很大的差别就是在习惯上。大牛经过摸爬滚打练出了一系列优良的习惯,而菜鸟好习惯还没养成,坏习惯有了一堆。所以身为菜鸟的时候一定要有规范和习惯意识,养成好习惯,去掉坏习惯让自己越来越习惯写出优质的代码。
关于习惯仁者见仁,每个人也都有自己的习惯。
一个函数只做一件事
如果有一天你接手了另外一个同事的代码,发现他有一个函数里面装了三千行代码,你会是什么感受?
有一些人会不知不觉地停止学习,因为他已经足够应付工作了。在工作当中他会有一种在这个领域我当下会的技能已经足够了的错觉,有些人甚至会因此觉得其他资历更深的同事也不过如此,似乎并没有比自己多会多少东西。
我当初就是这样,因为我发现我工作当中用到的东西玩的非常溜,用起来得心应手。我一度有些膨胀,觉得自己已经算是一个经验丰富的程序员了。直到后来有一次面试,被问到了一个常用的工具的技术细节,我张口结舌一句话也说不上来,我才发现,自己知道的只是皮毛而已,甚至连皮毛都算不上。
当然我们工作当中对很多技术的要求都只是会用,你会用就够了,这并没有问题。我也并不觉得每一门我们用到的技术都需要去刨根究底,但我们需要对我们的实力有清醒的认识,哪些是勉强会用的?哪些是真正了解掌握的?哪些是需要掌握但是只是勉强会用的?
能够想明白这些问题可以让我们保持一个清醒的头脑,对自己的当下的处境以及长远的发展目标都会有一个清楚的认识。
积累知识而不仅是经验
新手或者是小白有一个特点就是往往更加依赖经验而不是知识,举个例子吧。比如新手后端经常遇到的问题之一就是maven package失败,很多人解冲突的办法就是mvn clean & mvn install。也就是清空重新建立,因为大部分情况下这个命令可以解决问题。所以很多新手就记住了这个命令,每次遇到maven失败就这么来一次。
如果这个命令解决不了呢?这些人可能会换个命令试试。如果常用的解决问题的命令都试过了还是不行呢?这些人可能就僵住了,觉得这个问题解决不了了,得请大牛来看了。
这里的核心问题是新手积累的是经验而不是知识,他们只是简单机械地把出现的问题和解决方法做映射而已,并不是从原理和核心层面理解问题出现以及解决方案生效的原因。那么带来的结果就是,积累到的只是经验,下次能解决问题不是因为学会了问题的解决方法,也不是理解了这一块技术内容,只是单纯地记住了而已。这显然也是一种伪成长。
其实我之前也遇到过这样的问题,虽然我每次都有意识遇到问题记录下解决的办法,这样下次就可以不用请教别人了。然而虽然我记录的问题越来越多,但是每次遇到新的问题还是解决不了,需要请教别人。直到有一天,被我问的大牛露出了不耐烦的神情,才让我下定决心自己学会解决问题。
于是我不再是头痛医头脚痛医脚地解决问题,而是去学习了一下问题背后的原理和机制,再从报错日志上分析错误产生的原因,思考解决方案,最终彻底学会了解决这一类问题的方法。之后不但能够自己独立解决问题,而且还可以去帮助别人了。我后来回过头来想想,如果我第一次遇到问题的时候就自己尝试去学习其中的机制,而不只是记住解决方法,应该可以做得更好。
少说废话,多些代码
着名的Linux之父Linus有一句名言:talk is cheap show me the code。翻译过来就是废话少说,代码拿来。我觉得这句话非常符合这一行的精髓,我们不是靠嘴皮子吃饭的,而是靠实实在在的产出,这个产出最终是要落实到代码上的。作为一个新人,可能我们会有这样的问题,那样的困惑。然而这许多的问题和困惑我们光想是没用的,只能用硬实力来解决。
着名的C语言作者谭浩强也有一句名言:新手学编程最应该做的事情就是写满一万行可以运行的代码,之后你就自然入门了。道理其实也是一样的,少说废话,多做实事。多做多练,实力自然不会差。空想吹逼是成不了大牛的。所以如果你犹豫想要学习一门新的领域,但是不知道从何做起的时候,不妨想想这句话,别管它三七二十一,先搞起来写起代码来再说。搞着搞着,你自然就明白后面应该怎么做了。
以上就是我自己积累的一些思考和想法,如果你是一个小白的话,希望它能够帮助你顺利度过新手期,向着大牛的目标进发。
‘贰’ 菜鸟程序员可以当主业干吗为什么
码农顾名思义为编码的农民,码农的生活时间是相当的紧,加班非常正常。和建筑行业的农民工相比,业内人士习惯把专注于程序设计工作的人称为码农。
很多人已经在企业中担任高级别的构架师和资深工程师,但由于热爱编程和坚持写code的习惯,所以称之为“码”。加之互联网大企业的总部都坐落在城市边缘的开发区,例如北京上地和深圳的科技园,所以自嘲为“农”。
码农的职业要求:
互联网的特征是提高放率,未来世界是平的,新旧商业模式“金钱塔”会被快速削平,所以无论你是70、80还是90后,选择工作最好不要处在“被削平”的环节当中,未来只有真正掌控实体经济供应链和促进实体经济协作效率的企业、平台才可以胜出。
同时,健康产业+分享经济里的直销+电商(体验店+会员制+F2C社交电商)即可以当主业,又可当副业,多元化(自由人)的人生选择,将成为社会新常态。
‘叁’ 程序员口中所说的“大神”到底是什么样的
分享之前我还是要推荐下我自己创建的web前端学习群:680847368,不管你是小白还是大牛,小编我都挺欢迎,包括我自己整理的一份最新的适合2017年学习的前端资料和零基础入门教程,欢迎初学和进阶中的小伙伴
“大神”在程序员的职业中真的是一个非常熟悉的词,往往一个菜鸟遇到一个可以帮助自己的人,那么就会尊称这个人为“大神”,但是在计算机中的“大神”的意思到底是什么呢?好像程序员的职业中只有两个等级,一个是大神一个就是菜鸟,而且都是相对而言的,也就是说一个人可能即是大神又是菜鸟,那么“大神”这个职位被扣在了一个人的头上的时候,是不是这个人就会像仰慕他的人一样呢?
首先来说说小编眼中的“大神”,小编认为,可以称的上大神的一定是有一定的社会阅历,丰富的开发经验,虽然在某一个领域已经风生水起但是还会经常性的给自己充电,时刻保持着一颗自我修养的心;一开始小编以为可以真正称得上大神而且当之无愧的小编一定还没见到过;可就在昨天小编听到这样一个故事,令小编的心中为之震动;故事要从朋友圈的一条说说开始:
在我的朋友圈中,就有公司的boss,他发了一本书的截图,在译者序的部分看到了感谢的人中就有我们boss的名字,我当时佩服的一定boss,并没有想到这本书的翻译者,后来在下班后谈论起这个译者序的事情,boss无意中说起,这个译者是他的同学,从小这个人就是家长口中经常提到的“别人家的孩子”,后来专攻技术开发,他看书的速度很快,一本技术的书,基本上3-4天就可以看完,一个星期可以看两本,不管是中文还是英文,曾经自己开过培训学校后来因为挣的钱不多就给别人打工了,因为以他的水平给别人打工收入也是很可观的,平时还会去一些高级培训公司充当高级讲师,平均每半年会为清华大学出版社或是电子工业大学出版社翻译一些与技术相关的书,其中包括一些 android,iso,c++,java,c等一些主流的技术书籍;
这些只是boss虽便的提了几句,并没有替他的朋友吹嘘的意思,因为boss不懂技术,所以问我们他这样是不是应该算是还行?我当时没有回答只是,在想自己事情,因为自己也是程序员,平时虽然也看技术的书但是看一本少说也要一个月,就更不要说什么看英文的技术文件了,还有就是翻译书,这都是自己想都没有想过的,我想说真的是,人外有人天外有天!
有的朋友们会问有真的有这样的”大神“么,如果真的已经这样了一定是大家都会公认的“大神”,一定是万人敬仰的成功者,但是大家不要误会可以成为“大神”,但并不一定是成功者,就想金庸笔下的东邪西毒南帝北丐一样,都是当之无愧的大侠,但是他们并不是当时的成功人士,说白了还是一届武夫;但是他们不得不让我们佩服,虽然不一定有很多的钱,但是他们就这么伟大,就像是科学家,发明家一样,别人可能认为他们是疯子,可能认为他们傻,但谁能否定他们的一生没有意义呢?
所以小编认为成为大神在编程界有一席之地固然牛逼,再是在这之前付出的辛苦,也许只有当事人知道,所以各位学编程或是从事编程工作的朋友,一定要坚持,这是一个逆水行舟的时代,不要做到当别人叫你大神的时候自己都觉得脸红,让我们一起为了成为大神共同努力吧
‘肆’ 90后二流大学程序员自述:从“菜鸟”到“辣鸡”,我到底经历了什么
程序员高手和菜鸟,不仅仅是技术上的差距,还体现在习惯、经验、看问题的角度等各个方面。
1.代码规范:代码写得不好,其实一眼就能看出来;比如代码里面的各种命名(包、类、方法、变量等等)。在最初写程序的时候,很多人都会起没有含义的变量命名,比如 String str;其实我们完全可以把变量名称起成带业务含义的,比如在运用中慢慢发现用String username我们会越来越熟练,写的也越来越好。
‘伍’ 程序员的十种级别
第一级:神人,天资过人而又是技术狂热者同时还拥有过人的商业头脑,高瞻远瞩,技术过人,大器也。如丁磊,
求伯君。
第二级:高人,有天赋,技术过人但没有过人的商业头脑,通常此类人不是顶尖黑客就是技术总监之流。
第三级:牛人,技术精湛,熟悉行业知识,敢于创新,有自己的公司和软件产品。
第四级:工头,技术精湛,有领导团队的能力,此类人大公司项目经理居多。
第五级:技术工人,技术精湛,熟悉行业知识但领导能力欠加,此类人大多为系分人员或资深程序员,基本
上桀骜不逊,自视清高,不愿于一般技术人员为伍,在论坛上基本以高手面目出现。
第六级:熟练工人,技术有广度无深度,喜欢钻研但浅尝辄止。此类人大多为老程序员,其中一部分喜欢利用工
具去查找网上有漏洞的服务器,干点坏事以获取成绩感。如果心情好,在论坛上他们会回答菜鸟的大部
分问题。此级别为软件业苦力的重要组成部分。
第七级:工人,某些技术较熟练但缺乏深度和广度,此类人大多为程序员级别,经常在论坛上提问偶尔也回答菜
鸟的问题。为软件产业苦力的主要组成部分。
第八级:菜鸟,入门时间不长,在论坛上会反复提问很初级的问题,有一种唐僧的精神。虽然招人烦但基本很可
爱。只要认真钻研,一两年后就能升级到上一层。
第九级:大忽悠,利用中国教育的弊病,顶着一顶高学历的帽子,在小公司里混个软件部经理,设计不行,代码
不行,只会胡乱支配下属,拍领导马屁,在领导面前胡吹海侃,把自己打扮成技术高手的模样。把勾心
斗角的办公室文化引入技术部门,实在龌龊!
第十级:驴或傻X,会写SELECT语句就说自己精通ORALCE,连寄存器有几种都不知道就说自己懂汇编,建议全部
送到日本当IT产业工人,挣了日本人的钱还严重打击日本的软件业!
‘陆’ 瀛︾敓蹇呯湅绋嫔簭锻桦垎姘村箔楂树竴绾у埆涓嶅悓浜虹敓
绋嫔簭锻桦叓涓娈典綅绛夌骇浣犵殑绛夌骇?
1銆佽彍楦
杩堣繘杩椤眰妤肩殑闂ㄦ涙槸寰堜绠镄勚傚熀链涓婃哕璁$畻链虹殑锘烘湰镎崭綔锛屼简瑙h$畻链轰笓涓氱殑涓浜涘熀纭鐭ヨ瘑锛屾帉鎻′竴闂ㄥ熀链镄勭紪绋嬭瑷濡侰/C++锛屾垨钥匤ava锛屾垨钥匤avaScript锛...锛屽潎鍙鍏ラ棬杩堣繘杩椤眰銆傚傝$畻链轰笓涓氭瘯涓氱敓锛屽ぇ閲忕殑阃氢俊銆佽嚜锷ㄥ寲銆佹暟瀛︾瓑鐩稿叧涓扑笟镄勮浆琛屼汉澹銆
杩欑被浜哄憳涓岖℃槸涓嶆槸璁$畻链虹戠彮鍑鸿韩锛屽熀纭濡备綍锛屼粬浠瀵圭紪绋嬫湁镌鐗规畩镄勭埍濂斤纴浠栦滑鍙鑳戒细鏄涓浜涘緢链夊墠阃旂殑瀛︾敓鎴栧疄涔犵敓
浠栦滑瀹屽叏鏄闱犵儹𨱍呭拰镓胯烘潵缂栫▼銆傚叴瓒f案杩沧槸链濂界殑钥佸笀锛屼篃鏄链濂界殑涓浠朵簨锛屽洜涓哄叴瓒h屽紩鍙戠殑鐑𨱍呴氩父浼氲╄繖浜涚▼搴忓憳鎴愪负钬滈ㄥ共绋嫔簭锻樷
2銆佸ぇ铏
浠庣1灞傜埇鍒扮2灞傜浉瀵瑰规槗涓浜涳纴浠C/C++绋嫔簭锻树负渚嬶纴鍙瑕佺啛缁冩帉鎻C/C++缂栫▼璇瑷锛屾帉鎻C镙囧嗳搴揿拰甯哥敤镄勫悇绉嶆暟鎹缁撴瀯绠楁硶锛屾帉鎻STL镄勫熀链瀹炵幇鍜屼娇鐢ㄦ柟娉曪纴鎺屾彙澶氱嚎绋嬬紪绋嫔熀纭鐭ヨ瘑锛屾帉鎻′竴绉嶅紑鍙戠幆澧冿纴鍐嶅瑰悇绉嶆搷浣灭郴缁熺殑API閮藉幓浣跨敤涓涓嬶纴鎼炵绣缁灭紪绋嬬殑褰撶劧瀵箂ocket缂栫▼瑕佸ソ濂芥帉鎻′竴涓嬶纴铹跺悗鍐嶅︿範涓浜涢溃钖戝硅薄镄勮捐$煡璇嗗拰璁捐℃ā寮忕瓑锛屽︿範涓浜涙祴璇曘佽蒋浠跺伐绋嫔拰璐ㄩ噺鎺у埗镄勫熀链鐭ヨ瘑锛屽ぇ閮ㄥ垎浜虹粡杩2~3骞寸殑锷锷涳纴閮藉彲浠ョ埇鍒扮2灞傦纴鏅嫔崌涓"澶ц栌钬
3銆佺墰浜
鐢卞共"澶ц栌"浠缁忓父琚涓浜涚枒闅鹃梾棰樼粰鍗′綇锛屼粬浠鍙濂界户缁瀛︿範锛屽皢铡熸潵镓瀛︾殑鐭ヨ瘑杩涗竴姝ョ啛缁冩帉鎻°备互杞浠惰捐℃潵璇达纴鍏夋哕缁撴瀯鍖栬捐°侀溃钖戝硅薄璁捐″拰涓浜涜捐℃ā寮忔槸涓嶅熺殑锛岃缮瑕佷简瑙h蒋浠舵灦鏋勮捐°佷氦浜掕捐°侀溃钖戞柟闱㈢殑璁捐°侀溃钖戜娇鐢ㄧ殑璁捐°侀溃钖戞暟鎹缁撴瀯绠楁硶镄勮捐°佹儏镒熷寲璁捐$瓑锛屽惁鍒欐槸寰堥毦杩涘埌杩欎釜妤煎眰镄勚傚綋铹堕櫎浜嗕笂闱㈣寸殑鐭ヨ瘑澶栵纴澶ц栌浠杩橀渶瑕佸幓瀛︿範钖勭岖粡楠屽拰鎶宸с
4銆佸ぇ鐗
浠庣墰浜鸿繘阒舵垚涓哄ぇ鐗涘苟涓嶅规槗锛屽氨镀忔槸锏惧垎鍒讹纴鍒板强镙肩嚎姣旇缉杞绘涧锛屼絾鏄60鍒嗗埌80鍒嗗氨浼氭洿闅句简銆傝佹垚涓哄ぇ鐗涚殑璇濓纴浣犲繀椤昏佽兘锅氱墰浜轰滑锅氢笉浜嗙殑浜嬫儏锛岃В鍐崇墰浜轰滑瑙e喅涓崭简闂棰樸傛瘆濡傜墰浜轰滑阃氩父閮戒笉镍傚啓镎崭綔绯荤粺锛屼笉浼氩啓缂栬疟鍣锛屼笉镍傚缑TCP/IP鍗忚镄勫簳灞傚疄鐜帮纴濡傛灉浣犳湁鑳藉姏灏嗗叾涓镄勪换浣曚竴涓瀹炵幇寰楄薄妯¤薄镙风殑璇濓纴闾d箞浣犲氨浠庣墰浜哄崌绾т负"澶х墰"浜嗐傝佹垚涓"澶х墰"骞朵笉鏄涓浠剁亩鍗旷殑浜嬫儏锛岄渶瑕佷粯鍑烘瘆鐗涗汉浠澶氩缑澶氱殑锷锷涳纴涓鑸𨱒ヨ达纴镊冲皯瑕佺湅杩200~400链宸﹀彸镄勪笓涓氢功绫嶅苟濂藉ソ鎺屾彙瀹冿纴闄ゆや箣澶栵纴杩桦缑缁忓父鍏虫敞缃戠粶鍜屾湡鍒婃潅蹇椾笂镄勫悇绉嶆渶鏂颁俊鎭銆
5銆佷笓瀹
褰揿ぇ鐗涗滑鐪熸e姩镓嫔仛涓涓镎崭綔绯荤粺鎴栬呯被浼肩殑鍏朵粬杞浠舵椂锛屼粬浠灏变细鍙戠幇镊宸辩殑锘烘湰锷熶粛铹舵湁寰埚氱殑涓嶈冻銆傝繖涓镞跺椤氨瑕佹眰浠栦滑浼氲繘琛屽熀纭镰旂┒锛屼富瑕佺殑鍐呭瑰氨鏄镰旂┒闱炴暟鍊"璁$畻"銆
闱炴暟鍊艰$畻鍙鏄涓涓闱炲父搴炲ぇ镄勯嗗烟锛屼笉浠呮椂涓嬬儹闂ㄧ殑"澶氭牳璁$畻"涓"浜戣$畻"灞炰簬闱炴暟鍊艰$畻锣幂暣锛屽氨鏄杞浠堕渶姹伞佽捐°佹祴璇曘佽皟璇曘佽瘎浼般佽川閲忔带鍒躲佽蒋浠跺伐绋嬬瓑链璐ㄤ笂涔熷睘骞查潪鏁板艰$畻镄勮寖鐣达纴鐢氲呖鑺鐗囩‖浠惰捐′篃钖屾牱鐗垫秹鍒伴潪鏁板艰$畻銆傚傛灉浣犺缮娌℃湁鐪熸i嗘偀"璁$畻"浜屽瓧镄勫惈涔夛纴闾d箞浣犲氨娌℃湁链轰细杩涘埌杩椤眰妤兼潵銆
6銆佸﹁
褰"涓揿"浠𨱍崇户缁寰涓娄竴灞傛ゼ鐖镞讹纴浠栦滑浼氩彂鐜颁笓涓氭х殑瀛︿範瀵逛簬浠栦滑𨱒ヨ存槸寰堢亩鍗旷殑锛屾嫤璺铏庢槸钬滃垱鏂扳濄傚儚涓婇溃鎻愬埌镄勶纴𨱍宠佸湪涓揿剁殑锘虹涓婃洿杩-姝ワ纴灏遍渶瑕佷骇鐢熻嚜宸辩殑鐭ヨ瘑鍜屾濇兂銆
浣嗗︿範镄勯兘鏄涓镙风殑涓滆タ锛屾庝箞铡诲垱鏂板憿?鍙や汉链変竴鍙ヨ瘽钬沧俯鏁呰岀煡鏂扳濓纴涔熷氨鏄宸ヤ綔褰扑腑璇村埌镄勨滃嶈厫浠ユ煡镓句负渚嬶纴骞朵笉鏄铡诲ぉ澶╃洴镌闾d簺澶嶆潅镄勬煡镓剧粨鏋勫拰绠楁硶杩涜岀爷绌讹纴浣犻渶瑕佸仛镄勬槸灏嗕簩鍒嗘煡镓俱佸搱甯屾煡镓俱佹櫘阃氢簩鍙夋爲镆ユ垒绛夊熀纭镐х殑鐭ヨ瘑濂藉ソ鍦板崭範鍑犻亶銆
7銆佸ぇ甯
鎴愪负澶у笀蹇呴’瑕佹湁杈冨ぇ镄勮础鐚銆傞栧厛瑙e喅闂棰桦繀椤绘槸姣旇缉閲嶈佺殑锛屽叾娆′綘瑕佹瘆鍓嶈緢浠鍦ㄦ煇鏂归溃链変竴涓杈冨ぇ镄勬彁楂桡纴鎴栬呬綘瑙e喅镄勬槸涓涓鍏ㄦ柊镄勪互鍓嶆病链夎В鍐宠繃镄勯梾棰:链閲嶈佺殑鏄锛屼富瑕佺殑镐濊矾鍜屾柟娉曞繀椤绘槸浣犺嚜宸辨彁渚涚殑锛屼笉鍐嶆槸鍦ㄥ埆浜虹殑镐濊矾锘虹涓婅繘琛岀殑浼桦寲鍜屾敼杩涖
濡傦纴镀廐oare涓镙疯捐″嚭涓涓蹇阃熸帓搴忕殑绠楁硶;鎴栬呭儚Eugene W.Myers涓镙疯捐″嚭浜嗕竴涓鐢ㄧ紪杈戝浘镄勬渶鐭璺寰勬ā鍨嬫潵瑙e喅diff闂棰樼殑绠楁硶:鎴栬呭儚MJ.DPowell涓镙锋彁鍑轰简涓涓鑳藉熷勭悊闱炵嚎镐ц勫垝闂棰樼殑SQP鏂规硶:鐢氲呖璁捐″嚭涓涓镀廋++鎴朖ava涓镙风殑璇瑷......
8銆佺戝﹀
绉戝﹀跺悜𨱒ラ兘鏄涓涓绁炲湥镄勭О鍙凤纴瑕佹垚涓虹戝﹀讹纴浣犵殑璐$尞蹇呴’瓒呰秺澶у笀锛屼笉濡ㄤ妇涓浜涗緥瀛愩傚侱iikstra璁捐′简ALGOL璇瑷锛屾彁鍑轰简绋嫔簭璁捐$殑涓夌嶅熀链缁撴瀯:椤哄簭銆侀夋嫨銆佸惊鐜锛屼粬鏄鍙浠ヨ绉颁负绉戝﹀剁殑銆傜被浼肩殑杩樻湁:
Don Knuth锛屽犲畾鏁版嵁缁撴瀯涓庣畻娉曡繖闂ㄥ︾戠殑锘虹:宸寸戞柉锛屽彂鏄峄ortran璇瑷锛屾彁鍑轰简宸寸戞柉锣冨纺锛屽归珮绾х▼搴忚瑷镄勫彂灞曡捣浜嗛吨瑕佷綔鐢;
‘柒’ 普通程序员和大神程序员,到底有啥区别“渡一教育”
众所周知,雷军本就是一位超级厉害的程序员。他曾经这样评价自己的编码水平:“我没写过诗,但是有人评价我写的代码像诗一样优雅。”
好吧,有被凡到。
尽管很多人曾因为雷总过于浓密的发量而怀疑他作为程序员时的水平。但是从雷总的语气中我们可以感觉到他对于自己编码能力的自信。
不得不承认,同样是程序员,普通程序员和大神的差别是巨大的。
当普通程序员尝试重构一个简单的模块
当大神级程序员重构代码
普通程序员做的多线程
大神级程序员做的多线程
是否过于真实?刚入门的小白程序员流下了羡慕的泪水。。。
另外,据不权威调查显示,大神程序员的生活作息远不同于普通人类,基本上是昼伏夜出。果然,大神早已非正常人类,不食人间烟火。有图为证(第一列是时间,第二列是代码行数。)
这是FFmpeg的作者FabriceBellard的编码时间表,能看出来,越到晚上灵感越强啊。额,不过,这位大佬是会睡着睡着觉灵感突发蹦起来提交代码的吗……
而这是LiveJournal的作者BradFitzpatrick在memcached项目上的时间表。
典型的夜猫子,昼伏夜出,每天只睡四个小时。
仁慈的独裁者,Python之父Guidovan Rossum同样是一位暗夜使者。
美好的一天从下午开始,夜晚才是灵感的源泉。不过大佬好像真的不用睡觉的。。。。
而在夜行者之上,更有一种恐怖存在,他们宣告了永动机是可以实现的,因为他们自己,就是永动机。。。
“世界上最好的语言”php的创始人RasmusLerdorf,便是其中翘楚,这是他在php-src项目上的提交时间:
果然是大佬,白天正常工作,晚上更加兴奋。果然,真正的大神都是突破人类身体极限,完全不用睡觉的。
当然了,以上这些呢不过是一些极端案例,他们虽然是真正的大神,小渡也绝不建议小伙伴们学习这种作息习惯。不然很有可能,技术没学到,发量却比大神还少。。。
而在日常的工作中,大神对于小白的碾压更是全方位无死角。
注:reinventing the wheel 重新发明轮子
果然,大神的工作都是独出心裁的。
额,不过这么一看嘛,菜鸟和大神好像差不多。。。。
大神的反应总是波澜不惊的,好像没什么成就感。。。
离谱。。。。
笑出自信,笑出强大!
看到大神们种种不同凡响的表现,小伙伴们有没有心生向往?不要灰心,只要努力,假以时日你一定也能像雷总那样,写出诗一样优雅的代码。
要想真正的成为大神,要脚踏实地,有的放矢,为自己设立目标,不断向目标逼近。
至少要做到以下几点:
程序员之所以被称为“大神”,顾名思义便是在专业领域他们无所不能。所以,大神之路第一步就是补全自己技术上的短板,项目出现任何技术难题时,只要自己出马便能发现问题所在,从而找到解决方法。
多隆就是这样一位全能的大神,“只要有技术上的困难,找多隆,没有解决不了的”这是在阿里技术人员内部流传的一句话。
对于编码技术,多隆便是武侠小说中已臻化境的绝顶高手,从2003年到2007年,搜索引擎工作一直都是多隆一个人负责,但这不是他所有的工作,因为他解决问题的能力是惊人的。
多隆一个人能顶一个团队,别人做事可能要成立一个项目组,而他从头到尾都是自己一个人,即使他负责的事情以前从没有接触过。
阿里研究员毕玄曾举例说:“五彩石项目多隆完成了商城搜索的mp逻辑,当时如果没有多隆,整个项目需要延后2周;还有一次,淘宝session框架调用session_tair故障,一堆人(应该有10人+)一起排查问题,从6:00排查到第二天的6:00,最后多隆查到了问题。”
而达到如此境界,与多隆自身的特质分不开。当他沉浸在他的程序世界时,外界的人和事很难干扰到他。他不擅交际,也不玩什么社交网络,一般很难在公众场合见到他,只要能不参加的会议、采访,他都不会参加。
就算去,他也常常会带上笔记本。据说他也曾经带着笔记本去outting,在车上写代码……
而且尽管被同事们顶礼膜拜,多隆依然谦逊,他说:“我就是个写代码的,很普通”。
从多隆身上我们也能看到,想要成为大神,首先就是要静下心来沉住气,认真研究代码,不断学习进步,完善技术,让自己不再有短板。
理想是最好的指引者,对于技术行业尤其如此。
很多人在成为程序员之初,都抱有改变世界的想法,想象着运用自己的编程技术来为未来的世界增添色彩。而真正能将这种想法坚持到底的人可谓是凤毛麟角,但这恰恰是成为大神程序员的重要特质。
支付宝OB数据库团队的队长阳振坤就是这样一位典型的理想主义者,在他的职业生涯中遭遇了太多的挫折和失落,但他始终保持着一个技术人员的初心,坚持理想,不曾退让。
阳振坤曾是北大的学术明星,北大本硕博一路念完留校任教,不但破格晋升教授,还成为北大首批“长江学者奖励计划”特聘教授之一。他的理想就是攻克分布式系统难题,建成中国技术人自己的分布式数据库。
在加入网络之后,他集中一切精力来进行数据库的开发,然而尽管他主导的分布式系统在性能上已经超过了开源系统,网络仍然以成本太高为理由解散了他的团队。
随后他加入阿里,阳振坤继续做分布式数据库研发,他的团队从零发展到十几人,捣鼓出中国第一个分布式数据库,他们给它起了个名字叫OB。
然而,同样因性价比的问题,阳振坤和他的OB团队在阿里坐了冷板凳。这一彼时仅有十几个人的团队曾在长达三年多的时间里,孤独而边缘。
很多同事都说,“如果阳老师愿意妥协,放弃OB,转去做开源系统的技术优化,早就拨云见日了。”
但是,那显然不是他想做的事情。
不过相比于网络,阿里对于“无用”的创新有更大的包容,OB最终被并入了支付宝。彼时的支付宝,面临着一个世界级的难题:双11的交易量呈几何级增长,未来势必还将继续呈几何级增长,可是支付宝当时用的甲骨文数据库早已经承受不了这么庞大的数据量。
为了应对双11这天的数据,只能再花数亿千万人民币的价格去购买主机,可在交易恢复常态时,昂贵的主机旋又陷于长期闲置状态,这样未免得不偿失。
因此OB这一还未正式上过“战场”的数据库,被支付宝高层认定是解决双11支付峰值这一世界级难题的“钥匙”。OB最终也不负众望,帮助支付宝攻克了这一难关。
2016年5月,时任蚂蚁金服董事长彭蕾亲自将支付宝内部最高荣誉——CEO大奖“勋章”戴在了以阳振坤为首的OB团队成员的脖子上。
从阳振坤的身上我们可以感受到,理想或许会让我们一时间陷入困境,但如果我们坚持下去,会带给我们更大的回报。
这是老生常谈,却也是最重要的一点。这是每一个想要突破自我的人所必备的特质,也是每一个大神程序员依旧在坚持的习惯。
即使多隆在阿里早已封神,但是他仍然每天醉心于编程的世界,研究各种代码,不断强化完善自己的技术。
即使阳振坤和他的OB团队已经为取得了阿里的最高荣誉,他们仍然在每一次维护和升级中不断地为OB数据库做出新的改进和尝试,向着更高远的目标进发,他们期待着有朝一日OB可以超越IOE,成为世界上最棒的分布式数据库。
每一个大神,都是由小白蜕变而成的。大神若不再努力,早晚会跌落神坛,泯然众人。而小白们只要坚持学习,不断提升自己,终有一日也会成为自己曾经仰望的大神。
每个大神的“封神之路”都有各自的精彩,但是也有着共同点,那就是:专注、热爱、持之以恒。当然,每个领域的大神都是极少数,我们大多数人可能用尽全力也赶不上天赋异禀的人的轻松一步。
但是我们努力不是为了赶上任何人,而是为了成为心目中那个更好的自己。
就像现在正拼搏在残奥会赛场上的残疾健儿们,他们早就丧失了和正常人一样生活的能力,但不妨碍他们依旧热爱生活,依旧为了梦想去拼搏,去创造正常人都难以企及的记录。
所谓奥运精神不光会激励赛场上的运动员,也会时刻提醒我们每一个平凡的人,向着心里的顶峰奋力冲刺。
保持心中那份对于梦想的执着和渴望,我们终将会突破自我。加油,未来的大神。