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