作為程式設計師,你為什麼會有【技術不重要論】

語言: CN / TW / HK

為什麼上到老闆,下到技術人員本身都會產生【技術不重要論】,比如在座的是不是都有(或者曾經有)這些想法: “技術是不重要的(這才是私底下真實的想法,別看在公開場合說的是哈)”,“技術難以形成壁壘”,“有錢叫幾個程式設計師就搞出來了”,“挖幾個人抄一下原始碼,拷貝複製一下就行了”,“別跟我說工程,我聽不懂”

很遺憾,上面的話是普遍現象,很慚愧,我以前也有這種想法。有這種想法的根源是,“我們沒有真正吃過技術壁壘紅利,所以我們永遠都不知道那是什麼味道”。歐美一直在吃,吃了幾百年,所以他們深知“技術壁壘”的重要性,你們可以有錢(比如阿拉伯賣石油),你們可以生活的更好(比如中國享受到了到軟體紅利),但你們不能在技術上追上我們,否則我們就要打壓你。

那麼是什麼讓我們覺得,尤其是在軟體行業,技術不重要呢? 如果我說是【開源】 你信麼?

一個工業產品要普惠,成本是最重要的。比如汽車,如果無法降低成本,就難以進入千家萬戶。實際上汽車屬於高精尖專案,成本理論上是很高的,但最後日本人把價格做下來了,還省油,所以全世界都有日本的汽車。

回過頭來,我們再來看開源,本質上,開源是【軟體行業】為了降低成本而不得已而為之,儘管我們總會將其冠與更高尚的理由,譬如對於軟體公司而言,這叫分攤成本,對程式設計師而言,這叫“開源精神”,但都無法掩蓋開源的本質,那就是降低“軟體”這類工業產品的成本。只有軟體成本下降,才會有更多行業使用軟體,才會帶來更多程式設計師就業,帶來更多的軟體企業。

在軟體成本通過開源急速下降後,我們可以很明顯的感受到,現在,我們僱傭幾個程式設計師,就可以搭建起一個網站,完成一個App,甚至搭建一個大資料系統,一個AI系統,並且速度很快,甚至月計,甚至周計。而我國也主要是在應用層發力。但是真正的成本所在是在基礎軟體層,比如科研用的matlab等軟體,大資料用的hadoop體系,AI用的各種深度學習框架,還有gpu等等。這些基礎軟體有相當部分是開源的,這樣真正的成本就被隱式的消解掉了。而在應用層的,無論是工程師,還是公司的老闆,都覺得,原來這個東西並不是高不可攀,而且應用層因為本身缺乏技術門檻,因為大家都是基於同一套開源框架完成的,無非就是堆人力和堆更好的人力的區別而已。這也是【技術不重要論】的主要來源。所以也怪不得工程師和老闆都有這個想法。

但這都是在大量軟體免費的情況下。如果我們把這些免費的軟體都進行收費,恐怕沒有幾個公司能玩的起了。而且這些軟體都會是天價,因為企業無法藉助免費軟體開發自己的軟體,他們的成本會非常高,而且開發的軟體從普適性上也會差很多。現在一款流行的開源軟體,都是世界範圍內成千上萬的軟體工程師通過按年計算的時間得到的。事實上世界上沒有幾家公司能有這樣的實力去開發一款軟體。

開源對發達國家來說是良藥,因為他們本來就是開源基礎軟體的主導者,他們在基礎軟體的開發能力上會越來越強,而且同時極大的降低了軟體成本。而對於其他國家,通過開源這個良好的軟體基礎設施快速的構建自己的應用層,會獲得良好社會收益,但是,他就像一個致幻劑,讓大家誤以為我們很強了,殊不知我們建立起來的應用都是基於他人的技術之上構建的。所以從某個角度,開源和盜版一樣,他讓你自己的國家的真正的軟體企業無法成長。

【凡事有利有弊,我個人還是力挺開源的,因為開源無論如何都是值得鼓勵的,他給全人類帶來了進步】。寫這篇文章,只是期望我們需要更加努力,通過努力也能享受到技術壁壘帶來的紅利,真正吃過肉,感受到肉是什麼滋味。作為技術人員的你,也不枉做上技術人員了。