程序猿到美猴王的進化史
原創(chuàng)“苦練七十二變,才能笑對八十一難”。
最近兩天,這個象征著“孫悟空精神”的句子引發(fā)千萬人的共鳴,也給程序猿們盛了好大一碗雞湯。不!絕不是雞湯。小編堅定地安利每一只程序猿都可以進化成美猴王!
程序員是干嘛的?有人認為他們是寫代碼的;有人認為他們是調(diào)bug的;更有甚者認為他們是修電腦的。
程序員到底是干嘛的?相信很多人讀過這句話:
“程序員是將人類想法翻譯成計算機語言的譯者。”
換句話說說,程序員是連接人類世界和計算機世界之間的紐帶。
到位。
但是,維護這個紐帶也太不容易了好嘛?
預(yù)備,唱!
“剛翻過了幾座山,又越過了幾條河,
崎嶇坎坷怎么特么就這么多!”
要不說得苦練七十二變呢。等到五指山也壓了,煉丹爐也進了,九九八十一難也闖了,你就再也不是一只簡簡單單的程序猿,你就是齊天大~~~圣!
望著猿猿們的一臉懵逼和無辜,小編樂善好施的毛病又犯了。阿彌陀佛,那么程序猿與美猴王之間倒底差了多少標(biāo)志性差別呢?
火眼金睛
孫悟空在太上老君的八卦爐中鍛燒七七四十九天后,不但沒燒死,還煉就了火眼金睛,能夠一眼識別出妖怪。
Bug就像是通往西天路上的妖怪,給程序猿們順利取得真經(jīng)的過程制造各種障礙。擁有快速識別定位程序中的bug的本領(lǐng),就好比擁有一雙火眼金睛。
但火眼金睛也有它的缺點,就在于它不能看出妖怪的原形,所以孫悟空每次都不得不四處奔走詢問妖怪的出處。如果你現(xiàn)在滿屏代碼中一眼識別中哪一行有Bug,幾乎是不可能的。你能做的,是判斷出籠罩在程序中的“妖氣”,始終帶著一雙懷疑的眼睛,學(xué)會利用差異對照法,在不斷的驗證中發(fā)現(xiàn)和定位bug所在的模塊。
孫悟空的火眼金睛也不是什么天然的超能力,程序猿也必須在善于懷疑、善用工具、學(xué)習(xí)他人經(jīng)驗的過程中,煉就對產(chǎn)品擴展預(yù)期和對bug預(yù)見性的能力。但悲催的是你會發(fā)現(xiàn),視野有多大,漏洞就有都大。
金箍棒
如意金箍棒在孫悟空的手中,能隨心所欲地變化大小,而且似乎它只聽孫悟空的。沒有任何其他神仙或者妖怪能夠讓金箍棒隨意變化。對于孫悟空,與其說金箍棒是兵器,不如說是通過苦心尋找又不斷練習(xí)的專屬工具。
在這個軟件增長和發(fā)明的黃金時代,工具變得唾手可得。程序猿的兵器譜中包含了許多可靠的技術(shù):編程語言、開發(fā)工具、框架和設(shè)計模式,真正的程序猿要懂VC,懂Java,懂Python,懂Delphi……這些都是我們技能的基礎(chǔ)。然而這些技術(shù)有可能幫助我們所向披靡,也有可能暗藏危險。程序猿只有通過不斷的學(xué)習(xí),既不要固步自封,也不要貪多不熟。對于進步最有效的辦法就是懷疑一切。當(dāng)你嘗試了新的途徑后,你才能決定接下來用什么樣的做事方法,好像一個漏斗一樣,過濾掉自己不需要的,留下適合自己的思維方法。
這可能會耗費你很多時間,但隨著時間的積累,你會發(fā)現(xiàn)自己的工具箱中又多了一套新的工具,并做好抉擇,看看有哪些是值得保留的。
金箍棒的任意伸縮,還暗涵技能的擴展能力。程序猿的職業(yè)生涯是一個要求不斷學(xué)習(xí)的過程,有太多的途徑幫助我們拓寬自己的視野和能力,去Github和大神交流;自己參與到開源代碼的貢獻中,學(xué)習(xí)他人的經(jīng)驗等等,你漸漸會發(fā)現(xiàn),你對于選擇兵器的直覺,一定比周圍的猴子們敏銳;
金箍棒再厲害,不能打怪也白搭。程序猿的兵器也需要有用武這地。面對一涌而入的不同業(yè)務(wù)需求時,猴子們還需要有對業(yè)務(wù)的彈性處理能力。根據(jù)不同需求的優(yōu)先級別,在各時間節(jié)點最大效率地利用工具,完成對不同功能的開發(fā)實現(xiàn)。
緊箍兒
觀音菩薩給孫悟空戴一個“緊箍咒”,就是要以此來引導(dǎo)他的思想,用理性來操縱和導(dǎo)引這只野猴身上的非理性因素。
對于狂放不羈的程序猴們來說,良好的編碼習(xí)慣和編碼規(guī)范也許是勒得最緊的緊箍咒。
“命名規(guī)范修正下吧,變量名看著挺亂的”
“規(guī)范你妹啊,下周就Deadline了,哪兒有時間啊,差不多行了,把東西實現(xiàn)出來比什么都重要。”
也許在兩年后,你會發(fā)現(xiàn),擦……核心模塊里還有這么惡心的代碼,不是早就該重寫了嗎……然而,注釋和文檔都不清楚!尼瑪這誰能寫啊……
猿猿們要噴了:我做了充分的分析需求;我選用正確的語言和架構(gòu);我配置好用的協(xié)用與任務(wù)調(diào)度管理工具;我代碼規(guī)范、文檔齊備;我的代碼就是可信的,工具鏈?zhǔn)强煽康?hellip;…我的代碼就一定安全嗎?需求變化我控制的了嗎?莫名其妙的攻擊我攔的住嗎?不是照樣要改嗎?
但是,如果你沒有在各種層面質(zhì)疑,你連相信自己是安全的理由都沒有,不玩兒你玩兒誰?
虎皮裙
喜歡西游記的人都說,如果沒有虎皮裙,孫悟空就不是孫悟空了。
作為標(biāo)志性特征,虎皮裙其實也存在爭議。有一種說法,真正的佛教高僧大德不會穿虎皮,唐僧默認悟空這樣穿著,實則是對猴子本性的保護。姑且不論嚴謹與否,還是有幾分道理的。
在圈外人看來,對程序猿這畫像的呢?聽說他們收入不菲,但總看起來很窮。略長的凌亂寸頭下面是一張長期被電腦輻射的油面,架在鼻梁上的眼睛下藏著一雙盤著黑眼圈的眼,萬年不變的格子衫和滑板鞋,雙肩背包承載著他們整個世界。
稍微了解他們的人認為,他們百分之十的時間在想著顛覆宇宙,剩下百分之九十的時間在調(diào)bug.
是時候縫條虎皮裙,上演一波猩球崛起了!
硬件走起!Mac、機械鍵盤、外表炫酷的耳機!
軟件走起!牛逼的技術(shù)是程序猿最好的名片。通過構(gòu)建自己自己的平臺,寫寫博客,常逛逛Github,多參加像51CTO WOT這樣的業(yè)界會議,來提升程序員的影響力。
其實,程序員不過是一群簡單可愛的小朋友,不然天天被這么多人黑,得引發(fā)多少血案,小編也早沒命接著寫了。
總結(jié)看來,美猴王也沒什么了不起。然而齊天大圣真正感染我們的不僅僅是武藝精湛、除妖降魔、精力充沛,而是在通往取得真經(jīng)的道路上,他逐漸收起自己霸道、喜歡控制一切的心性,凡事以保護師傅和保證取經(jīng)小分隊的集體利益為原則,指導(dǎo)他的一切行為。
也許在我們的團隊中,你討厭磨磨唧唧的Leader,但他卻一直在引導(dǎo)和督促你;你討厭好吃懶做還貪圖美色的八戒,但他卻使工作氛圍不再永遠枯燥單調(diào);也許你討厭凡事都“大師兄,師父說的對呀!大師兄,二師兄說的對呀!大師兄,師父和二師兄說的對呀!”的沒主見的沙僧,但你失戀了落單了挨罵了,卻最先拉他出來喝酒。
最后,祝福每位代碼山上的孫悟空,猴年大吉猴賽雷!