整理丨諾亞
出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)
對(duì)于一個(gè)創(chuàng)業(yè)項(xiàng)目來說,程序員能發(fā)揮什么作用呢?近日,程序員Mohamed寫下了他的親身經(jīng)歷,表明:在普世觀念里,創(chuàng)業(yè)項(xiàng)目中“點(diǎn)子”最重要,而程序員作為執(zhí)行角色之一,其工作價(jià)值往往得不到認(rèn)可。一些對(duì)于軟件開發(fā)的“世俗觀念”讓開發(fā)者的付出也很難獲得相應(yīng)回報(bào)。
本周,一位舊相識(shí)聯(lián)系了我,他向我提了一個(gè)建議。
“嘿,我聽說你是程序員!這太好了,因?yàn)槲液臀乙粋€(gè)哥們對(duì)創(chuàng)業(yè)有個(gè)想法。我們已經(jīng)把所有重要的事情都理清楚了,我們所需要的,只是一個(gè)程序員把它們都‘拼’到一起?!?/p>
從表面上看,這種說法并沒有什么不合理之處。這些人知道他們想要什么應(yīng)用程序,他們“只是”需要技術(shù)知識(shí)來實(shí)現(xiàn)它。所以,我克制沖動(dòng),沒有草率答復(fù),而是寫了這樣一個(gè)回應(yīng)。
“嗯,我現(xiàn)在手頭還有其他一些項(xiàng)目,但我總是很樂意看看新事物,看看它是否合適。如果你想把它作為嚴(yán)格的勞動(dòng)報(bào)酬交換,可能需要每小時(shí)X美元才能讓我有興趣花時(shí)間在上面。另外,如果你沒有任何啟動(dòng)資金,并且對(duì)這項(xiàng)工作的股權(quán)交易感興趣,我可能至少要看到公司X%的分成(當(dāng)然,這個(gè)選項(xiàng)取決于我是否認(rèn)為這項(xiàng)業(yè)務(wù)是可行的,我是否有興趣投資)?!?/p>
雖然我真的沒想到他會(huì)有興趣在這些條件下與我見面,但我預(yù)計(jì)他可能會(huì)討價(jià)還價(jià),或者表明他期待的是Y,而不是X。不過,我實(shí)際得到的回復(fù)依然讓我有點(diǎn)驚訝。
“我們還沒準(zhǔn)備好付錢呢。我的意思是沒有為這個(gè)準(zhǔn)備那么多,它只是一個(gè)帶數(shù)據(jù)庫的網(wǎng)站,我希望你能幫個(gè)忙把它‘拼’起來。不管怎樣,還是謝謝你?!?/p>
對(duì)于這次談話,我反思了一下,開始意識(shí)到一些隱射軟件開發(fā)工作的“弦外之音”,或者更準(zhǔn)確地說,是傳統(tǒng)觀念里人們對(duì)于“軟件開發(fā)”的既定印象。
其一,“沒有為此準(zhǔn)備那么多”,也就是潛意識(shí)里默認(rèn)“軟件真的很容易寫”。
其二,“我們已經(jīng)把所有重要的事情都理清楚了”,言語看出對(duì)軟件的輕視,“在一個(gè)企業(yè)中,實(shí)際的軟件只是蛋糕上的糖霜”,連錦上添花都不算。
其三,“我們所需要的只是一個(gè)程序員”,這句更氣人,約等于表明“軟件開發(fā)人員是機(jī)器上的齒輪,或者是裝配線上可替換的組件”。
那么問題來了:這些潛臺(tái)詞在軟件行業(yè)中是常見的嗎?更重要的是,它們是準(zhǔn)確的嗎?
1、假設(shè)一:軟件開發(fā)很容易
這當(dāng)然是我已經(jīng)習(xí)以為常的觀點(diǎn),我相信你們中的大多數(shù)人也有過這樣的經(jīng)歷:“這不是火箭科學(xué),我們所需要的只是一個(gè)能起作用的程序(在此插入復(fù)雜功能)”。不幸的是,人們常常誤認(rèn)為開發(fā)軟件的難度只有實(shí)際的十分之一。
現(xiàn)在我們可以說,這并非完全荒唐無稽。因?yàn)閷?duì)于非技術(shù)用戶來說,用戶界面就是軟件,所以他們只能感知到整個(gè)應(yīng)用程序的十分之一?;谶@一事實(shí),世人總會(huì)覺得:在底部添加另一個(gè)按鈕,完全改變應(yīng)用程序的工作流程也并不是什么大問題。這是對(duì)軟件行業(yè)的一個(gè)普遍誤解。
在我看來,真相必須被揭示:軟件開發(fā)是困難的。雖然我們有一些好的開發(fā)方法可以讓我們專注于重要的事情,有一些好的工具可以提高我們的生產(chǎn)力,但是歸根結(jié)底,又好用又易用的軟件是很難一蹴而就的。
2、假設(shè)二:與業(yè)務(wù)相比,軟件是微不足道的
我不止一次遇到過這種觀點(diǎn)。而且這種論點(diǎn)的表面價(jià)值似乎是合理的。畢竟,軟件可以被設(shè)計(jì)用來做任何事情(在合理的范圍內(nèi)),所以我們真正銷售的不是軟件,而是商業(yè)概念。讓我們賺錢的是產(chǎn)品或服務(wù),而不是代碼。在某種程度上,這是非常正確的:沒有實(shí)用價(jià)值的軟件根本就不是偉大的軟件。
然而,如果把這句話反過來說,無論作為交付媒介的軟件是什么,只要是一個(gè)偉大的商業(yè)理念都會(huì)成功,那就錯(cuò)了。無論是產(chǎn)品公司還是服務(wù)公司,軟件都在講述你的故事,你的業(yè)務(wù)將根據(jù)它是否易于使用且不易崩潰來判斷。即使是世界上最偉大的企業(yè),也無法擺脫一堆糟糕的軟件帶來的桎梏和負(fù)擔(dān)。
所以在我看來,這種觀點(diǎn)不僅是錯(cuò)誤的,而且隨著時(shí)代發(fā)展會(huì)錯(cuò)得越來越離譜。
3、假設(shè)三:程序員是可替換的可插拔組件
坦白說,作為一名程序員,我是這種錯(cuò)誤觀點(diǎn)的既得利益者。
而且在各種求職過程中,我已經(jīng)多次體驗(yàn)過這種觀點(diǎn)。比如,一個(gè)公司短時(shí)間內(nèi)需要完成大量開發(fā)工作,“顯而易見”的解決方案是再增加多個(gè)程序員。更多的人力=更快的進(jìn)展,對(duì)嗎?
實(shí)際上,我承認(rèn)我可能有偏見,但我的確認(rèn)為程序員之間并非是平等的。有很多人寫過R星開發(fā)者的故事,他們就像神話里超級(jí)多產(chǎn)的英雄,可以獨(dú)立扛起一個(gè)項(xiàng)目,對(duì)此我并不完全相信。
話雖如此,我確實(shí)認(rèn)為,如果在項(xiàng)目中能找到擔(dān)任軟件開發(fā)角色的合適人選,真正合適的人選與不那么適配的人選,至少可以產(chǎn)生一個(gè)數(shù)量級(jí)的差異。比如,一個(gè)普通程序員可能需要10個(gè)小時(shí)的工作,如果你有合適的人,可能只需1個(gè)小時(shí)就可以完成。
4、結(jié)語
此文發(fā)布后,在相關(guān)技術(shù)論壇引起了諸多討論。有曾在創(chuàng)業(yè)公司的開發(fā)人員現(xiàn)身說法,表示好的東家會(huì)提供有競(jìng)爭(zhēng)力的薪酬和股票。“好的點(diǎn)子會(huì)吸引風(fēng)投,而好的程序員會(huì)得到好的回報(bào)。”
也有開發(fā)者對(duì)這個(gè)故事感同身受,認(rèn)為99%的創(chuàng)業(yè)項(xiàng)目都不值得加入,并犀利指出:沒有執(zhí)行力的好點(diǎn)子都是幻覺。而很多人都抱有這種幻覺,很多想創(chuàng)業(yè)的人其實(shí)對(duì)創(chuàng)業(yè)的現(xiàn)實(shí)一無所知?!澳愕南敕ū旧頉]有任何價(jià)值。執(zhí)行是唯一有價(jià)值的東西。”
不知道讀者諸君覺得如何?程序員是否應(yīng)該加入創(chuàng)業(yè)項(xiàng)目?關(guān)于軟件開發(fā)的傳統(tǒng)觀念是否已經(jīng)發(fā)生了變化?隨著技術(shù)的發(fā)展,潛在客戶對(duì)軟件的看法是否也正在改變?
參考鏈接:
https://blobstreaming.org/i-just-need-a-programmer/
https://www.reddit.com/r/programming/comments/18p96dz/i_just_need_a_programmer/