1. 程式人生 > >反省我十年開發犯過的錯-致程式設計師

反省我十年開發犯過的錯-致程式設計師

這裡寫圖片描述

  • 專注於一個方向平臺 框架語言
  • 別為了薪水去做管理
  • 不需要那麼忙
  • 敲敲敲不要停
  • 主動加入社群
  • 別從網上投簡歷
  • 最後的嘮叨
  • 原作者的話

我 2006 年開始工作,到現在已經 10 年了。 10 年,夠得上是一個“里程碑”,驅使我回首過去,反省記錄那些年我犯過的錯,真希望當初有人對我說這些話。

不論你是剛入行的新手還是多年經驗的老兵,本文多少會對你有一些幫助。如果有任何想法,歡迎你聯絡我。

專注於一個方向、平臺 、框架、語言

過去 10 年我犯的最大的錯就是 每次換工作都換一種開發平臺:

開始做的是 Java EE
後來換成 C 嵌入式開發
又換成 Windows 應用開發(使用 VB, C#, C++)
又換成了 Objective-C 開發
還換成了 Android NDK 開發
最後開始做 Android 應用開發
這些經歷看起來好像很棒,然並卵,僱主並不在乎這些!不管你過去做了多少年軟體開發,只要你不能開發 Android 應用,你就無法拿到 Android 開發的 offer。

頻繁的切換工作方向會對你簡歷造成很不好的影響。除非你是某個方向的專家,否則僱主很難給你高薪。

大多數公司都不會在乎你過去,面試時並不看重你過去在其他平臺的經驗。這就是為什麼有些(優秀)程式設計師即使沒有很多年開發經驗,也能通過面試。

那我們怎麼適應變化的環境呢?你可以像我一樣不停的學新平臺的開發,但是更值得做的是投資你自己:

感覺快樂就忙東忙西(學新技能)
感覺累了就放鬆自己
同時適當地降低薪水預期
以退為進,穩步向前。

一旦你找到自己有興趣有激情的方向、平臺或者語言,just stick to it!專注!追求卓越!長遠來看,專注一個後你的薪水期望和你的就業能力會比經常跳槽的更高。看看那些大公司要求什麼技能,去學。這個道理聽起來很簡單,但我很多年後才意識到這個。

別為了薪水去做管理

過去我一直認為,那些穿著西裝領帶的經理掙的錢比我們程式設計師高。雖然這部分屬實,但經驗豐富的開發者通常比中級管理得到的待遇更高。

我上過 PM 課程,在那裡學到很多有趣的東西。因此有段時間我總想去做專案管理。然而當我真的做了產品經理後,才發現我不適合幹這個。

作為程式設計師通常會因為公司不佳的前景而沮喪,更準確的說是不佳的技術前景。當我離開西班牙,換了新工作後,看到新公司前景多麼好,對生活、對工作都倍加感激、投入。

如果你不喜歡你目前的程式開發工作,轉行不是個好主意,不如換家公司,換個平臺。去旅旅遊,國外轉轉,開開眼界,世界上有許多技術中心、俱樂部,值得你去看看。

程式設計師群體中抑鬱、疲乏的人比我們想象地要多的多。領導很少明白,壓縮開發週期會給程式設計師帶來多大的精神疲憊,會給結果的質量造成多大影響。所以需要我們自己走出去休息休息,呼吸下新鮮空氣。就像下一步所說的。

不需要那麼忙

除了今年,10 年來我一直沒有停止工作。在 10 年工作後我想要休息下,重構自己的職業路線。現在看來,這是我做過最好的選擇之一!

今年我主動辭職休息了 5 個月。周邊人都擔心我的職業生涯,然而我卻一笑而過,結果證明我是多麼智慧。

這 10 年來我不停地換工作,幾乎沒有好好休帶薪假期,休息這幾個月感覺太™的爽了!職業生涯裡最痛苦的莫過於做無法帶給你快樂工作。

比如說,我計劃學習德語有四年了,但是從來沒有時間去做。在這 5 個月裡我滿滿當當的上了德語課,每天 3 個小時,把我的德語水平從 A2 提升到 B2,足夠我的日常使用了。

出乎意料的是,回去工作比想象中容易多了。所以當你需要休息時不要害怕會使簡歷上留下空檔期,我們可以用其他方式彌補,可以看我的下一條。

敲敲敲,不要停

在 5 個月休息時間裡,我開啟了一個個人專案。一款使用 Discogs.com 提供的 API 的 Android app。我一致想有一個方便進行新增、刪除我的收藏的軟體,順便提高自己的開發技能。

多虧了這個專案,讓我面試的時候有了談資。在這個專案裡我體驗了最新的流行庫和開發模式,為我現在的工作積累了不少經驗。

真希望我早點這麼做。我過去的工作重複性越來越高,幾乎沒有時間去體驗新的東西,很少有自我提升的機會。

長遠來看,進行個人專案、讀寫部落格、試著去表達,這些活動會讓你成為越來越好的開發者。把程式碼提交到 GitHub ,去社群裡分享自己的經驗。大膽去做吧!

主動加入社群

當我還是學生的時候,總是覺得沒有時間去社團搞什麼飛機。工作了也總是不想去個其他開發者面基。

後來發現我又錯了。

線下活動、聚會很有趣的,你可以在那裡見到志趣相投的程式設計師。積極參與,主動提供幫助,分析你的心得,多和你身旁的人聊天,每個人都喜歡談論他們的經驗,你會有所收穫的,有可能還會遇到未來的領導哦。

有很多新興的社群,需要有人去作指導。你可以主動去幫助新人,提供空間甚至贊助財物。

如果你想參加卻不知道怎麼開始,去網上問問,Twitter、知乎、微博都行,Android 開發的話可以去了解 GDG (Google Developer Groups)。最好去一些當地的組織,而不是全球、全國的,人越少溝通越好你懂得。

當然最重要的是,學習他們的程式碼和行為。熱情、不畏懼和不同的人交流,會促進你提升。

別從網上投簡歷

最後一個忠告:別從網上投簡歷!

網投太費勁了。過於複雜的 HR 流程,候選人調查系統,大量的簡歷篩選,缺乏有效的交流,這些繁瑣的步驟,使得公司最終依靠獵頭公司來,因為他們找不到人才。

優秀的程式設計師不會網投。他們會利用網路、社群,瞭解到某個崗位最新的需求訊息,也能知道某個心儀的公司合適的待遇,甚至知道面試官是誰。

你還能知道某個公司是否比其他公司更好,因為大多數你心意公司的員工都會真誠回答你的問題,他們會告訴你他們的技術棧是否古老,領導是否夠意思,甚至待遇怎麼樣。

如果你對某個招聘有興趣,從你的關係網裡找找,是否在你的社群/領英朋友圈裡有熟人在那工作,或者看看朋友的朋友有沒有在那的。直接招聘相關的人溝通,CTO,部門總管,或者其他工作人員。

獵頭也能達到你的目的,但是別過於依賴他們。他們的任務不是為你服務,而是搶在別人之前把這個坑位填滿,因此有時候不會幫你得到這個工作。如果他們的確能夠給你提供崗位,交給他們,否則還是自己去爭取吧。

最後的嘮叨

當初如果我每條都少犯點錯,現在一定會更開心。希望我的文章可以對你有一些幫助。不需要太投入,只要像享受一個業餘愛好一樣對待開發,你就不會想做別的事情了。

以上內容總結成下面幾點:

堅持一個平臺,框架或語言,長遠看來,你的職業生涯將更好。
如果你真的只想做一個安靜的程式設計師,不要跟風逼自己去做什麼管理。
感覺累了就放鬆放鬆。
別停止敲程式碼,做點個人專案,並且把開發作為一種愛好,享受它。
主動參與社團,多去面基,放鬆參與並且回饋。
別從網上投簡歷,建立自己的人脈,想換工作時找朋友。

原作者的話

謝謝你看了這麼久!上面都是我自己的一些經驗總結,可能有人不同意我的觀點,歡迎你們反饋給我。如果你們覺得不錯,歡迎(去原文連結)點贊,並且分享給你的朋友。

如果你也從事 Android 開發,歡迎在 Twitter 或者 GitHub 上聯絡我,檢視我的其他文章、作品。