“一切都準備好了,就差一個開發(fā)”,這個情況被很多創(chuàng)業(yè)公司遇到過。有很多CEO受限于開發(fā)人員緊缺,無法放開手腳在產(chǎn)品上掀起波瀾。資本市場的火熱,全民創(chuàng)業(yè)的格調(diào),讓軟件開發(fā)工程師著實火了起來,高質(zhì)量的程序員供不應(yīng)求。對于這種行情,我作為一個碼農(nóng),有很深的感觸。
首先,高質(zhì)量程序員很少,很搶手。基本上,每個靠譜的程序員的身邊都會有若干個獵頭虎視眈眈。
其次,以次充好的程序員很多。每個人的簡歷都寫的非常漂亮,想招到靠譜程序員嗎?面試的質(zhì)量一定要把握好。
鑒于火熱的市場行情,整個行業(yè)都浮躁起來。很多程序員為了漲工資而跳槽,至于工資漲幅,每次都是獅子大開口。很多創(chuàng)業(yè)公司因為長時間招不到人,逐漸放低了面試要求,于是招到了很多不靠譜的程序員。不靠譜的程序員,往往會拖團隊的后腿,入職后的幾個月內(nèi),能力就會暴露無遺。因為不能很好的勝任工作,呆的不開心,于是又開始尋覓跳槽的機會。這就形成了一個惡性循環(huán),對于程序員的發(fā)展極為不利。每半年換一個工作,最近兩年換過好幾個工作的程序員,很可能就屬于這種情況。
行業(yè)整體形勢如此,我等碼農(nóng)都免不了會多多少少的對號入座,無可厚非。
說了一大堆的閑話,下面回歸正題,說一說我對一個高質(zhì)量程序員應(yīng)有素質(zhì)的理解。
首先,我一直相信:英雄不論出身,碼農(nóng)不講學(xué)校。接下來......
寫代碼能力
寫代碼是程序員的安身立命之本,這一點應(yīng)該不用強調(diào)了。編程水平再高都不為過。
一個高質(zhì)量的程序員,一定要擅長寫代碼。寫代碼這個事情,寫得多了自然就熟悉了。有一個“一萬小時理論”,無論做什么事情,專心做夠一萬個小時,任何人都至少會成為半個專家。
(說個題外話,建議大家有時間就做一做經(jīng)典教材《C語言程序設(shè)計》的課后題。都能寫出來,也算是很不錯了)
工作態(tài)度
影響工作質(zhì)量的因素主要有以下幾個:
1)開發(fā)水平和習(xí)慣;
2)工作態(tài)度;
3)Deadline;
4)QA
這四個因素,每條都對開發(fā)質(zhì)量有決定性的影響。其中因素3和4屬于不穩(wěn)定因素。對于程序員來說,唯有1和2是自己可以完全自己掌控的。我一直信奉佛法中的一句話:“因上努力,果上隨緣”。這句話是想告訴我們做事的態(tài)度:我們在做任何事情時,對于自己能把控的地方,需要盡心盡力的做好;對于自己無法把控的地方,一切隨緣,結(jié)果隨緣。
程序員可以通過用心學(xué)習(xí)來提高自己的開發(fā)水平和開發(fā)習(xí)慣,水平提高后,可以稱為大牛,但如果沒有一個好的工作態(tài)度,也絕不會稱為一個靠譜的程序員。好工作的態(tài)度不容易養(yǎng)成,只有擁有了一個好的工作態(tài)度,一個程序員才能實現(xiàn)自我飛躍,質(zhì)的提升。
何謂好的工作態(tài)度?
我的總結(jié)是:擁有強烈的責(zé)任感,工作中一言一行的出發(fā)點都是努力將工作做到最好。為了將工作做到最好,我們需要和同事處好關(guān)系;我們需要增強溝通,將需求討論清楚;我們需要認真開發(fā),將bug一一消除;我們需要認真自測,將bug減少到最?。晃覀冃枰浜掀渌碌墓ぷ?,將效率發(fā)揮到最高;我們需要善待每一個人,增強凝聚力和團結(jié);我們需要不怕麻煩,將問題跟蹤到底...... 我們可以做好的太多了!如何才能做到這些呢?我的建議是:在做任何事情時,拋棄個人負面情緒,理性的去思考如何才能將事情做到最好,然后讓理性的思考結(jié)果去指導(dǎo)自己的行為。
為什么只有有了好的工作態(tài)度才能實現(xiàn)質(zhì)的飛躍呢?
答案是:好的工作態(tài)度能培養(yǎng)人的大局觀。擁有了大局觀的人,在思考問題和做事時,能看的更長遠,更有包容力,將事情做的更好。一個技術(shù)好的程序員,可以做好開發(fā)工作;而擁有了一個正確工作態(tài)度的程序員,幾乎可以做任何事情。有了正確的工作態(tài)度,做任何事情,都容易取得領(lǐng)導(dǎo)的信任,因為領(lǐng)導(dǎo)懂你,知道你會盡心將事情做到最好,這就是信任之源。
解決問題的能力
有問題就需要解決,解決問題多的人,就被稱為大牛!
從開發(fā)到上線,總會有很多問題伴隨我們。作為開發(fā)工程師,遇到的問題是很難回避的。戒驕戒躁,研究問題,尋找本質(zhì)原因是解決問題的最佳實踐。程序員在遇到問題后,最好能過后花些時間將這些問題深入研究。原因有兩個:一是加強對這個問題的意識;二是增加對這個問題的理解。同樣的問題,很可能會再出現(xiàn)第二次,再次出現(xiàn)后,三下五除二解決掉,定讓人刮目相看。這些經(jīng)驗積累的多了,自然就成了大牛。
如何快速的解決問題,是一套方法論。每個人都需要探索適合自己的方法論。尋找到了適合自己的方法論,以后再遇到任何問題,就不會干瞪眼,而是按照方法論步驟循序漸進,步步為營,無堅不摧。
生于憂患,死于安樂
細節(jié)決定成??!這不是危言聳聽。有過太多的bugs是由于一個小小的粗心大意導(dǎo)致的。
然而,每個奮戰(zhàn)在第一線的程序員都有寫bug的時候。在我們連續(xù)加班1晝夜后,很可能會寫出bug。一個好的程序員在自測過程中,可能會fix掉絕大部分的bug,這里我們討論那些沒有fix的bug。
小的問題,總有暴露的時候。一開始初露端倪,可能只是帶來極小的影響和現(xiàn)象??膳碌亩鄠€問題同時爆發(fā)!當我們積累的bug由量變導(dǎo)致質(zhì)變時,我們就疲于應(yīng)付了。
一個好的程序員一定會經(jīng)常思考程序可能存在的問題,并且善于發(fā)現(xiàn)問題,關(guān)注問題,然后把他們消滅在萌芽中!
-
工程師
+關(guān)注
關(guān)注
59文章
1571瀏覽量
68574
發(fā)布評論請先 登錄
相關(guān)推薦
評論