我大學里學的專業是國際貿易,畢業后主要是做律師,也比較深入的涉足過裝飾行業,幾年前轉行做了IT。
所以,我想,關于這個話題,我能給大家一個不同視角的啟示。當然,個人意見,僅供參考,這本來就是一個仁者見仁,智者見智的話題。
下面我就以下一些常見的觀點逐個的談一談。
1. 程序員的門檻低。
這我承認,我就是一個例子,呵呵,很多人罵的那種“進來搶了你們飯碗”的人。當年找工作的時候,很怕別人問我的專業,感覺低人一等。結果進來了,才發現,很多同事,原來都不是科班出身,而且他們做得很好!
所以很多人就開始自怨自艾,當初選錯了專業,自己辛辛苦苦學了4年,結果出來什么都不是了……
但我想問的是:
1.1 哪一種職業的門檻高?就我所經歷過的所有職業(國際貿易、英語教師、律師、室內裝飾)而言,程序員的門檻是最高的了!我們所處的是一個開放的社會啊!只要你愿意學,其實沒有多少是你學不會的。農民都可以造飛機呀?!
1.2 你是不是真的在大學“辛辛苦苦”的學了4年?之所以有這樣的懷疑,第一,我4年大學,純粹是混過來的,包括幾乎我所有的同學;第二,我考“軟設”的時候,才發現,掛掉的,很多都是科班生(當然,他們可能才大一、大二,或者沒有像我一樣“應試”);第三,我知道有一些計算機專業的學生,大三大四的時候就已經有很高的技術水平,并藉此小有收入了,讓我直后悔,當時要是我學計算機……
2. 程序員干的是體力活。
說這話的同學,說的無非就是“加班”和“沒技術含量”。
我仍然想問的是:
2.1 有多少職業不加班?我爸做建筑,我做裝飾的時候,趕進度,睡工棚,通宵達旦,是常事。我弟弟,當公務員,周末出差還沒得調休,聽說我加了班還有調休,都要跳起來了。
2.2 據說微軟不加班、Google不加班,為什么你不去,或者你去不了?為什么你的工作沒“技術含量”?換過來想,你問一問,微軟、Google的技術員下班之后都在干什么?(如果有人剛好是微軟、Google的,回個話,呵呵)
3. 中國現在軟件行業狀況太惡劣了。
我仍然想問的是:
3.1 參考1.1和2.1,略。
3.2 你為這個惡劣的軟件行業做過什么?這聽上去要求有點高,但實際上,你多寫一份文檔、多規范一行代碼,多寫一篇技術博客……這些都可以是你的貢獻。不積跬步,無以致千里。正是由于我們每一個人的努力,每一份微薄的貢獻,才促使我們的生活一天一天的好起來。
這里我想多說幾句,幾年前,因為同樣的原因——對中國法治環境的厭惡,我離開了我曾經摯愛的律師工作。幾年后,尤其是昨天,看到重慶涉黑案中律師李莊和他的辯護律師陳有西,為心中的公平和正義的信念,所承受的犧牲,所表現出來的錚錚鐵骨,以及由此而綻放的人性、智慧和法治的光芒,讓我明白,我可悲的放棄和背叛。
4. 軟件行業技術更新快。
所以,年齡大的程序員的經驗積累沒有用,干了10年8年,又得回頭和小伙子拼技術。
我仍然想問的是:
4.1 參考1.1和2.1,還是略!
4.2 不知道大家有沒有想過,在日新月異的計算機技術中,有沒有不變的東西?我見過的最常見的答復是,“有,算法(思想/數據結構),算法是不會過時的”;然后很多人開始鉆研算法,但一會就有人冒出來了,“大家在實際工作中究竟有沒有用到過算法喲?”,而回答常常會令他們很傷心。(這個有時間另行談論)
就我的理解,和任何技術一樣,軟件開發技術一樣是要講積累的!
我是一開始就學C#、ASP.NET的,但學到一定的時候,我自己都知道,再也學不下去了。一些基本的概念,你根本無法理解:引用類型/值類型?編譯時/運行時?hash是什么?cookie/session是什么?為什么要分層?設計模式用來干嘛……這些知識,不是買幾本《asp.net2.0入門》,《C#高級編程》之類的書可以解決的。
進入工作之后,你發現問題更多:你一天都搞不定的bug,老程序員幾分鐘就搞定了;你絞盡腦汁也想不到的實現方式,老程序員眼睛都不眨一下,就有了思路;客戶的需求文檔,你覺得爛得像狗屎一樣,根本就狗屁不通,但老程序員拿到就可以開始做……差距啊!
據我所知,C語言就有指針,asp就有cookie和session,學JavaScript就應該知道什么是解釋執行,了解hash是數據結構的基本功;完全可以想象,有了這些積累之后,學C#、asp.net是不是更容易得多?
忘了誰說過(好像是金旭亮老師),“沒有寫過10萬行代碼,就不要談設計模式”,對于軟件工程的深刻理解,絕對是需要長久的工作經驗的浸淫的?當你被客戶不斷變化的需求折磨得快瘋了的時候,你一定會理解為什么需要設計模式;當你在asp頁面里面找代碼找到眼淚都流出來的做時候,你一定會明白asp.net的codebehind、控件開發的必要性。
如果你發現你工作5年10年之后,你還沒有一個剛畢業的小伙子學新技術快,沒他學得好(理解的深度也相當重要),那可能有兩種情況:這小伙子天賦異稟,絕對屬于牛人級別的,這種情況你就認命吧,幾萬分之一的牛人都被你遇上了;另一種情況就是你這5年10年都白混了!
其實,在學習的道路上,沒有多少捷徑可走,“絕知此事要躬行”!很多人回憶他們的成長經歷,都會覺得自己當年走了不少彎路。但要知道,你今天能認識到那是彎路,這就是你現在和過去不同的地方!
不知道大家有沒有想過,一個程序員,怎么樣才算“好”?會一種誰也不會的語言?懂一種誰也不懂的算法?知道一種誰也不知道的設計模式?……其實不是,至少我認為不是。
一個優秀的程序員,他的氣質是內實而外溢的。
他基礎扎實,多年的孜孜以求,使他的根須,又深又密,他可以汲取一切可以汲取的知識,來供給他枝繁葉茂的成長;
他經驗豐富,閱歷廣闊,見證了計算機技術的滄桑變遷,無論成功或失敗,他都有所收獲;
他成竹在胸,所以淡定而從容,他沒有什么抱怨,只有幾許堅持;
他熱愛,所以他執著,所以他樂于分享;
而這所有的一切,都需要歲月的洗禮,執著的堅持,不懈的奮斗。否則,何謂“沉淀”?
中國的軟件開發起步很晚,可能最早的一批程序員也是在80年代末90年代初才走上工作崗位,而蓬勃興起,應該是在90年代末了。所以做IT的,大多數人看上去,都很年輕。但即使這樣,他們中的很多人都應該已過而立之年。他們,都失業了嗎?都轉行了么?很想做一個調查,但僅就我目所能及,他們,都在各自工作崗位上發揮著無可替代的作用。
話說得很刻薄,但不如此,恐怕會有更多的年輕人背負莫名的恐懼和猶豫,而忘了,前行,是驅散前方陰霾的唯一手段。
-
程序員
+關注
關注
4文章
952瀏覽量
29799
發布評論請先 登錄
相關推薦
評論