1. 程式人生 > >軟體開發中,做產品與做專案有什麼區別?

軟體開發中,做產品與做專案有什麼區別?

對於個體程式設計師對於產品與專案的選擇性問題

      在IT行業,產品和專案一直是程式設計師們討論的熱話題。下面是我看到的一篇文章,我覺得寫的比較不錯。和大家來共享一下。

      我始終不能避免的是程式設計師的最終歸宿,人都有老的一天,也有很多人在討論程式設計師的碼程式碼的壽命,有的人說是35歲,有的人說60歲,有的人說退休了也能寫個八皇后出來。不錯,每個人的能量不一樣,每個人的歸宿也不一樣。

      在我看來程式設計師這個職業是體力跟腦力都消耗十分嚴重的職業,我不是研究人類肌體的所以歸納不出腦力嚴重消耗後對於體力的影響,但是現實是經過一天高強度的腦力活動後,你基本上吃飯都不會香,掃地都不太願意去,各種體力的活動,運動都不會無意識的去觸發;除非你給自己定了一個計劃,每天跑五公里之類的運動環節。所以程式設計師在沒有無意識的運動消耗的時候,說自己還有體力那純粹是扯淡。所以我的結論是大部分程式設計師的碼程式碼的壽命取決於身體的素質。

      回到主題上面來,專案跟產品的區別,我想歸納一些現象,首先是專案,專案的公司大的分為兩種,小分類分為3種:一種是在專案公司辦公樓做日常的專案開發,需求都是產品經理從客戶那邊得到的,不用全國各地跑,不用在奔波中體會【快感】或者是【勞累感】,這樣的專案少則半月,多則一年,在網際網路時代超過一年的專案基本應該歸納為產品了。說說最常見的三個月的週期,如果你在一個專案公司做兩年的話,按三個月算的話,你要經歷過八個專案的週期,如果你碼程式碼還算不錯的話,專案中的技術也掌握的八九不離十,往多了說等於你通過兩年時間學習了八項計算機技術,好一點的也許能做專案管理,專案架構,年輕的時候【通常是23-30歲】這樣的經歷足夠讓你在跳槽到下一家的時候漲一倍工資,甚至再多一點。第二種是你簽約的是一家人力外包公司,他們專門做人力外包,哪裡有專案,就招人投放過去,這個也就不談了,基本你就是一個工具,或者高階工具。

第三種是公司派往客戶現場駐地開發,這個跟第一種的區別在於你需要奔波,你在奔波中要忍受無法見到妻子,家人,客戶現場自己有陌生感,對方也會把你當做一個過來的苦工看待,沒法在公司內部享受到同事的親密,這樣的工種需要人有很強的適應能力跟變化能力。

      好,問題就來了,你的歸宿信仰呢?這樣的工作,換了一個專案等於像換了一個工作一樣的,有新鮮感?有刺激感?有強烈的征服欲?這些都可能短暫的存在在腦海中,但是對於做過的專案,你覺得哪一個最能代表你的成功?哦,那個技術用的最深的,耗了我兩週的。這也許在我眼中算是影響你最深的,但不能代表你的成功,因為你的成功整體來概括就是:做了八個專案,經驗不錯,很多點都涉及到了。然後呢?然後就沒有然後了。難道一個程式設計師就不需要有信仰麼?難道是最越來最越多的專案,用最牛逼最牛逼的技術就是成功?就是你的終極目標麼?

      在我看來這樣的想法只會拖累你在前進過程中步伐,而不會加快自己的成功,不成功便成仁不應該用在無休無止的路上,不要迷失,不要彷徨在pi的小數點上,因為沒有人能做完全天下的專案,沒有個體能在如此繁忙的專案中思考如何前進,因為你剛開始想的時候,產品的人就在旁邊說,“你這個地方跟我的原型有點衝突需要修改一下”。我概括一句,專案是沒有靈魂的,產品是有靈魂的。

      說說你的八個專案是不是真正的掌握了,是不是真正的進入到了你的程式設計師素質體系裡面,我只能說人的記憶有衰退期,說說你最得意的一個專案,用了最複雜的技術,這個你認為最自以為豪的專案一直在你腦海中揮之不去。我想問一個問題,下一次有多大的機率你還會用到這麼複雜的技術選型組合,這麼變態的業務規則?我想應該是過了這家店沒這個村了吧?這個只能會沉澱在你所謂的個人榮譽殿堂的最底層,時不時的用來慰藉自己的心靈,找一點還是個程式設計師的存在感,最終會在簡歷上面揮毫一筆。很多人招聘的人會注意到這個點,但是我想說,我不會。我想說的是你對於最得意的技術配套著最複雜的業務還有多少記憶?對於一個長期沒有繼續使用的技能到底還能在新環境中使用多少?這個對於新環境招一個技術能力差不多,沒有熟悉這塊業務的人替代你做的事情的成本有多高?我想如果你不自降身價的話,估計是拼不過人家的。因為你貌似經驗十足,可是可替代性也十足。
對於自己做的東西沒有歸屬感的人,自己內心其實是飄著的,只是等待,等待,等待下一個落腳的專案,或者是新環境。

      最後說一說歸宿。做技術的有很大一部分很多年輕人,被現實生活壓迫的遍體鱗傷,在風雨中前行,很不容易!很少能有機會靜下來想一想自己的歸宿,自己的未來。

問一個問題:如果在醫療行業做某個產品做了5年的人,跟在醫療行業做專案做了5年的人走到了一起,他們如何競爭?
專案:我做過第一人民醫院某某系統,用了java,redis,oracle……
產品:我做過用藥助手
專案:我做過瑞金醫院某某系統,用了c#,http://asp.net,nodejs……
產品:我做過用藥助手
專案:我做過長海醫院某某系統,用了django,twisted,beautifulsoap……
產品:我做過用藥助手
專案:你能不能換一個啊,不要老說用藥助手
產品:我做過家庭用藥
專案:……

      這個純粹是一個笑話啊,嚴肅一點就是:做專案的人,你的核心競爭力在哪裡?你不覺得,做的東西不成體系麼?假如有這麼一個機會,大佬發話:給我找這個行業最牛逼的技術人才。我首先想到的是一直在堅持做產品的人主持工作,而你只會又一次作為高階工具出現在這個行業中。這也就是隨著時間的推移,你的工作的價值曲線會遠遠被一直在這個行業做產品的人拋開。歸宿感也是在一直做產品的人中有流傳。想要回歸,為時已晚。可能在下說的有點偏頗,可是我能這麼思考一下子,也算是對得起整體忙碌的自己。我還是建議,能確定自己方向的碼農,儘早能規劃好自己的願望跟理想,朝著一個方向奔去,在選擇的道路上儘量能沉下去一直在精心打磨一個東西。

      專案跟產品也沒有我說的這麼極端,有很大的共同性。如果沒有選擇,你就繼續做下去,如果有選擇還是選擇一直做一個行業的專案,如果還有選擇還是選擇一直做一個行業的一個產品把自己的最終歸宿,歸宿在為廣大使用產品的人身上,不要歸宿在自己做的八個專案的某個牛逼專案上,因為那是虛假的。