1. 程式人生 > >程式設計師是吃青春飯麼?

程式設計師是吃青春飯麼?

        應該很多人都有這種想法的,程式設計師是吃青春飯的,甚至很多程式設計師本身都有這種想法。我個人認為程式設計師是一個事業可以長久的幹下去。

       首先,分析有這種想法的原因:

1.程式設計師天天加班,年輕的時候還有精力年紀大了就力所不能及了。

2.在國內基本上程式設計師都是很年輕的,年紀大了一般都轉管理,更加肯定了這種想法。

3.道聽途說,三人成虎

總之就是程式設計師需要加班,而且加班很厲害。年輕有精力可以,年老不可以

其次,分析產生這種想法的因素:

眾所周知,社會上存在的大部分程式設計師都是培訓班培訓出來的,大學基本上不可能培訓出來適應適應技術發展迅速的社會。對於從大學直接進入公司實習或者工作的程式設計師或者自學成才的程式設計師,個人覺得這些程式設計師對於工作沒有系統的整體認知,比如本人從事android行業工作,對於有些自學過來的程式設計師他們使用的技術或者寫作手法是很原始的,就是基礎入門的東西:activity一堆,mvc框架,隨心所欲的寫程式能完成功能就萬事大吉了,如果剛入門是可以這樣了,但是隨著熟能生巧,作為成熟的程式設計師就會發現有些功能在重複的開發,重複的浪費時間,所以就有了功能封裝,類庫化,框架化等等。這樣當有重複的功能開發直接複製貼上就行了,但是封裝的過程需要消耗很大的精力,對於有些人完成功能就完事的態度,才是最大的對自己的不負責任。程式設計師大的忌諱就是重複造輪子。對於自學的或者實習過來的人往往沒有這個思想。隨著程式設計師生涯的持續就會吃不消,感覺精力跟不上。

其實培訓班培訓出來的學生有了系統的學習,更容易培養(前提,培訓的東西都學會了),如果真的學會了培訓班所教授的所有東西,真的完全可以勝任2年或者三年工作經驗的工作的,但是據我所知培訓生能完全學會的概率應該不會超過十分之一,也就是培訓生很多都是半吊子出身。學不會肯定有學不會的原因,這些人進入社會更不會話太多的精力來學習,隨著程式設計師生涯的技術,慢慢也會跟不上技術迭代的腳步。

自身經驗舉例子,公司安排ios和android各出一個人開發產品。ios程式設計師比android的工作經驗時間還長,眾所周知,ios比android更容故意,程式碼功能更少,適配更少。但是開發的過程中會發現,android不僅速度很快,bug也很少,因為在android開發的過程中框架就更換了3次,從早期mvc,中期mvp,後期mvvm,不僅僅框架的原因,還有androd在開發中比如掃碼功能, 網頁功能,工具類等等具有統一性的功能類都封裝好建立雲端依賴,當有其他產品插隊的時候,直接複製貼上就行了,app開發早期ios確實比android要快很多,也很輕鬆,但是後期ios越來越體力不支,每天加班到很晚,還被測試找各種麻煩。我問過ios的同學,你們的框架是什麼?有沒有封裝過類庫之類的,他說,ios沒有這些東西的,就是mvc,開發完成功能就行了。。。我當時就哀其不幸怒其不爭了。。。這種人在程式設計師行業估計待不下去了多長時間了。

程式設計師是一個高智商的行業,是非常非常懶的人才能存活下去的行業。並不是獨立加班,努力拼命才能獲得很好。要學會偷懶,投機取巧。不能總是傻啦吧唧的總監吩咐什麼,就老老實實的幹什麼。這樣並不是一個好的程式設計師。個人覺得程式設計師首先具有的基本心態:開發一個功能首先看看有沒有現有的技術,有的話就用,相似的話就改吧改吧用。沒有的話,封裝一個類庫,自己可以隨心所欲在任何專案用。所以這就需要每天都花一點時間來搜尋新技術,學習新東西。從我自身工作經驗來說,除了剛入行的那幾個月是經常加班的,之後的程式設計師生涯基本都沒有加過班,除非專案特別變態,但也不會加班太長時間的,隨著經驗的積攢,只需要像搭積木一樣,將自己擁有的所有功能類庫壘好了,就是一個產品,根本就不要花費什麼精力的。

一個成熟的程式設計師並不會因為工作而加班,而是因為學習新技術而加班。當你擁有各種各樣的功能類庫,一個產品只需要拼接就能很短時間內完成,不需要花費過多精力。同時,往往需要花大量精力的就是新技術的產生,需要學習瞭解,封裝或者更新自己已有的功能類庫。不過自身所感,,,8小時足夠了,或者說很富裕了,每天只需要花費4個小時學習就行了,工作僅僅2個小時也就差不多了,剩下的時間,談理想,說段子,看黃片。。。

總之,如果你是程式設計師還認為程式設計師是吃青春飯的工作,這證明你對於工作不成熟。如果你不是程式設計師,,,管你屁事,給老子閉嘴,老子現在都沒女朋友都是你們這群鍵盤俠的鍋。