從出版業說起
網絡作品排到靠前的,都不會太難看,一般人不愛看某部作品也是因為不喜歡這個類型,而此人也不會全不喜歡這些網絡作品。究其原因,是因為網絡作品都是讓人先白看的,看的好了才出了頭。而紙質作品就不一定了,排行榜靠前的,有好作品,也有垃圾。
博客園里有許多大牛都是寫了博客,后來出了書。這些書也都不次,可能有人讓為不好,是因為技術書不像小說,小說在讀故事,技術書是在學知識或溫習知識,有些技術書讀得可能很違背某人的學習習慣,就感覺不好了。
所以說網絡是塊神奇的空間,很能造就高手,而網絡高手是絕對不能小瞧的。
建筑工程
建筑工程不乏豆腐雜,但比起軟件工程來說,豆腐雜的概率還是很小的。做軟件,很可能某程序員在開發階段一天沒干一點正事,但在建筑行業,除非是收尾階段,否則絕對不可能一個工人一天沒干一點活兒。建筑工人還是很較掙錢的,但絕對是血汗錢。程序員還真不一定是血汗錢,因為軟件工程沒有建筑業成熟,常常因為分配不當,很多程序員每天在干無用功。建筑工人的門檻相對低一些,但也并非容易達到熟練水平,就算那個最低等的搬磚推灰的小工,至少想達到這個水準,你得身體力氣跟得上,一月沒有一天休息你得熬得住,想想都不容易。
中國軟件的用處
軟件不一定驗收了就是有用的,在我看來,一款軟件要想達到有用,至少實現以下功能之一:
1,為使用者節省了時間
2,為使用者節省了人力
3,為使用者帶來了方便
4,為使用者帶來了知識
5,使使用者能做到某種難以實現的事情
6,為使用者帶來了快樂(比如游戲)
7,為使用者節省了資源
8,輔助使用者做出了判斷
9,為使用者解決了某些問題
10,為使用者提供了資源
而有很多軟件做出來以后,使用者不用吧已花了錢了,用吧什么也沒帶來,還得為學習這款軟件而費時費力,得不償失。
但有一個很悲觀的消息,除了網絡軟件之外(包括網站),凡有用的軟件中國人都習慣白去使用。而花了一大筆錢的軟件,往往帶來的好處不多。不是一點沒有,是性價比太差。所以現狀是:有用的軟件沒市場,有市場的軟件用處有限。多尷尬的事。
而以上的一切帶來的現狀是:除了網絡性軟件外,中國的軟件掙錢不容易。
程序員的被動
如果程序員做的東西要不掙不了錢,要不掙了錢反而讓客戶感覺不值,這樣的話,程序員的價值就降低了。這樣,建筑工人灌一天的水泥往往沒白干,而程序員開發一周的工作往往白干,這是常事兒。
這使程序的技術定位很尷尬,在中國,說句實話,不是每個程序員都能天天用到內存管理,就連最基礎的算法也都被高級語言封裝好了,當然也有很多低層的程序員,所以大家不用跟我爭這個,最主要的是,高級語言、業務需求、工期決定了有很多編碼與操作系統、算法、內存等等越來越脫節,這樣的話,很多程序員干了若干年,特定業務熟悉了很多,但編程最基礎的知識反而漸漸忘去。這就出現了,讓市面上很多程序員去做個基本的數據結構與算法(比如有向圖,再比如好像是老趙說的排序),反而不會。這找誰說理去?還不如建筑工人呢,人家說會刷涂料真還做的不錯。
有些公司,銷售、行政、甚至實施人員都比程序員有優勢,他們眼中這群天天如高僧般坐在那兒的人,占公司大半人數,反而做的貢獻不多,反而讓他們辛苦開拓的客戶群都在謾罵。
程序員,好被動。
不按套路出牌的中國人
中國到處都有不按套路出牌的現象:不用正版,不守時,造假,山寨,不排隊,地溝油,不按合同辦事,以次充好,沒服務。這是種壞氛圍,以至于每天每個人都習慣了這樣規律,反而麻木了,不認為這是不對的,就如同我(我也不敢說你也是)每天白看人家的書白用人家的軟件,而沒有感覺自己有多少罪惡感。
中國程序員的出路
中國程序員也有做好的,雖然其最優秀的那些拿到國際上什么也不是,但畢竟能達到不被動,能用自己的努力使生活美好起來的還是很多的。總結一下,有如下幾種:
1,教育型,主要是學知識,寫書,講課。
2,自由型,主要是為自己打工,做好的小團隊軟件,以積累用戶而達到做有用的軟件,掙有價值的錢。
3,業務人際型,一般都走向偏管理的路子,用高級語言,對數據庫、報表、服務器和某個業務領域精通。
4,高級白領型,以進入國際大公司做核心項目為主,因為待遇好,屬于打工仔里的高富帥。
5,創業型,當老板,或許這個已不是純粹的程序員了,所以這個只能算半個。
以上幾種路都可以走,但大多數程序員都還不在這5類之中,都是在某些公司不溫不火的為生存努力著。
讀技術書籍未必就真是無敵之出路
我常愛說,會中國常用的三千字寫不了個好文章的話,學會中國八萬漢字也未必就能寫出來。同樣,市面上的程序員如果去實現個初期的Facebook大多數還是能做到的,但你會這些知識還不能做出一個像Facebook一樣有用的軟件,那么你再精讀了操作系統、設計模式、代碼大全、算法導論。..。..也還是照樣做不出來。所以我很反感網上列的程序員必讀書目,一列就是五十大本,你花十年啃完這五十本,你還能寫代碼嗎?
從環境入手,找到自己所缺少的知識與資源,突破再突破
個人感覺程序員首先應該定位目標,然后界定目標所涉及的環境圈,在環境圈的范圍內捕捉問題,界定自己的知識與資源范圍,有目標的展開學習與環境方面的突破,這樣更適合程序員。
也就是說,你要是教育型的,你在你所涉及的知識范圍里要細到知識點;但你是自由型的話,還沒必要都細到點,否則你天天不是在開發了,而是在學習了。如果是業務人際型,可能你對操作系統、網絡什么的不必要了解太細了,但業務得精純。
盡可能縮小范圍,持之以恒是關鍵
其實不管是技術還是人際,所涉及的學問是無邊的,如果都要學精再去做事,我想這樣的話就沒有做事的機會了。所以盡可能縮小知識領域的范圍,比如上面我分5類人才,就是縮小了一層范圍,但是這還是很粗的。假如你是教育型的,你想教會大家用設計模式,那盡可能先不要去學習WPF,先把設計模式搞到專家地步再說。此間道理,我想大家是可以理解的。
結束語
寫了這么多,其實我并非在教育誰,我沒有這個資格。博客園高人一把一把的,怎么能輪到我來說教。目的只有一個,想找到程序員的出路,想讓程序員不那么民工(或碼農)。大家是拍磚也好,送花也罷,這都是對我有幫助的,畢竟我也是在摸索當中。我不喜歡那些寫類似《如何讓程序員成為百萬富翁》而自己連十萬都沒有的作者,但我確不反對作者們拋磚引玉。
-
程序員
+關注
關注
4文章
952瀏覽量
29799
發布評論請先 登錄
相關推薦
評論