在最近的一次訪談中,Joel Spolsky(StackOverflow的聯(lián)合創(chuàng)始人)表示,一個(gè)新從事編程工作的小白需要學(xué)會(huì)3項(xiàng)技能: 經(jīng)濟(jì)學(xué)、寫作和C語言 。乍一看,這三項(xiàng)技能除了C語言以外也許與程序員關(guān)系不是太大,但是經(jīng)過深入挖掘后你就會(huì)發(fā)現(xiàn)這其中的奧妙。
Spolsky建議程序員學(xué)習(xí)經(jīng)濟(jì)學(xué)的原因是“programmers often don’t know that and consequently don’t understand how they add value to a business.”(程序員往往都不知道如何在軟件產(chǎn)品中注入商業(yè)價(jià)值)?;ㄒ环昼姇r(shí)間想一想,我們是否經(jīng)常都會(huì)聽到設(shè)計(jì)師與開發(fā)員抱怨如噩夢(mèng)般的客戶和他們不合理的需求?其實(shí)這樣的客戶肯定會(huì)存在,一個(gè)很容易被忽略的事實(shí)是開發(fā)者的主要作用就是為客戶創(chuàng)造商業(yè)價(jià)值。只有理解到這一點(diǎn)才能夠與客戶建立良好的合作關(guān)系。
此外,對(duì)經(jīng)濟(jì)學(xué)有一定了解能夠幫助自由職業(yè)者更好地推銷自己。當(dāng)客戶出現(xiàn)不合理的要求時(shí),經(jīng)濟(jì)學(xué)能夠幫助他們(普通的web開發(fā)者)體現(xiàn)出自己的價(jià)值,用一個(gè)成功的站點(diǎn)為客戶帶來商機(jī)。
Spolksy也建議程序員學(xué)習(xí)寫作技能并練習(xí)溝通能力,因?yàn)椤癳ssentially, the most successful people are the ones who can explain their ideas the best.”(實(shí)際上,最成功的人就是能夠最完美地表達(dá)出自己想法的人)。他說得沒錯(cuò)!溝通是最重要也是常被忽視的一項(xiàng)技能。無論你是否是頂尖程序員,如果你不能將你的想法正確地傳達(dá)給團(tuán)隊(duì)中的其他成員,那這些想法都會(huì)變得毫無意義。
這并不僅僅適用于編程,日常生活中也是如此。作為一名編輯我不得不審閱大量的文章,只有清晰、有深度的文章才能更快地通過審核。
Spolsky的最后一項(xiàng)建議是學(xué)習(xí)C語言。當(dāng)我聽到這項(xiàng)建議后第一反應(yīng)是“什么鬼?!”我明明能夠使用擁有更優(yōu)雅語法的JavaScript或者Ruby語言,為啥還要學(xué)習(xí)C語言?我可不想讓我的程序爆炸。
如今的大多數(shù)程序員會(huì)學(xué)習(xí)一些高等級(jí)的語言—例如Python、Ruby或者Java,但是確對(duì)在這些語言中的代碼的執(zhí)行沒有一個(gè)好的把控,導(dǎo)致編程工作變得緩慢或者無法突破瓶頸。其實(shí)這就像建議一個(gè)想學(xué)習(xí)jQuery或者JavaScript框架的人停下腳步去學(xué)習(xí)這門技術(shù)的由來。花時(shí)間去學(xué)習(xí)所在領(lǐng)域的基礎(chǔ)知識(shí),能夠讓你在正確的道路上走得更遠(yuǎn)(例如在調(diào)試程序時(shí)程序未按預(yù)期工作)。
您怎么看呢?換做是你,你會(huì)向新從事編程工作的小白提出哪三項(xiàng)建議?
聯(lián)系客服