(未經(jīng)授權(quán),禁止轉(zhuǎn)載)
軟件開發(fā)是一種幾乎沒(méi)有門檻的工作呻此。正是這種不設(shè)門檻的開放精神轮纫,讓軟件開發(fā)領(lǐng)域形成了一種獨(dú)特的行業(yè)文化:你行你就上。開源活動(dòng)就是很直接的實(shí)證焚鲜,它使得后人以零成本直接繼承前人的成就掌唾,并基于已有成果繼續(xù)探索新的發(fā)現(xiàn)。開源精神在全球軟件行業(yè)已經(jīng)深入人心忿磅,成為行業(yè)得以持續(xù)發(fā)展的基石糯彬。
盡管入行門檻很低,軟件開發(fā)作為一種產(chǎn)品設(shè)計(jì)和生產(chǎn)的工作葱她,對(duì)從業(yè)者專業(yè)性的要求一點(diǎn)也不會(huì)少撩扒。實(shí)際上,與不少其他工作相比吨些,它給從業(yè)人員提出的要求甚至更嚴(yán)格:打造精巧的軟件能成倍地提高生產(chǎn)力搓谆,為社會(huì)發(fā)展提供動(dòng)力;設(shè)計(jì)細(xì)致的軟件給人們帶來(lái)沁人心脾的體驗(yàn)豪墅,為日常生活增加樂(lè)趣泉手。另一方面,軟件作為精密的構(gòu)件偶器,在代碼中哪怕寫錯(cuò)一個(gè)標(biāo)點(diǎn)也會(huì)引發(fā)程序罷工斩萌。它看不見摸不著、高速運(yùn)行屏轰,它出現(xiàn)問(wèn)題的時(shí)候颊郎,不聲不響、毫無(wú)征兆之間就可能引發(fā)巨大影響……軟件的這些特征亭枷,都對(duì)創(chuàng)造軟件的開發(fā)人員提出更苛刻的要求袭艺。
民科要不得,專業(yè)很重要
“如果你手里有一把錘子叨粘,所有東西看上去都像釘子”猾编。不少開發(fā)人員入門不久瘤睹,剛剛掌握了使用 Visual Studio 拖拽控件,就興奮地以為自己隨手拖一個(gè)騰訊 QQ 也不成問(wèn)題答倡。如今我們都已經(jīng)知道了有關(guān)拖拽控件的笑話轰传,卻鮮有人注意到,其實(shí)這類笑話從未消來(lái)過(guò)瘪撇。就比如获茬,隨便打開一個(gè)社區(qū)就到處能看到成天叫囂要用 JavaScript 統(tǒng)治世界的人,他們與前述笑柄有何不同倔既?
可以說(shuō)恕曲,他們就是軟件開發(fā)領(lǐng)域的民科。民科與初學(xué)者不同渤涌。初學(xué)者知道自己任重道遠(yuǎn)佩谣,千里之行、始于足下实蓬;而民科表現(xiàn)出異于常人的妄茸俭,他們不思進(jìn)取,卻驕傲自滿安皱。民科是要不得的调鬓。民科的問(wèn)題在于無(wú)法認(rèn)識(shí)到自己的民科性質(zhì),遺憾的是酌伊,民科們很可能無(wú)法讀到這篇可能改變他們的文章腾窝。
“一葉障目,不知泰山”是這類開發(fā)人員的通病腺晾。他們喜歡用自己笨拙的邏輯嵌套去重新構(gòu)造一個(gè)個(gè)狀態(tài)機(jī)以求解決復(fù)雜的問(wèn)題燕锥。最終的結(jié)果往往是,錯(cuò)綜復(fù)雜悯蝉,局面失控归形、項(xiàng)目失敗。而在不遠(yuǎn)的隔壁網(wǎng)站鼻由,可能早有定義好暇榴、完善的問(wèn)題域描述與實(shí)現(xiàn)協(xié)議,很可能在一些社區(qū)已經(jīng)有人提供了具體的實(shí)現(xiàn)蕉世。
專業(yè)的人也是從初學(xué)者成長(zhǎng)起來(lái)的蔼紧。不同的是,他們更謙遜狠轻,懂得發(fā)現(xiàn)問(wèn)題并從問(wèn)題中學(xué)習(xí)奸例。他們?cè)诮鉀Q問(wèn)題之前,總是先分析思考問(wèn)題的來(lái)由和價(jià)值,尋求高效查吊、洽當(dāng)?shù)姆椒ㄐ城谧罱K解決之后,人們?cè)u(píng)價(jià)他們?yōu)椤皩I(yè)的”逻卖。問(wèn)題解決的多了之后宋列,分析思考和總結(jié)反省也多了,在解決過(guò)程中尋找和得到的方法也多了评也,向他人咨詢得到的建議和經(jīng)驗(yàn)也多了炼杖,最終他們成為了技藝精湛的專業(yè)人士。專業(yè)的人不光有錘子盗迟,還有不少其他工具坤邪。他們懂得用錘子對(duì)付釘子、用刀對(duì)付木頭罚缕,而何時(shí)該用鋸子對(duì)付竹子罩扇。
“循規(guī)蹈矩”是人們對(duì)學(xué)院派的刻板印象,人們不屑地斥責(zé)他們不懂創(chuàng)新怕磨。然而專業(yè)的人在打破規(guī)則之前,一定懂得何時(shí)該嚴(yán)格遵從現(xiàn)有規(guī)則消约,又在何時(shí)出手打破規(guī)則完成創(chuàng)新肠鲫。他們了解規(guī)則背后的原理,并且不受到這些規(guī)則的拘束或粮。
專業(yè)的開發(fā)人員懂得責(zé)任所在导饲,懷有敬畏之心對(duì)待自己的工作。他們認(rèn)真寫好每一個(gè)函數(shù)氯材、仔細(xì)設(shè)計(jì)每一個(gè)接口渣锦,條理清晰地理解業(yè)務(wù),逐字逐句地斟酌給用戶的文案氢哮,及時(shí)友好地與各方干系人溝通袋毙,他們是令人信任的合作伙伴。
成為專業(yè)的開發(fā)人員
專業(yè)性體現(xiàn)在日常工作的時(shí)刻細(xì)節(jié)之中冗尤。從野生到專業(yè)的成長(zhǎng)過(guò)程是漫長(zhǎng)的听盖,當(dāng)追求專業(yè)成為了一種生活態(tài)度,也就成為了專業(yè)的人士裂七。
大家都聽說(shuō)過(guò)關(guān)于數(shù)學(xué)家高斯小時(shí)候得出100以內(nèi)累加和的簡(jiǎn)單算法的故事皆看,高斯正是在蠻力運(yùn)算之前做了必要的觀察思考才得出更高效的解法。開發(fā)人員在面對(duì)問(wèn)題時(shí)背零,也應(yīng)該首先思考問(wèn)題的來(lái)路去脈腰吟,尋找現(xiàn)有最佳實(shí)踐——那些廣泛運(yùn)用、被證實(shí)有幫助的方法徙瓶,了解那些實(shí)踐能提供的價(jià)值毛雇,以及運(yùn)用時(shí)可能帶來(lái)的挑戰(zhàn)嫉称,基于它做出必要的調(diào)整以適應(yīng)當(dāng)前的問(wèn)題,然后基于自己的實(shí)踐持續(xù)改進(jìn)這些方法禾乘。在獲得了寶貴的經(jīng)驗(yàn)與教訓(xùn)之后澎埠,不要忘記將這些總結(jié)分享給后來(lái)者,至少在別人問(wèn)到的時(shí)候給出真誠(chéng)地實(shí)事求是的建議始藕。
通往專業(yè)的成長(zhǎng)之路是漫長(zhǎng)的蒲稳,在能夠耐得住寂寞的同時(shí),還需要克服一系列難以想象的困難伍派。我們經(jīng)常討論學(xué)習(xí)的過(guò)程有守江耀、破、離三個(gè)階段诉植,也就是對(duì)應(yīng)新手祥国、進(jìn)階和專家的三個(gè)層次。一般來(lái)說(shuō)晾腔,大家都對(duì)新手很熱情舌稀,有很多入門教程、快速上手等資料灼擂,但對(duì)于已經(jīng)通過(guò)“21天快速入門”的人來(lái)說(shuō)壁查,如何成為高階玩家是一個(gè)很值得在線等的急事。在這里需要說(shuō)明的一個(gè)現(xiàn)實(shí)情況是剔应,這樣的成長(zhǎng)過(guò)程是等不來(lái)的睡腿。你要治得了自己的拖延癥,在周六的清晨起床開始練習(xí)TDD峻贮;你要放得下玩了一半的游戲席怪,一篇推送的技術(shù)文章都能讓你跟著鏈接學(xué)習(xí)一整晚;你要管得住自己探索萬(wàn)物起源的好奇之心纤控,耕耘屬于自己的專業(yè)領(lǐng)域……專業(yè)的成就挂捻,需要刻意的長(zhǎng)期的練習(xí),最好還要有良師益友的幫助嚼黔。
有一些方法能夠讓這個(gè)成長(zhǎng)過(guò)程更順利细层。“學(xué)而不思則罔唬涧,思而不學(xué)則殆”疫赎,孔夫子的思想淵遠(yuǎn)流長(zhǎng),如今它一樣適用于開發(fā)人員的成長(zhǎng)之路碎节。嘗試使用靈活而開放的心態(tài)捧搞,了解認(rèn)識(shí)各種思想與方法論,積極嘗試新出現(xiàn)的事物和概念,這能開拓視野胎撇、不斷充實(shí)自己的工具箱介粘;而批判性思維的習(xí)慣讓我們冷靜思考、客觀理性晚树,即使面對(duì)最佳實(shí)踐也不盲從姻采,傾向于更全面地了解并分析論證,消化為自己的經(jīng)驗(yàn)與能力爵憎。
最后慨亲,只剩火候宝鼓。方向?qū)α诵炭茫鸷虻搅耍湾e(cuò)不了愚铡。耐心是這個(gè)時(shí)代最為缺少的因素蛉签,而在追求專業(yè)的路上,缺了耐心是容易走火入魔的沥寥。人們常說(shuō)的“每次了解得多一點(diǎn)碍舍,也就發(fā)現(xiàn)不懂的原來(lái)更多”確是事實(shí),當(dāng)某一天你體驗(yàn)到這一點(diǎn)邑雅,充分了解自己目前所處的狀態(tài)乒验,并淡定自信地繼續(xù)上路,那么你就已經(jīng)乘上了專業(yè)的順風(fēng)車蒂阱。
寫在最后
開發(fā)人員普遍對(duì)在其他行業(yè)習(xí)以為常的資格證書、學(xué)歷這些用于評(píng)估職業(yè)技能水平的方式不以為然狂塘。這確實(shí)有助于軟件技術(shù)以及互聯(lián)網(wǎng)等相關(guān)行業(yè)的發(fā)展录煤。得益于行業(yè)準(zhǔn)入門檻低,加上近年來(lái)國(guó)內(nèi)互聯(lián)網(wǎng)行業(yè)快速成長(zhǎng)對(duì)開發(fā)人員的巨大需求荞胡,軟件開發(fā)人員的隊(duì)伍在近幾年快速龐大了起來(lái)妈踊。
這并不妨礙專業(yè)性仍然是一桿秤,它存在于人們心中泪漂。無(wú)論是與開發(fā)人員自己廊营,與開發(fā)人員合作的團(tuán)隊(duì)其他人員,還是體驗(yàn)著由他們開發(fā)的產(chǎn)品的用戶萝勤,大家都對(duì)開發(fā)人員是否專業(yè)有著明確的理解與結(jié)論露筒。
<br />
(未經(jīng)授權(quán),禁止轉(zhuǎn)載)