一轉眼已工做八年,我跟前段時間公司剛入職的同事聊天,他問我:我三五年後能發展到哪一個地步。我當時並無回答他,本身陷入了深思。想了想決定寫篇文章闡述下本身的觀點。程序員
(幾乎)沒有人可以看準技術的下一個方向,由於這個問題實在是太難了,可以作到這一點的你就成爲了技術界的巴菲特了。好比說11年加入Google,14年加入Facebook,16年加入阿里巴巴。作到這一點的人確定有資本也有眼光去作風險投資,就算不作風險投資那麼財務自由也是妥妥的。數據庫
如今畢業八年,從北京到上海到硅谷,從國內互聯網公司外企,看到了公司好的地方和壞的地方,這裏只是根據本身的經歷寫一些大方向選擇建議,僅供參考。架構
1、行業背景很重要 行業背景很是重要;工做3年後必須肯定本身的行業背景,好比一直從事電信行業,一直從事銀行項目,一直從事ERP行業等等。學習
一個程序員不多是一直寫代碼的,就是寫代碼也要知道業務邏輯,知足什麼需求;俗話說隔行如隔山,每一個行業的業務都不同,甚至差異很大,好比你一直從事流媒體的研究,讓你跳槽到一家銀行項目,完了,一切從頭學吧,之前的行業經驗都用不上了;並且,一個公司公司招人,就是但願找到那些很容易上手,不須要培訓業務好久的程序員;頻繁跳槽的朋友,必定要注意這點;測試
一直在一個行業呆久了,就能夠成爲這個行業的專家;咱們能夠常常看到,一個項目組的某個leader,代碼寫的通常,可是卻能夠跟客戶流暢的溝通,控制着新需求的提出,bug的修正等等;而客戶也很願意跟他打交道,由於那些老的項目只有他能維護,他甚至熟悉系統的每一張表結構——-可想在這個行業呆的時間有多久啦。職業規劃
a.你工做幾年了,你願意一直和新入行的新手同樣就是個簡單的程序員嗎?設計
b. 你願意一直寫代碼,而不關心其餘嗎?cdn
c. 一個項目的前期需求,設計,後期部署維護,領導找到你,你說咱搞不定,行嗎?blog
程序員不是敲代碼的機器。第一年太多東西不懂,你能夠一切遵從老大的安排,敲敲代碼,看看數據庫,測試本身和別人的代碼;可是第二年,你仍是這樣嗎?不可能的,一年的經驗你徹底能夠入行了,是時候該學習怎麼進行需求分析,怎麼設計數據庫,怎麼寫各種文檔,怎麼寫更好的代碼?這是高級程序員的要求!開發
全部,一個項目立項後,你要積極的參與到前期設計中,跟老同志們一道思考分析問題,學習經驗!OK,你這就成長啦!
千萬不要認爲程序員就是寫代碼的哦!!!
並且,經過一個項目的開發,你要能粗略的統計出一個功能的開發時間;好比一個模塊有20個小功能點,你開發了80個小時,每一個小功能點平均2小時——這時在前期就能評估工做量啦。固然每一個人的效率和工做質量是不一樣的,因人而異,可是大概的工做量應該是能夠統計出來的,用於統計一個項目的工做週期;
據不徹底統計,截至目前爲止,中國程序員的數量已經超過了100萬。並且,隨着IT培訓業的持續發展和大量的應屆畢業生進入社會,程序員面臨的競爭壓力愈來愈大。那麼,做爲一名程序員,怎樣努力才能快速成長爲一名高級的程序員或者架構師,或者說一名優秀的高級工程師或架構師應該有怎樣的技術知識體系,這不只是一個剛剛踏入職場的初級程序員,也是工做三五年以後開始迷茫的老程序員,都必需要面對和想明白的問題。