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