1. 程式人生 > >一個5年iOS程式設計師的工作感悟,送給還在迷茫的你

一個5年iOS程式設計師的工作感悟,送給還在迷茫的你

前言

每一個開發者,都有一段不願提起的經歷,很多年前,剛剛從大學畢業的時候,很多公司來校招。其中最爛俗的一個面試問題是:“你希望你之後三到五年的發展是什麼?”。我當時的標準回答是(原話):“成為在某一方面能夠獨當一面的技術專家“。後來經歷了幾家不同的公司,換了不同的方向,才知道這個真是一個很難的問題。因為兵無常勢,什麼東西都是在不斷的變化,一早的時候看好的東西可能會被淘汰。

(幾乎)沒有人能夠看準技術的下一個方向,因為這個問題實在是太難了,能夠做到這一點的你就成為了技術界的巴菲特了。比如說11年加入Google,14年加入Facebook,16年加入阿里巴巴。做到這一點的人肯定有資本也有眼光去做風險投資,就算不做風險投資那麼財務自由也是妥妥的。

現在畢業五年,從西安到上海,看到了公司好的地方和壞的地方,這裡只是根據自己的經歷寫一些大方向選擇建議,僅供參考。

一、行業背景很重要

行業背景非常重要;工作3年後必須確定自己的行業背景,比如一直從事電信行業,一直從事銀行專案,一直從事ERP行業等等。

一個程式設計師不可能是一直寫程式碼的,就是寫程式碼也要知道業務邏輯,滿足什麼需求;俗話說隔行如隔山,每個行業的業務都不一樣,甚至差別很大,比如你一直從事流媒體的研究,讓你跳槽到一家銀行專案,完了,一切從頭學吧,以前的行業經驗都用不上了;而且,一個公司公司招人,就是希望找到那些很容易上手,不需要培訓業務很久的程式設計師;頻繁跳槽的朋友,一定要注意這點;

一直在一個行業呆久了,就可以成為這個行業的專家;我們可以經常看到,一個專案組的某個leader,程式碼寫的一般,但是卻可以跟客戶流暢的溝通,控制著新需求的提出,bug的修正等等;而客戶也很願意跟他打交道,因為那些老的專案只有他能維護,他甚至熟悉系統的每一張表結構——-可想在這個行業呆的時間有多久啦。

二、合理的職業規劃

什麼是職業規劃—-就是你短期或者長期的一個職業計劃!大道理不講,咱簡單點。先問你幾個問題:

  1. 你工作幾年了,你願意一直和新入行的新手一樣就是個簡單的程式設計師嗎?
  2. 你願意一直寫程式碼,而不關心其他嗎?
  3. 一個專案的前期需求,設計,後期部署維護,領導找到你,你說咱搞不定,行嗎?

程式設計師不是敲程式碼的機器。第一年太多東西不懂,你可以一切聽從老大的安排,敲敲程式碼,看看資料庫,測試自己和別人的程式碼;但是第二年,你還是這樣嗎?不可能的,一年的經驗你完全可以入行了,是時候該學習怎麼進行需求分析,怎麼設計資料庫,怎麼寫各類文件,怎麼寫更好的程式碼?這是高階程式設計師的要求!

三、什麼是高階程式設計師?

具有分析設計能力,能進行技術攻關,而且具有某行業深厚背景的程式設計師!

所有,一個專案立項後,你要積極的參與到前期設計中,跟老同志們一道思考分析問題,學習經驗!OK,你這就成長啦!

千萬不要認為程式設計師就是寫程式碼的哦!!!

而且,通過一個專案的開發,你要能粗略的統計出一個功能的開發時間;比如一個模組有20個小功能點,你開發了80個小時,每個小功能點平均2小時——這時在前期就能評估工作量啦。當然每個人的效率和工作質量是不同的,因人而異,但是大概的工作量應該是可以統計出來的,用於統計一個專案的工作週期;

據不完全統計,截至目前(2018.03)為止,中國iOS程式設計師的數量已經超過了60萬。而且,隨著IT培訓業的持續發展和大量的應屆畢業生進入社會,iOS程式設計師面臨的競爭壓力越來越大。那麼,作為一名iOS程式設計師,怎樣努力才能快速成長為一名高階的程式設計師或者架構師,或者說一名優秀的高階工程師或架構師應該有怎樣的技術知識體系,這不僅是一個剛剛踏入職場的初級程式設計師,也是工作三五年之後開始迷茫的老程式設計師,都必須要面對和想明白的問題。

四、工作內容枯燥,創新少。

現在進BAT工作,大多數都是幹一些非常基礎的體力活,雖然說BAT很難進,但是進去之後你會發現,你所從事的工作其實並不難,幹個1-2年之後,你的進步就變得越來越緩慢,所以很多人都被外面的花花世界所吸引,在BAT工作1-2年之後離職了。

五、升職難。

要知道BAT不是每個專案都成功的,很多的專案最後都難逃失敗的命運。現在進BAT工作,大多數都是幹一些非常基礎的體力活,去的專案組大多也並不好,如果你進的專案組沒啥爆發力,那你想升職基本是無望的,就如百度,幹個3-5年能升到T5已經非常不錯,再想更進一步難如登天,不是每個人都能分到當年百度貼吧那樣的專案組。

六、職業規劃難。

由於4,5點原因,大多數人都很難在BAT堅持3年以上,就受不了外面小公司的各種誘惑而跳槽,小公司會給予你很多的原始股期權,給你一個“上市”之後變成億萬富翁的美夢。但是,一旦你從BAT離職,那麼基本上,你的職業成長就會陷入停滯狀態,因為小公司能給你的也就是那麼點錢和股票了,他沒有BAT那樣的技術積累,所以基本上是小公司用錢買你的技術,而你想獲取更多的知識,基本已經沒那麼多的精力和求知慾了。所以越來越多的工程師把自己的工作形容成“搬磚”,其實就是因為工作時間越久,你的重複勞動就越多。

七、來自大城市的壓力。

眾所周知IT公司集中在北上廣深杭,尤其是北京,基本一半的知名網際網路公司都在北京。而北京的房價大家都懂得,就算你30W年薪又如何,你能在30歲之前在5環內買個100平的房子麼?沒房子你娶的到媳婦麼?我見過太多30多歲打著光棍的程式設計師了,太多了,一方面不願意捨棄自己的工作回老家,一方面是天價的房價和孤獨的夜晚。對了,女朋友在我眼裡不能算是媳婦,結婚才算是。

八、技術更新非常快。

一項熱門技術,也許過個2年,就不再熱門,可以說是各領風騷兩三年,如果你花了兩三年的時間學習一門技術,但是當你發現他逐漸落伍的時候,也就是你迷茫的時候。

九、人際關係簡單。

很多的程式設計師的人生軌跡都是這樣,尤其是帝都的程式設計師:

進入BAT工作——2-3年後跳槽到小公司——小公司專案不景氣,繼續跳槽——專案繼續不景氣,不斷的迴圈——年齡優勢不再,結婚難,事業瓶頸,迷茫——回家,or堅持最後,我想說的是,程式設計師在目前來說確實是一份好工作,至少薪水高,但是他畢竟是社會生態鏈的下游,程式設計師的工作與其他行業的技工,其實在產業的生態鏈上處於的位置是一樣的,只是目前趕上了整個行業的爆發,所以程式設計師能才能不斷的跳槽,不斷的找到新的工作機會。但是一旦行業不景氣,或者你的技術領域被淘汰,

又或者你的年齡優勢不再的時候,就不一定還如剛畢業那時候那般雄姿英發了。

最後希望我們在職iOS開發者以奮鬥為目標,在iOS的這條路上越走越好,給自己定位,不斷的學習,不斷的提升自己,接觸新技術,在這大千世界中找到努力的自己。