1. 程式人生 > >我們都過時了,怎樣獲得新生

我們都過時了,怎樣獲得新生

轉行 層次 經驗 跟著 服務 框架 效率 正在 手機

  今天,一個同事說起現在的實習生基礎太差,while,if,return和break這些混著用就分不清return和break怎麽用了,但是他們還有自己的優點,很明確自己的發展方向是什麽,而我們才畢業的時候,軟件是怎麽回事都搞不懂。

  真實情況是什麽呢,不是因為現在的畢業生基礎太差了,是我們已經過時了。

  回想一下我們當時2012年畢業找工作的時候。那時最很流行的幾個招聘問題是結構體和共同體的區別,冒泡排序,叠代,win32和MFC。大部分問題我確實不知道答案,不過也沒關系,在以後的實際工作中,根本用不到這些了,而我們更傾向於三層架構的設計,程序的模塊化這些。現在這些畢業生是不是跟我們當時一樣,具體語句的控制對他們來說已經不重要了,三層架構怎麽設計也不重要了,而功能的實現的實現是他們的首要選擇,畢竟我們現在做軟件的時候,程序已經用代碼生成工具產生,已經不再考慮每一條語句的執行效率怎樣,模塊之間怎麽設計執行效率最高。使用代碼生成工具產生的代碼60%都是多余的,但誰還會在乎這些呢,因為那時候電腦的內存是2G就不錯了,而現在工作用的電腦內存一般是4G,服務器則高達64G。

  科技的進步很快,我們需要掌握的知識點也在改變。上學的時候,學長們跟我們說匯編是必須掌握的,這是編程語言的基礎,C語言是必須掌握的,用C語言編寫的代碼執行效率最高,如果做網站,還要學會購買服務器。而現在呢?根本沒學過匯編,java和C#編寫出的大型軟件比C語言執行效率要高。服務器可以直接購買雲服務器,還可以隨時擴展,公司買了臺機架式服務器靜靜的躺在角落裏,開機的按鈕我都不知道是在什麽位置。學長們對我們的要求沒有用途,我們對現在畢業生的要求還有用嗎?

  我總是要求自己的組員要熟練掌握socket、多線程、序列化、xml文件解析,從來沒有考慮過他們是否真的需要這些。他們是不是正在用鄙視的眼光看這我,就像當年我用鄙視的眼光看著前輩一樣。Asp.net就能做網站和webService,為什麽老師還在用wcf做webService。用wpf做的窗體更漂亮,繪圖機制也更穩定,為什麽還讓我用winform的GDI+寫自定義控件。聽說北上廣已經開始用wpf做桌面程序,還能做手機程序,而我們公司還在用我inform做桌面程序,不過慶幸的是我們沒像有的公司,還在用C++做窗體。我當年私下抱怨老員工還在用老技術開發,影響我們的發展。現在我的組員是不是也在抱怨我還在用老技術開發,明明有新的技術、新的開發思想了,我變成了那個阻礙發展的人。

  回到最初的問題,現在的實習生基礎太差,但很明白自己的發展方向。其實可以理解為代碼不是他們需要重視的,他們明白自己的發展方向是他們的基礎。這句話是有問題的,他們之所以明白他們的發展方向,是因為他們掌握了的基礎比我們高一個層次,技術要比我們強。我們當時追求的境界,是他們現在已經掌握的,而他們所追求的境界,是我們無法想象的。很悲觀的理論,我們像原始人一樣被拋棄。不到十年編程技術和思想就會徹底改變。如果努力學習,不恥下問,就可以掌握最新的編程技術,而編程思想呢,已經深深固化在我們的靈魂深處,基本無法改變。這大概就是為什麽程序員超過30歲,要麽轉領導崗位,要麽找不到工作的原因吧。

  我們要等著被拋棄嗎?畢竟領導崗位的數量是有限的,30歲時我們正值力壯的時候,況且我們積攢了那麽多經驗,就這樣轉行了,不但是對我們自己的浪費,同樣是對這個行業資源的浪費。

  多數程序員到了這個年齡,都會有自己開公司的想法,因發現這是個暴利行業。每年有很多軟件公司成立,也有很多軟件公司消失。一個小公司,幹上兩三年,就會因為各種原因結束,是因為我們大多數人真沒有經營公司的能力。不過從現階段的經濟格局上看開公司確實是個不錯的選擇,用三年時間每人賺1百萬,超過辛辛苦苦幹十年了。開公司的目的是錢,還真希望你的公司是百年老字號啊?

  開公司需要最基本的成員,如果你沒有誌同道合的兄弟,只是想老老實實上班,用自己的技術轉更多的錢,那麽就只能不斷改變自己,增加自己的價值了。

  第一,要有自己拿的出手的東西。不要只埋頭寫代碼了,每年都要審視下現在流行的技術是什麽,並嘗試使用它,雖然多數技術都是過眼雲煙,但它總存在出現的價值,等你看的多了,就會有自己的創意,一不小心自己就寫了一個NB的框架。當然,即便寫出了一個NB的框架,老板也不會給你發獎金的,這只是用於向大家炫耀的,告訴老板不要考慮開除我,我能讓你賺錢更快了。

  第二,更應該做的事怎樣帶新人,新人忙碌起來了,你就輕松了。要給新人足夠的發展空間,讓他們設計程序的架構,當然,新手設計架構師漏洞百出,沒法使用的,你做的就是拼接自己的經驗,指出漏洞,預測可能發生的情況,但不要試圖讓他更改架構的基本結構,因為他們的設計思想往往是最新的,舊包袱最少的,設計思想要跟著他們走。這樣新手覺得自己受到了重視,而你能展現出自己比他有更高的經驗,他自然會尊敬你。

  第三,就是考慮工資的事情了。不管你再怎麽有用,只要你不主動開口,老板不會大幅度給你漲工資的,反正1000元你也是工作,為何要給你2000元呢。但是一開口提漲工資的事情,和老板的關系就變得僵硬了,說不定他一生氣,把你開了。那麽人脈關系要廣,作為一個程序員,註定人脈不廣。但是程序員之間的關系很微妙的,即便兩個人沒任何關系,只要認可對方是個大牛就可以了。即便是兩人的思想是對立的,如果他那邊正好有個職位,和他的權限也不沖突,他會希望你能過去一塊工作的。如果你有10個這樣的關系在不同的公司,那麽久可以用強硬的態度跟自己打老板提漲工資的事情了。

  第四,如果在你進行業務的過程中,有其他老板給你可觀的工資跟著他幹,可以考慮一下。如果對方是個小公司的老板,類似於商業皮條客,最好不要理他。如果是讓你進如一個100人以上的非軟件公司,就不要猶豫了,擠破了腦袋也要進去。軟件的目的就是為其他行業服務,每個像樣的公司都要有自己的軟件工程師,平時維護一些簡單的系統,遇到需要做大的系統,軟件工程師的任務就是告訴公司去誰哪裏買系統。在非軟件公司裏做IT,沒有那麽多事情煩了,有更多的心情去考慮下自己的技術。如果沒有人挖你,也盡量留意這些公司。

  以上純屬個人見解。即便你有同感,也不要在老板面前說這樣的事情,在他面前還是要裝個只知幹活,不問回報的老牛。

我們都過時了,怎樣獲得新生