03.04 為什麼程序員不自己寫程序去賣而要去公司上班領死工資呢?

段寶君


作為一名從業多年的老程序員,我來回答一下這個問題。

大部分程序員需要到公司工作主要是基於以下幾個原因:

第一,一款成熟的互聯網軟件產品不僅僅需要程序員,還需要產品經理、主策、設計師(交互設計師、視覺設計師)、產品經理以及測試等崗位。程序員作為整個團隊的一員,並不能完成所有的事,尤其是隨著互聯網的發展,用戶對軟件使用的體驗度要求越來越高,自然需要一個成熟的團隊來保障軟件的質量。

第二,軟件產品後續服務比較多。軟件產品往往需要很多後續服務,最常見的就是功能升級、數據維護、問題調整等等,所以軟件編程很難做到傳統產品的售賣方式。對於買家來說,很難跟個體程序員合作,因為後續的服務風險較大。

第三,交易市場和行業分工都不夠成熟。如果有一個成熟且規範的交易市場,同時能有一批分工明確的程序設計人員,其實程序員也是完全可以成為一個自由化職業。

相信未來隨著軟件市場的逐步發展,程序員職業自由化也是一個發展方向。目前在一些特定領域也出現了一批自由程序員,比如為電商客戶做程序開發服務等。

對於程序員來說,在一起工作對交流來說還是比較方便的,也有利於程序員的成長,尤其是對初級程序員來說。

我的研究方向是大數據和人工智能,我目前也在帶相關方向的研究生,我會陸續在頭條上寫一些相關的科普文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。

如果有互聯網方面的問題,也可以諮詢我。

謝謝!


IT人劉俊明


寫了十多年的代碼,也接觸過很多程序員,確實很少有程序員可以開發出自己的產品去銷售,其實原因很簡單,我給大家分析分析。


會寫代碼,不一定能開發軟件產品

  • 最主要的一個原因,對於大部分程序員,都幾乎沒有能力去開發一款產品的;單單就說程序開發,如果要開發一個產品(一套程序),需要從前端到後端多方面的知識,也就是我們經常說的全棧工程師,但是大多數程序員的技術水平是達不到的。(當然可以幾個各有所長的程序員合作)


  • 開發一款產品,不單單需要技術人員,產品經理也是重要的一個角色,還有運營推廣,都是必不可少的。如果這些角色都由一個人做,還是有些難度的。


移動開發是個不錯的選擇

智能手機的流行,程序員可以選擇進行App的開發,這個相對來說比較簡單,也有不少程序員,選擇作為獨立開發者進行移動App的開發。

  • IOS平臺:得單獨學習Swift或者Object-C,最好擁有一臺Mac(感覺黑蘋果不好用),開發完成放在蘋果市場上進行銷售。

  • Android平臺:如果有Java基礎的話,再學習Android會簡單一些,擁有一臺任意型號的電腦即可,開發完成後的銷售比較麻煩,因為安卓市場太多了,可以選擇幾個大的市場。

  • 開發的App不一定收費,大部分是通過廣告盈利的。

  • 這幾年App開發也不好做了,不過有興趣的程序員可以嘗試,我在今年前做過一段時間的Android開發,掙了...不到500塊錢,早已經不維護了。


有能力的程序員,會選擇一些威客網站“接活兒”

實話實說,我沒有做過,但是我研究過,當時我研究的結論:國內的“活兒”不好接,主要是少,競爭激烈,國外的“活兒”多,但是...我的英語也很令人“捉急”,這個需要和外國人進行交流的。介紹幾個國內國外的威客網站,大家可以瞭解瞭解:

  • 國內最有名的就是豬八戒了

  • proginn:程序員客棧

  • codemart:碼市

  • yingxuan:英選

  • freelancer

    :接活兒會員免手續費,非會員網站抽10%
  • upwork

  • sologig

    :不僅僅有IT方面的,還有法律、金融等,比較全面


希望我的回答,能夠幫助到你!我將持續分享Java開發、架構設計、職業發展等方面的見解,希望能得到你的關注;另外,關注我後私信【資料】兩個字,可獲取架構、大數據、面試等相關資料。


會點代碼的大叔


先問有沒有,再問為什麼。

獨立開發者有很多的,APP Store就有很多收費的軟件,都是一個人開發的。

比如這個評分很高,售價3元的軟件就是單人開發的。

想自己開發一款能賺錢的產品,除了要會寫代碼,更重要的是要有一個好點子,解決哪些的痛點。

往往一款產品上線,背後需要很多很多人的努力,產品經理,設計,開發,測試,運營等。程序員只是其中的一環。

而且一款產品還會有多個版本,常見的蘋果系統,安卓系統,僅僅手機版的都需要兩個工種,還有電腦版呢。

開發下面還細分,iOS工程師,安卓工程師,前端工程師,後端工程師,後端工程師又分很多,比如JAVA工程師、PHP工程師,網絡安全工程師,還有架構師,技術總監也就是CTO。

這只是開發這一個環節需要參與的角色,其他的產品,設計也會有很多細分工種。

一個人的力量是有限的,獨自開發一款能賺錢的產品是很難的。就算拉上一幫人去創業成功率也很低。所以大部分人選擇去上班,去給別人打工,還擠破頭的往大公司進。



Hfyjbg


這個問題就好像,設計師為什麼不自己造房子賣,工程師不自己造車,而要去公司上班。

首先程序員未必沒有自己寫程序賣的,而且不少。但這多半是作為兼職炒單,很少作為主業。技術和銷售是兩碼事,做的好技術未必做的好銷售。能做好程序,未必找得到穩定的客戶資源,不然早就可以跳出來自己開公司自己幹。偶爾接個幾單提高生活質量未嘗不可。

另外,除了一些小程序,大部分軟件程序都是需要團隊合作完成的。舉個例子,Windows 10擁有大約40-45個Feature團隊,每個團隊裡有大約32個工程師(這還不包括測試者,產品經理等等)。它從大約2013年開始開發,到2015年7月末正式上線,開發時間在兩年半左右。假設先前的代碼庫重寫了50%,這就意味著我們還需要另外兩年半來寫之前的代碼。那麼我們就可以進行計算,如果這些由一個人完成,並且這個人具備所有知識:5年*32名工程師*40個團隊,相當於6400年的開發時間。這還不包括系統測試,構建實驗室,用戶界面開發,全球化/本土化工作等等。雖然實際操作中,Windows是個特例,但絕大部分軟件都是很難靠個人去編寫並且需要極大的人力物力來實現。


第九街區08


互聯網的普及讓程序員這個高薪職業慢慢走入大家的視野,每個月上萬元的薪水讓很多人羨慕不已,既然寫程序這麼賺錢,為啥程序員不單幹自己去賣軟件,而要在公司領死工資呢?

1、術業有專攻

現代社會與原始社會最大的區別就是現代人懂得分工合作,做自己最擅長的事使得社會的整個生產效益最大。人的精力是有限的,很少說會有一個人在各個方面能力都是出類拔萃。

程序員最擅長的事當然是寫程序,但如果想把程序賣出去,寫出來才只是第一步而已。

第一,你要解決產品定位的問題。你是否有好的創意,也就是你寫的軟件解決了用戶什麼痛點,用戶為什麼要用你的產品而不是其他公司的產品,軟件的人機交互流程是否合理,是否符合用戶的習慣,這都是需要考究的,而這屬於產品經理的範疇工作,程序員通常是很難做到仔細深挖的。

第二,假如你的產品定位問題解決了,那麼你是否在美學設計方面有天賦呢,人類都是視覺動物,你做出來的產品不好看,奇醜無比,你覺得會有用戶願意買單麼?

第三,假如產品定位問題和 UI 設計都解決了,產品也如期上線了,後期的產品運營怎麼做呢,怎麼獲取第一批種子用戶,怎麼獲取更多的用戶,讓他們留下來,然後把他們轉化為你的付費用戶,這裡面都有很大的學問。

好比我們大家所熟知的微信,作為一個日活十億的 APP,其產品價值不可估量,但你覺得這是張小龍一個人的功勞還是某一個程序員的功勞,都不是,這是產品,運營,程序員,市場推廣,UI 設計等整個微信團隊所有成員共同努力的結果。

2、穩定還是冒險

剛才說了,一個好的產品走向市場是需要各方面人才共同努力的,假設你把以上所有人員的工作全包了,然後推出一個超級顛覆時代的產品,最後卻因為某些不可抗力因素導致產品失敗,血本無歸。你是否能承受的了這個打擊,因為沒有誰能保證產品一定能成功,用戶一定會接受。所以說自己來賣是由極大的風險的。

但是在公司上班就另說了,只要你技術流弊,完成自己的編碼工作就可以了,這對你來說真是太容易了。而且還有非常可觀的薪水,何樂而不為呢?


stormzhang


首先,你需要清楚的一點,每一個應用程序都不是簡簡單單的幾行代碼就可以實現並使用的。

一個產品在開發前需要經過一定的市場調研,瞭解整個市場的需求,就光這個緊靠個人短時間就很難完成。

其次,在產品進行開發階段,其架構、模型設計起碼底層的程序員是很難進行直接設計的,因為一般產品在設計的時候必須是可迭代,可維護,可移植的,其次在設計完成後僅靠個人實現十萬百萬行的代碼並且熟悉所有本次開發所需的編程語言、設計的工具或者其他環境的使用也對個人能力有更高的要求。

其次,在產品設計完成之後,產品的安裝部署,涉及的環境,需要維護的人進行實施,當然,你自己開發你來搞這個應該問題也不大。

再然後,你需要大量的測試用例來對你產品的功能、性能、穩定性、安全等方面進行驗證測試。自己開發的東西自己是很難發現自己的錯誤點的。

好了,現在東西有了,你還需要告訴客戶這個產品如何使用,起碼一個簡單的產品文檔,部署文檔,維護文檔你是必須要有的,並且根據你所發佈的版本進行更新和發佈。

現在連文檔也有了,好了現在就得去銷售啦,你需要去自己拉客戶、打廣告、去找市場,跟客戶拉關係,跟其他的所謂的友商進行競標。

現在競標到了,客戶使用中又發現你產品的BUG了,或者覺得你的產品某些地方不好用,得進行更新,於是你的產品又得進行迭代更新二次開發,開發又有的忙活了。

到後來產品做大了,客戶也多了,整個流程都得加人才能爭奪更大的市場。

所以個人能完成的僅僅是編程,最多做出個小產品,沒有別人的加入基本很難做出一個改變行業的東西。



天晴不忘雨傘


原因很簡單:不是每個程序員都具備單幹的能力、魄力和機遇。

雖然在整個產品線程序員是非常重要的一環,但是隻有產品需求和定位明確、功能實現條理清晰、市場分析準確、運營推廣到位,程序員上線的產品才能體現出最終的價值。

或許你的編程技術無懈可擊,但是想要做出一款優秀、成功的產品,首先離不開一個好的idea。產品的設計更多的時候需要我們去考慮大眾心理和使用習慣,而這恰好是程序員的弱點。

要知道靠自己寫程序賺錢遠比我們想象的要困難的多,因為除了要有過硬的技術作做保障,同時你還要兼顧很多工作和責任。你要會寫商業計劃書,你要出去談判,因為你要讓更多的人知道你知道你們的產品知道你們的公司。甚至你要會講故事,會吹牛,因為你要去拿融資,不然怎麼做地推做廣告。

慢慢的你會發現,在公司守著自己的一畝三分地,只要做好自己的本職工作就萬事大吉了。但是當自己打拼事業的時候,你要學會與越來越多的人打交道,這對於大多數不善交際、性格木訥的程序員來說確實不是一件簡單的事情。

如果你覺得這就是程序員自己出去單幹的困難極限了?那你就大錯特錯了,困難將遠遠超出我們的想象。諸如記賬、交稅、各種營業執照等等問題,將隨著公司業務合作步入正軌接踵而至。除此以外,每個月給下面的員工發工資,繳納租辦公室的場地費,每個月的固定開銷也會讓你喘不過氣來。

最後我想說的是,無論是在公司就職給老闆打工,還是自己單幹自己給自己做老闆,並沒有高低貴賤之分,關鍵要遵從自己內心的聲音,找到適合自己的工作節奏和成長路徑。唯有如此,我們才能充分發揮自己的技術價值,獲得職業成就感。


小貝的STEAM教室


因為程序員的死工資已經很高了,沒必要冒創業的風險。

一個能力平平的程序員,工資足夠養家餬口;如果優秀些的,在一個領域裡鑽研精通,沉澱多年,成為技術專家拿年薪,也不比出來單幹的創業者賺的少,幹嘛找那不痛快去。

再一個呢,很多程序員,更善於跟機器打交道,不善於跟人打交道。但這點放在創業上,幾乎是個死穴。開公司、談業務、做產品甚至搞招聘,哪個不需要跟人打交道?只會技術是不行的。

外人會覺得創業很酷,很自由,其實一點都不。尤其是技術出身,一旦開始創業,就不得不去面對自己不擅長的事情,搞得自己很痛苦。


其實這個問題也可以替換成:

為什麼設計師不自己搞設計,而要上班領死工資呢?

為什麼廚師不自己開飯店,而要上班領死工資呢?

為什麼銷售員不自己開公司,而要上班領死工資呢?

我們絕大多數人都沒有雄厚的資本背景,可以在萬事俱備,什麼都不操心的時機開始創業。相反,幾乎所有的創業者,最開始都是在掙扎、窘迫、有上頓沒下頓的情況下,就破釜沉舟地邁開了第一步。

勇氣這東西,你十年前沒有的,十年後也不會有;

【準備】是永遠都不嫌夠的,錢、經驗、人脈永遠多多益善。但,所謂“萬事俱備”的那一天,真的會到來嗎?我很懷疑。

每個創業者都是一邊實踐、一邊摸索,一邊吃虧、一邊長進。


然而,並不是每個人都要創業,世界上不只這一種活法。

況且,在技術領域成為專家,也是需要付出很多努力的。只是大家努力的方向不一樣罷了。

實現夢想的方法多種多樣,道路千萬條;但“變的更優秀”這件事,所有人大抵都是殊途同歸吧。一個成功的創業者,一個厲害的技術專家,他們站的山頭可能不同,但是山的高度,是相同的。


吉姆妮成長日記


為什麼程序員不自己寫程序去賣而要去公司上班領死工資呢?程序員不是萬能的,與其它實體生產流水線一樣,只是軟件生產線上的一顆螺絲釘。在一個生產廠家呆過一段時間是不是就可以說自己不去生產產品賣,還是要在一家工廠打工呢。道理差不多吧,程序員做的事情也只是軟件項目的一部分而已。

當然有極少部分程序員可以除外,這部分人有些人可以拿到項目,可以組織團隊進行軟件開發,可以又找到相應的市場銷售出去,那麼這樣的程序員就沒有必要去領死工資而該自己去當老闆了。而有部分人可以自己寫出有特色的軟件來,也能夠找到相應的市場把它銷售出去,這也可以當自由職業者,比如有些人寫些外掛呀,寫些小工具啊等等。


而對於絕大部分程序員不得不在公司去上班領死工資,要他們自己去寫出程序來買,可能可以寫出來,可要賣出去那就只有說“臣妾做不到啊”。一個軟件項目可不只是程序員就能完成的,現在一個項目需要的包括產品經理、市場調研、策劃、設計師、UI美工、前端程序員、後端程序員、測試、項目經理等各種各樣的角色,程序員只是裡面一個分工而已。

對於程序員來說,有可能寫軟件搞美工及設計這些都可以想辦法搞定,可是市場調研、銷售產品、膽量就不是那麼容易搞定的了。現在年代已經不是二三十年前,一個人在家裡隨便寫個軟件市場上就可以找到買家。現在各種各樣的軟件簡直多如牛毛,沒有特色沒有找到相應的需求,甚至沒有三寸不爛之舌沒有口若蓮花似的銷售能力,你的軟件就只有自己獨自憐惜獨自欣賞鎖在深閨了,還浪費了自己大把大把熬夜的光陰還白了少年頭、成了地中海,值得不?



當然對於那些找到了方向、找對了市場,只要有膽量想辦法去搞定一切困難,那還是可以自己試試的。


更多分享及互動,歡迎點擊右上角關注【東風高揚】。


東風高揚


這是個好問題,作為一個獨立個人開發者,我來發表一下我的看法,首先這樣的人肯定有隻是別人不說你也不知道。接外包對於開發者而言是個沒有前途,這會耗費大量時間和精力去滿足客戶各種各樣的需求。明智的選擇是開發自己的產品,真正有好的產品誰會願意賣給別人了?前提是你要有長期的工作經驗,屬於軟件行業市場規則,經濟寬裕有家人支持,長期工作積累。技術上至少需要會網站前後端,數據接口,懂設計,懂服務器配置運維,會開發客戶端包括ios,android,手機站。反正技術要求是什麼都會,學習能力超強,同時切換各種語言開發,同時切換多種產品設計思路,架構思路。最後一點還需要會報稅。想說的就這麼多了,本人目前正在這樣踐行,而且同時開發兩款不同的產品,而且都是大型產品。同時開發網站和客戶端。多說一句產品大不大,完全靠架構思路,而不是壘代碼。


分享到:


相關文章: