資深架構師講述:3—5年程式設計師的發展和出路在哪裡?
工作3—5年後,程式設計師們的成長將邁入一個全新階段。這既是程式設計師們的黃金時期同時又是最迷茫的時期,因為大家必須要要思考一下今後的職業方向。
3—5年程式設計師的發展和出路在哪裡?
是繼續做技術人,還是向管理者發力?是繼續留在大公司,還是轉投潛力小公司?如果沒有核心競爭力,入行一兩年的新程式設計師朋友是可以替代你大部分工作的,而且薪資還低,要怎麼辦,何去何從?
中堅力量的程式設計師們,是相對穩定的一群人,整體跳槽率低於三年以下經驗的程式設計師,但是結合開頭的迷茫,這個穩定其實也有點尷尬。
5年的程式設計師們正在面臨的窘境是,必須快速成長,成為技術總監,否則很可能會被0—3年物美價廉的程式設計師替代。
那麼程式設計師究竟要有怎樣的核心競爭力,才能不迷茫,完成進階呢?
1.從思維角度理解
正確認識自己
很多人會笑?最瞭解自己的人當然是自己。沒錯,但正視自己的優缺點,客觀做出正確的選擇卻很難。
有了5年的工作經驗之後,你應該非常清楚自己適不適合IT這個行業,並且對於自己將來走技術路線比如成為架構師;還是走管理路線比如成為CTO還是創業有一個大致的思考。
但是這些必須基於你對自己的瞭解,如果你性格非常內向,不喜歡和別人溝通,但做事有條理,完美主義,細心嚴謹,就算不為了工作自己也會寫開原始碼,並且樂在其中,說明你很適合做技術方向,想要做管理崗位還需要更多磨練。
迴歸程式設計的本質
讓我們迴歸程式設計的本質,重新去理解程式設計師這個職業。
很多人認為程式設計師只要能按照需求寫程式碼就可以了。雖然這也沒什麼錯,但以上的工作,即使你完成了,依然很難拉開你與別人的差距,拔高自己。
有三點建議:
(1).用程式碼解決問題
寫程式碼的最終目的什麼?是為了產品的誕生。對產品功能進行分析、思考、程式碼落地的能力是重中之重。
寫程式碼不是在完成一個任務,而是在解決一個問題,你需要了解清楚這個問題的前因後果,調查清楚同類問題的相同點、關聯性、痛點,舉一反三,真正去解決問題所以程式設計師不就能之糾結於程式碼是否寫得漂亮,而應該落實到它是否能解決問題。
(2).理解產品和使用者
記得知乎上有一個問題是,程式設計師應該給產品提建議麼?當然應該,不是有句話說,人人都是產品經理嗎?何況還是和產品經理並肩作戰的程式設計師。
程式設計師不僅要提建議,還要給出自己對產品的思考、理解、規劃。程式碼寫出來的是是實實在在的產品,只有理解產品和使用者才能真正生動起來。
(3).商業思維
我們要從更高層面去看待和理解程式設計的工作。
我國不像美國那樣有那麼深的技術積累,在技術創新方面的能力遠遠落後於它,所以我國的網際網路產品更多是商業模式的創新,而非技術創新。
程式設計師所掌握的技術的淘汰速度可能還沒有商業模式淘汰的速度快,商業模式的快速進步和更新必然要求技術能夠快速更新以支援其發展。
2.從技術方面入手
在BAT這樣的公司裡,商業上的變化非常之快,要求技術體系能夠適應這樣的變化,直接導致了幾乎所有的架構體系都不停地往通用性、擴充套件性方向發展,都以提供商業能力為自己的最終目標。如果沒有商業思維,如何去理解和更新龐大的技術體系呢?
技術為商業服務、商業推動技術進步,這是網際網路公司的基本法則。商業思維的一個體現,可能就是前瞻性了。能看到未來的技術需求和發展方向,你就是行業專家了。
現如今網際網路最火最新的技術知識有哪些呢?
根據阿里巴巴的面試入職標準定義
1.架構師築基專題
(1)併發程式設計
併發程式設計幾乎是所有網際網路公司面試必問問題,併發程式設計是Java程式設計師最重要的技能之一,也是最難掌握的一種技能。它要求程式設計者對計算機最底層的運作原理有深刻的理解,同時要求程式設計者邏輯清晰、思維縝密,這樣才能寫出高效、安全、可靠的多執行緒併發程式。目前網上沒有系統的全面的併發程式設計學習大綱,我搜集了很多資料總結出來一個最全面的學習大綱:
(2)JVM效能調優
效能一直是讓程式設計師比較頭疼的問題。當系統架構變得複雜而龐大之後,效能方面就會下降,特別是阿里巴巴這樣的一線網際網路公司最為注重,因此想進入阿里,效能最佳化一定是要去深入學習與理解的一環,本屌在效能最佳化這一塊雖然不能算專家,也可以自信的說是精通了(注意:自己的簡歷上一定不要寫精通xxxx,要不然面試官會懟死你。好在本屌這一塊還算自信)
(3)網路程式設計和高效IO
(4)Tomcat進階解析
(5)MySQL深度最佳化,Linux基礎及進階以及設計模式實戰
2.開源框架解析專題
閱讀、分析原始碼是程式設計師最基本的碼程式碼能力也是碼農的根本所在,學習經典原始碼中所用到的經典設計思想及常用設計模式,能夠幫你瞭解大牛是如何寫程式碼的,從而吸收大牛的程式碼功力。在阿里面試中,MyBatis,Spring等框架的底層原理是經常會被問到的
3.高效能架構專題
阿里巴巴有很多大團隊,這種大團隊裡有很多小團隊,到小團隊之後,做的業務都不相同,如果想立足成為一線網際網路公司中的萬能選手,最主流的分散式架構中有很多知識都是必須要去了解與學習的。並且在阿里面試過程中,面試官會問到實際應用場景的問題:比如微服務化、使用者量、併發量、業務複雜度以及可擴充套件程度等,這裡不多贅述。本屌提供一個分散式架構的學習思路也是自己目前還在學習中的體系:
(1)分散式架構思維以及分散式協調和分流
(2)非同步與訊息中介軟體
(3)快取和Nosql
(4)高可靠資料儲存以及分散式常見場景解決方案實戰
4.微服務專題
微服務是現在網際網路架構技術中最火熱的話題之一,也是本屌目前正在學習研究的方向。在阿里面試過程中,面試官很少會問到關於微服務相關的問題。但作為一名開發者,一名有技術夢想的程式設計師微服務架構是現在必須要去了解的主流技術
(1)springboot,springcould,Docker虛擬化技術
(2)dubbo應用及原始碼解讀,RPC原理
5.DevOps(架構師工具箱)
6.B2C商城實戰
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562044/viewspace-2637093/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 阿里P8架構師講述:3—5年程式設計師的發展和出路在哪裡?阿里架構程式設計師
- 阿里架構師Peter老師講述Java程式設計師→架構師所需要掌握的技能阿里架構Java程式設計師
- 告訴你架構師與程式設計師的區別在哪裡架構程式設計師
- 軟體架構師不等同於資深程式設計師架構程式設計師
- 10年資深架構師分享 | 普通程式設計師向架構師進階之路架構程式設計師
- “菜鳥”程式設計師和“大神”程式設計師差距在哪裡程式設計師
- 程式設計師的差距在哪裡?程式設計師的三個級別,你在哪裡?程式設計師
- 程式設計師的出路程式設計師
- 非科班程式設計師和科班程式設計師的差距到底在哪裡?程式設計師
- 幽默:架構師在哪裡?是誰?架構
- 同是ZooKeeper,你和架構師的理解差在哪裡?架構
- 資深架構師的養成計劃架構
- 程式設計師、技術主管和架構師程式設計師架構
- 大齡程式設計師的前途在哪裡?程式設計師
- 好的程式設計師到底好在哪裡?程式設計師
- 程式設計師的上升空間在哪裡程式設計師
- 程式設計師的出路之一程式設計師
- 程式設計師的認知體現在哪裡?程式設計師
- 高階程式設計師到底強在哪裡?程式設計師
- Google盲人程式設計師講述軟體設計之路Go程式設計師
- 架構師與程式設計師的區別架構程式設計師
- 程式設計師與架構師的區別程式設計師架構
- 年將30、技術一般、中型企業程式設計師,未來的出路在哪裡?程式設計師
- 程式設計師年度總結:2019年,你的出路在哪?程式設計師
- 提高Java架構師和程式設計師效率的10個工具Java架構程式設計師
- 架構師眼裡的高併發架構架構
- 阿里架構師,講述基於微服務的軟體架構模式(附資料)阿里架構微服務模式
- 漫談程式設計師系列:一張圖道盡程式設計師的出路程式設計師
- 阿里資深架構師談:Java程式設計師怎麼做才能有最高最好的學習效率!阿里架構Java程式設計師
- 程式設計師,如何從開發轉型做架構師?程式設計師架構
- 程式設計師職業發展路徑圖:從菜鳥工程師到高階架構師程式設計師工程師架構
- Java外包程式設計師的技術出路Java程式設計師
- 走向架構師——1~3年java程式設計師面試必備的技能架構Java程式設計師面試
- 資深架構師的 AngularJS服務架構AngularJS
- 月薪8K與月薪3W的程式設計師,差在哪裡?程式設計師
- 京東資深架構師程式碼評審歪詩架構
- 程式設計師的“橫向發展”程式設計師
- 架構師害怕程式設計師知道的十項技能架構程式設計師