最近這兩年,程序員這個職業(yè)開始被越來越多的人所熟悉,計算機專業(yè)也開始熱門起來了。關(guān)于程序員會有很多話題,我作為一個程序員,思考過一個問題,程序員的價值到底是什么呢?
說說我的理解,程序員的價值簡而言之就是:與機器對話產(chǎn)生的價值。
程序員可以與計算機溝通對話,將人類的需求用機器聽懂的語言翻譯出來,指揮機器執(zhí)行;而機器的高效運轉(zhuǎn),可以將信息的采集、存儲、傳輸、處理、展現(xiàn)等過程做的非常高效和準(zhǔn)確,而這些信息可以幫助人類生活的更好,這就是產(chǎn)生價值的地方。
現(xiàn)在正處于第三次工業(yè)革命,每一次工業(yè)革命,每一個時代能夠發(fā)明、創(chuàng)造、使用機器,能夠與機器對話的人會創(chuàng)造更大的價值。
第一次工業(yè)革命中,蒸汽機出現(xiàn),機器開始代替人力、畜力,工廠生產(chǎn)開始取代手工生產(chǎn);那個時代能夠與機器對話的人是機械工程師。
第二次工業(yè)革命中,電力開始使用,各種巧妙的電器不斷被發(fā)明創(chuàng)造,也出現(xiàn)了電報、無線電等通信技術(shù),這些技術(shù)深刻改變了世界,那個時代與機器對話的人是電子、電氣工程師等。
第三次工業(yè)革命,也就是信息革命,出現(xiàn)了電子計算機,機器也變得自動化、可編程化,甚至有了一定的學(xué)習(xí)能力;通信領(lǐng)域也有了很大的發(fā)展,出現(xiàn)了互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)。這個時代與機器對話的人是軟硬件工程師等。
對于程序員來說,在這個互聯(lián)網(wǎng)時代,與機器對話的能力又得到了放大。之前開發(fā)一個軟件,可能只會自己用、朋友用,或者給某一個企業(yè)、學(xué)校的幾個用戶用,現(xiàn)在通過互聯(lián)網(wǎng),可以將我們寫的代碼運行在數(shù)以億計的設(shè)備上,或者作為運行在云端的服務(wù),供海量的用戶使用。
總結(jié)一下,我理解程序員要發(fā)揮價值需要:
1.與機器很好的溝通,具體來說就是需要熟悉計算原理,計算機編程語言等,這樣才能很好的指揮機器運行。
與人很好的溝通,只有這樣才能理解好人的需求,更好的翻譯出來,否則可能會南轅北轍。
程序員絕不僅僅是一個翻譯者,更是一個創(chuàng)造者。對于信息處理的準(zhǔn)確性、效率性是我們的追求,信息處理結(jié)果不準(zhǔn)確意味著出了bug;而提升效率方面,比如采用更好的算法、更好的設(shè)計,可以在更短時間、更低的能耗下完成處理。在算力、存儲、傳輸、編程語言表現(xiàn)力等受限的情況下,在保證準(zhǔn)確性、效率性的同時,應(yīng)對現(xiàn)實世界中復(fù)雜多變的需求,這也是程序設(shè)計的藝術(shù)。
互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)的發(fā)展會急遽放大代碼的影響范圍,一行代碼影響億萬用戶。在這樣的平臺上可以放大程序員的價值,也要用好和珍惜這樣的機會。