Mistakes I Made(as a developer)...大齡程序員的忠告...(部分轉...)

 

 

 

在2006年,我開始了編程工做。當意識到來到了十年這個重要的時間關口時,我以爲有必要回顧一下這十年間所犯下的錯誤,作一作經驗總結,而且給正在這個職業上奮鬥的人們提出個人一些忠告。
開發行業變化得很快,我沒法確定在將來十年裏這些建議一直有效,但個人話對大家是確定有幫助的,無論是剛開始工做的新人仍是老手。html

 

要堅持使用一個開發平臺,構架或語言程序員

在過去十年間,我所犯的最大錯誤是:幾乎每次我換工做時也轉換了開發平臺
個人經歷從Java企業開發開始,到嵌入式C編程,到用VB、C# 和 C++開發Windows桌面應用程序,而後用Objective-C寫iOS應用程序,到用NDK編寫Android庫,最後到寫Android應用
這個職業經歷聽起來使人敬畏,但實際上僱主並不關心。僱主們並不會重點關注你擁有10年各式各樣的開發經驗,但若是他們看到你沒有足夠的Android應用開發經驗,你就不可能得到一個Android開發的工做。
轉換平臺會對你的簡歷產生巨大的負面影響。對於一個僱主來講,實際上他沒辦法經過簡從來驗證你是否是某一特定開發領域的專家,爲你付出大量資金是否合理。
大多數公司都不關心你的過去,技術面試會更加劇要。這就是爲何不少經歷尚淺但專業對路的開發者能夠找到工做的緣由。
那麼咱們如何適應市場的變化呢?只要你不停的敲代碼,就能天然而然適應市場,但你也須要投入一些時間在新技能上,應在空閒時抽出時間來學習新技能,並且你也要下降指望薪水。你須要後退一步,才能前進兩步。
一旦你找到一個讓你以爲舒服的平臺,框架或語言,就應該堅持下去。從長期看,你指望的薪水和你的工做能力都會比頻繁跳槽來的更高。找到最須要你的專屬技能的那些最好的公司,而後踏實的在那裏工做。我知道這聽起來很簡單,但我花了不少年才認識到。

立刻年滿34週歲的程序員在此說一句:不管什麼時候,傍身的技能不能丟,代碼必定要時刻留在手上!天天都要寫,日日寫,不停息。
基本功打牢,學精一門(我的是C#),其餘相近的語言(JAVA,PYTHON,C++)都是相通的,上手不難。數據庫也是,三大主流數據庫MSSQL, ORACLE, MYSQL 精通一個,其餘的能夠說無師自通。即便是最近很火的NOSQL,也不難掌握
關於跳槽,沒在一個公司呆過3年以上,經歷過3-4個項目以及一個完整項目週期流程的程序員,我的認爲都不是合格的程序員,注意是程序員,還到不了項目負責人,以及項目經理的級別 面試

 

不要爲高工資追求管理角色

之前我老是覺得那些穿着西裝,做行政決策的管理者拿的薪水高的使人神往。雖然在一些狀況下這沒錯,但這隻佔一個很是小的百分比,經驗豐富的開發者的薪金通常會比中等管理者更好。
在我早期的職業生涯中,我一直想進入項目管理。我自修了管理碩士,在那裏我學到了不少有趣的東西。最後,我在一家西班牙公司做了一陣開發經理,然而我意識到這不併適合我。
在作開發者的時候,我老是感到公司缺少企業文化,尤爲是缺乏技術因素的企業文化。然而在作了管理者以後,不只編程水平沒法提升,並且在企業文化的孤獨感甚至更增強烈。最終當我離開這個崗位重歸技術開發時,我終於開始從新欣賞個人開發工做.
若是你對敲代碼感到厭煩了,那麼轉成管理崗並非解決方案,更好的辦法是橫向移動,換一個部門,換一家公司,或者是旅行,甚至在國外工做來放開你的思想,在全世界有許多技術中心,那裏對開發者的要求很高,這能幫助你打開眼界。

不要乾了沒幾年,還年紀輕輕就想着轉「管理」,真正的有價值的產品經理,沒有5-6年開發經驗,從頭至尾負責過至少3個以上中等項目,是徹底不可能作到的。 並且,好的PM,工做比一線編碼更累,動手少了動腦更多了,核心關鍵代碼每句本身都要親自負責。
那些年紀輕輕(30如下甚至28如下)的「項目經理」,不寫代碼已經2年以上,以所謂「管理者」自居拿着高薪(街薪標準吧)的,將來幾年,將會很是很是慘,緣由在此很少說你們都明白算法


休息一段時間數據庫

我歷來沒有「失業」,直到去年。在十年後,我感到須要休息一下來「重構」個人職業生涯,事實證實這是我所做出的最好的決定之一。
我休息了5個月,辭掉工做,是自願失業。我能感受到身邊的每一個人都在擔憂個人職業生涯即將結束,但所發生的一切偏偏相反。
通過十年不停的跳槽和匆匆忙忙的完成各類帶薪年假,我終於體會到「失業」是如此「幸福」。事實上,在咱們的職業生涯中,「幸福感」確實是最應該追求的東西。
從個人狀況來講,這四年來,我一直想坐下來學習德語,但歷來沒有時間去作。而在這5個月中,我參加了德語強化班,一天3小時,讓個人德語水平從A2升到B2。
從新找回工做是很容易的,比預期的要容易得多。因此,若是你以爲本身須要的話,不要懼怕一個長時間的休假。簡歷中的一段空白對於開發者來講不會被人認爲有錯。編程

固然,若是你讀了這篇文章後,不管你是否準備來個長期休假,請必定要遵循我下面的這條忠告:

ABC: 老是編碼(Always be coding)
即便是休息也不要中止編程,在我5個月的休息期間,我作了一個我的項目,一個使用discogs.com API的Android應用。這是一個方便的我的應用,幫我從數據表中添加和刪除記錄,並且我也想借此總結和更新一下個人開發技巧。
多虧了這個小項目,讓我可以自信地應對工做面試。我嘗試了許多新的流行類庫和開發模式,這些正在我今天的工做中成功有效的使用中。
我真但願早點開始作這件事。咱們的開發工做每每是重複的,時間越長,積累的編程習慣越難以更改,也讓咱們自我提升的空間愈來愈少。

LZ壓力大嗎?大齡程序員會不會廣泛被淘汰?只留下極少的精英作管理層
代碼一直在手上 仍是不太慌的 我能夠接受降薪 大不了降薪去普通小公司,更小的公司;投簡歷會被年齡歧視是客觀存在的,別放不下那個面子就行。只要能過HR,給企業創造價值,能幹活的人誰不要? 
那些不寫代碼 只管理 還想拿高薪的 就難上加難了 
這個行當,由於想着多賺錢進來的 都作不久,作不長,真正喜歡它的人,才能一直幹下去網絡

內功…
樓主如果真的程序員,求告知公司通常對於剛入職的本科生和研究生之間的培養差距大嗎?仍是主要看我的能力?
小廠就沒差了,仍是看能力。可是,通常的本科生,在數據結構與算法這塊,確定是不如碩士生的,這個差距在後期進階的過程當中會逐漸體現出來
數據結構與算法+計算機網絡實打實學好了,受用整個職業生涯,都是內功
這是一個程序員的內功,必須修煉的內功;越日後,做用才越看的出來。那些三個月訂單班出來的填鴨選手,不管如何,作到死都只能是 高級搬磚工
到了公司你會發現,負責作項目,和作實訓項目,徹底兩回事 
特別是那些 沒有SQL基礎,又沒有網絡基礎的 這些,培訓機構,都不會教你  數據結構

將來…
1.互聯網行業遭遇罕見的寒冬,而是將來2-3年形勢預計更差
2.華爲文化你們都知道,我仍是那句話:高薪不是躺拿的,要想年薪10幾20萬,對於程序員這個職位,就是拿命來換
老兄想清楚了再考慮是否入行  架構

加班…
我我的歷來不幹什麼996,加班都極少
水平和薪資 不是直接劃等號的, 若是是爲了錢來幹這個行業的,仍是趁早離開吧,真不適合大家
水平中下 天賦不高 快樂學習 不想加班 
固然 大學的時候沒學好,入行很晚,也都是緣由 框架

小公司…
小廠會要的 你說的小廠 多是那種 十幾我的的 互聯網創業型公司,主打年輕牌的 
或者是那種 純外包公司 ,打一槍換一個地方,撈一票就走的。 
他們只須要好忽悠,能996的碼畜,他們的項目負責人,不少自己就沒有什麼技術積累 
而有本身項目的開發型公司, 沒有幾個老鳥壓陣,絕對會一塌糊塗,惟獨是薪水低一點,但確定能乾的下去。本身跟着老師經歷了N個項目,至關清楚這點。 

 

成爲開發者社區的一部分
從長遠來看,擁有我的項目、閱讀、寫博客和參加訪談都會有助於你成爲一個更好的開發人員。只要你以爲有意思,就把你的代碼推到GitHub,並把你的經驗與社區分享。
當我還在大學的時候,我老是懶得參加各類社團和俱樂部活動。當我找到個人第一份開發工做時,最不樂意作的也是和其餘開發者們閒聊閒逛。
可是我錯了。
同行聚會和進入開發羣是頗有趣的事情,是結識開發者夥伴的好地方。若是你想在這個行業裏作到最好,就儘可能不要消極被動。提供你的幫助,分享你的經驗,與坐在你旁邊的人交談。每一個人都喜歡談論本身的經歷,更不用說你會遇到不少潛在的僱主。
在那裏你會碰到許多須要教練的初學者團體,你能夠指導新手,給他們提供練手的機會,甚至贊助活動。
固然,要學習別人的開發技巧而且敢於實踐,要熱情的歡迎不一樣意見的人講話,勇敢的聽取他們的意見。


不要在招聘網站上求職
這是我最後的「智慧結晶」:不要申請那些在網站上張貼的工做職位。
招聘網站的背後是複雜的人力資源流程、候選人跟蹤系統、濫發我的簡歷和混亂的溝通,這也是許多公司找不到人才而要依靠獵頭公司的幾個重要緣由。
優秀的人才應該跳過這些。網絡是尋找人才之路,更多的關注當地的社區消息,當有人離開一個重要的職位,當一個有意思的公司獲得了融資,或者某個企業人事變更正在招聘人時,你都會得到最新的第一手消息。
你也能經過網絡社交得知哪些公司的福利比較好,各公司的大多數開發者都會真誠對待你,他們會告訴你這些公司的架構是否老舊,經理是否是人品夠好,甚至工資待遇怎麼樣。
若是你看到一個有意向的工做機會,首先看看你的社交網,看看你的用戶組或LinkedIn朋友圈,是否有人已經在那裏工做了,或者問他們是否定識某些人。而後直接與他們聯繫,與那個公司的CTO、招聘經理或其餘開發人員直接交談。
獵頭是好的,但不要依賴他們。他們的任務只是幫助企業填上一個職位的空缺,由於他們並不爲你工做。若是他們推薦的職位的確很是適合你所尋找的工做,那麼你就去作,若是以爲不適合,那麼就告訴他們:謝謝,我不去。


From__Miquel Beltran__現任Good Hood GmbH首席Android工程師__谷歌柏林開發者團隊領袖(翻譯by_51cto_陳小美)
&From__虎撲__降A大調Waltz

相關文章
相關標籤/搜索