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