1. 程式人生 > >“轉行做程序員”很難?這裏有4個建議

“轉行做程序員”很難?這裏有4個建議

面試題 時間 一定的 失敗 思維 直觀 應聘 list 開發

近幾年來,傳統行業多處於經濟下行,加上互聯網行業的賺錢效應,想要轉行到這一行的人越來越多,其中程序員這個行業更是很多人夢寐以求的。

但另一方面,我們也發現,這些想要轉行的同學們往往會遇到很多困擾。就在一周以前,我統計了一下身邊一些想要轉行做程序員的朋友他們的難題,結果大致如下:

  • 比如達內,黑馬程序員,北大青鳥等各種培訓班層出不窮,到底哪家強?

  • 學習語言怎麽選:java?c++?python?Android?ios?

  • 如果要學java,從哪裏下手?

  • 毫無工作經驗,想找一個入行的公司實習,3000元人家都不收。

因為本人從事軟件開發工作已經好幾年了,各種轉行做程序員的人成功或者失敗的我見過不少,有的朋友轉行成功現在已經在杭州阿裏混的風生水起,也有的培訓之後放棄了。所以對於轉行做程序員的痛苦,我有著極深刻的切身體會。

所以,今天圍繞著“轉行做程序員”,我想整體聊一些我能想到的建議和看法,希望能夠幫助想要轉行的同學們。

我會建議每一個想要轉行做程序員的同學逐次問自己這樣幾個問題:

問題1:你在轉行中面臨的最大障礙,到底是技能還是認知?

一般來說,一個此前不具備軟件開發工作經驗的人,在考慮轉行做程序員的時候,會面臨到兩大最主要的障礙:一個是新技能的學習,另一個是新的思維方式,認知的轉變。

對於新技能的學習。比方說你要開發一個網站的項目,數據表怎麽設計,後端框架選擇什麽,前端框架選擇什麽,接口怎麽定義,緩存,日誌等你什麽都不知道,leader告訴你這個模塊你負責開發,due-date是幾月幾號,你該怎麽辦?

對於思維方式和認知的轉變。比方說讓你描述一個杯子,你可能會老老實實的說,這是個喝水杯,能夠裝什麽什麽東西,顏色是白色,材料是紙質等方面去說。但是對於一個程序員,他可能會將這個杯子的所有直觀的屬性一一描述,然後再來描述他的功能。就像程序裏面描述對象一樣,這個對象擁有什麽屬性,擁有什麽方法。杯子這個問題也是很多公司的面試題,這就是考察你的思維方式和認知。

就這兩點來講,我的建議是:

假如你才剛剛轉行不久或者正在轉行中,自身缺乏一個程序員必要的各種技能(比如jsp,ajax,springmvc等框架的應用)當然首當其沖的是新技能的學習,而如果你已經有了一定的工作經驗,基本的必要技能已經掌握得七七八八

(這時候你已經是某項目裏面的一些模塊的開發負責人)了,這時候就要考慮思維方式和認知得問題了。

問題2:你想要轉行的目標崗位是否清晰?

這可能是50%的轉行的同學要面臨的困惑了,他們對自己的目標崗位和職業規劃都是非常模糊的,舉個例子:

某A同學希望轉行做java開發,各種自學看視頻看算法,還是沒什麽效果,找工作也被別人拒之門外。這時候他就要考慮到底從事java哪一塊的開發,想去什麽行業,做什麽業務,java開發的程序員需要哪些技能,面試的企業又需要什麽樣的技能。

所以,要轉行的話,先考慮你想去什麽公司,然後在各大招聘網站上面看看這個公司對java開發人員的要求是怎樣的。他們公司需要開發人員會springmvc,那就去學,需要會mysql和oracle,那也要去看看。以下是我在網上選的一個應聘需求,可以參考一下:

技術分享圖片

這個是人人網的任職要求,三年工作經驗可以先忽略。就看他需要你會哪些技能,然後針對性的每個技能怎麽應用,有什麽知識點,在網絡上有無數的資源可以供你學習。可能你會說不知道怎麽學習,那麽以上要求裏面你不認識的每個詞語都可以作為搜索關鍵字,去問度娘,他能給你準確的答案。

問題3:圍繞你的目標,你是否有明確合理的學習方式?

這個問題是承接上一個問題的,到底怎麽學習才能找到工作。這裏我先說幾個原則性的東西

1.如果毫無工作經驗,對編程還處於一知半解的程度,做一個功能還不知道怎麽下手,或者說下手很模糊吃力,這種情況下去考慮思維認知轉變,基本上沒什麽卵用。只有當我們在開發上面能夠得心應手的時候,才方便考慮思維認知的問題。

2.如果要做到get技能,就必須花費一定的時間去動手寫代碼,實踐和訓練是非常有必要的,如果從來都沒有寫過代碼,面試官一問就能難住你,那肯定是拿不到offer的,實習都不行。

3.如果要做到認知升級,就必須在有了一定的經驗的基礎上,再加入到一個逼格更高的圈子中,結合實際的案例,進行思考總結才能形成一個程序員的思維模式。

在以上幾個原則下,再延伸說一下我的建議

1.自己嘗試照著網上別人給出的demo從零開始編寫代碼將別人的案例變成自己的項目經驗,哪怕只是一個hello world。就springmvc來說,我去百度看看。我隨便搜索了一個“springmvc例子”,第一條搜索結果就是圖文並茂的教程,咱們可以照著寫一遍,如果覺得這個還難了,那就從更簡單的開始入門,比如搜索hello world的實現。

2.嘗試參與到一個能給你實踐經驗的team中去獲得開發經驗,義務為其勞動,爭取獲得能夠寫代碼的機會,不懂得當然大膽去問。在網上找一些qq群,或者各種開源框架都可以,比如github。

3.通過一些大神分享得學習視頻,對照著別人開發的例子,自己一行代碼一行代碼的寫出來。每一步都照著操作,沒有那麽難。

一般來說,上面的1只適合那些極度自律和學習能力還不錯或者說有一點經驗的人。2也是需要有一定基礎才能參與的,而第三點就幾乎沒什麽門檻了,任何人都可以通過這種方式來學習,我是大學這個專業的,所以我從來沒看過視頻學習。

問題4:你對轉行是否擁有合理的心理預期?

最後,我們花一點時間來說一下轉行做程序員的心理預期,比如薪資的升降,未來能夠達到的期待。

我們不妨也先給出幾個原則性的判斷

  1. 如果你已經是一個擁有非常過硬的專業技能的人,轉行只是你的一個念頭就能做到的事情。那麽在轉行的時候不妨考慮將自己原有的業務能力發揮到最大,這樣可能會有顯著的薪資增長空間。比如一些其他專業的人才,他們也擁有非常厲害的編程的技能,轉行做程序員完全不是事兒。

  2. 如果你沒有過硬的專業技能,那麽轉行過來可能必須要承受一段時間甚至更長時間的降薪了,這也是正常的,畢竟現在做個打雜的也有好幾千的工資了,轉行到初級程序員前期可能還不如一個文員拿的多。

  3. 在整個互聯網行業,低端人才是非常多的。如果你只是個剛剛轉行的菜鳥,那就要做好超越他們的準備。

  4. 因為低端人才的存在,轉行要做好一段時間內承受低收入的準備。關鍵是看你著重的是長遠收益,還是短期收益

到此為止,想要將的可能就差不多了,希望對你能有些啟發。如果你還存在哪些困惑,可以在留言區留言。

“轉行做程序員”很難?這裏有4個建議