盡管程序員有時(shí)被叫做軟件開(kāi)發(fā)工程師,但好多程序員其實(shí)名不符實(shí)谦纱。我這里說(shuō)的程序員指的就是從事編程工作的人。
大學(xué)時(shí)一位老師給我們講對(duì)日外包的情況君编,說(shuō)日本人會(huì)把文檔寫(xiě)得非常詳細(xì)跨嘉,連if分支都要寫(xiě)清楚,外包公司的程序員就照著文檔來(lái)寫(xiě)代碼吃嘿,
這種程序員不能叫做軟件開(kāi)發(fā)工程師祠乃,叫代碼工可能更合適。
而那位寫(xiě)出詳細(xì)文檔的家伙兑燥,才應(yīng)該被叫做工程師亮瓷。
這里的區(qū)分在于,工程師能解決問(wèn)題降瞳。
工程師思維就是解決問(wèn)題的思維嘱支。
在我看來(lái),這種思維要比你記得住一百個(gè)函數(shù)的具體用法還能用記事本直接編程要重要的多挣饥。
對(duì)于一個(gè)初級(jí)程序員來(lái)說(shuō)除师,當(dāng)你被安排任務(wù)時(shí),最好先想想這個(gè)任務(wù)到底是為了解決什么問(wèn)題扔枫。
比如讓你為用戶數(shù)據(jù)按某條件加個(gè)排序汛聚,如果你直接開(kāi)動(dòng),確實(shí)能完成任務(wù)短荐,但你只是加了一個(gè)排序而已倚舀。
如果你先了解這個(gè)用戶數(shù)據(jù)排序到底是為了做什么,那你完成任務(wù)后搓侄,解決的就是一個(gè)用戶數(shù)據(jù)相關(guān)的問(wèn)題瞄桨。
當(dāng)你解決了許多問(wèn)題,積累了許多經(jīng)驗(yàn)后讶踪,能解決更大更抽象的問(wèn)題時(shí)芯侥,你就升級(jí)了。
這就叫經(jīng)驗(yàn)的積累乳讥。
寫(xiě)一年的排序柱查,并不叫做有一年經(jīng)驗(yàn)。而解決一年的問(wèn)題云石,才是積累了一年經(jīng)驗(yàn)唉工。
所以有些號(hào)稱多年經(jīng)驗(yàn)的程序員,你可能會(huì)發(fā)現(xiàn)他其實(shí)很水,因?yàn)樗@么多年做的都是同一件事汹忠,頂多算一個(gè)熟練代碼工而已淋硝。
有人說(shuō)雹熬,程序員做到多少多少歲要么轉(zhuǎn)管理,要么轉(zhuǎn)行谣膳,否則趕不上那些年輕人竿报。
對(duì)于年紀(jì)大的代碼工來(lái)說(shuō),確實(shí)是這樣继谚。他們的性價(jià)比肯定不如年輕人烈菌。
而對(duì)于年紀(jì)大的軟件工程師來(lái)說(shuō),無(wú)需跟年輕人比花履,因?yàn)閮烧咦龅母静皇峭患卵渴馈?赡芸瓷先ザ际窃趯?xiě)代碼诡壁,但是代碼要做的事济瓢,則天差地別。