上海:15201841284
廣州:020-2989 6995
深圳:0755-23061965
武漢:027-8798 9193
一個架構工程師/成熟的時間也很長,也需要努力,但他拿不到如IT那么豐厚的回報。究其原因,就是軟件技術革命帶來的放大效應,需求遠遠超過了供給。從長遠看,都會在市場之手下逐步走向平衡。人生短暫,一個人又等不到這么久。
所以總結一句話:一個人的命運啊,當然要靠自我奮斗,但是也要考慮歷史的進程。
歸根到底就是運氣也是很大因素,甚至是主要因素。
插一個自己的小故事
要明白一點:寫業務代碼和做架構是兩個完全不同的事情。
剛踏進大學入門開發的時候,對架構師這個詞并沒有太多的概念,就覺得肯定很牛13,我以后工作了也肯定是個架構師。
后來開始寫代碼,從Java學起,然后四大組件,然后學思維,學項目、學布局等等等。
學校畢業出來,我已經能獨立開發自己的APP,雖然就是些什么圖書借還APP,壁紙下載APP。但我依舊覺得自己很牛13。但是這份資歷加上科班出身,畢業后我還是輕松得到了一家小公司的offer。工作一年后,我已經能基本上獨立解決自己開發崗位上的問題了。
我賊牛逼。但是我不會口頭上說出來,我要跳槽,這家小公司的舞臺已經不夠我發揮了,但我不會說出來,先找好下家,再提辭職,剛步入社會的我,就有如此遠見,佩服自己。
于是我拿著自己1年工作經驗的簡歷,投給了阿里巴巴,研發工程師。面試都沒收到。
然后我又投了當時如日中天的字節跳動,號稱年輕人的天下。又沒收到面試。
是我眼高手低了?投了一家上市公司,金融行業,程序員最賺錢的行業,又不給面試。
???
最后終于面到了一家中大型的企業,嗯...中級工程師。
自我介紹完,說了一下我做過的項目后,leader臉上一副:就這?就這?的表情。
當然,作為成年人的他,還是有著該有的涵養和禮貌,并沒有打斷我說話之類的。
然后到面試問題環節
leader一上來就問:看你簡歷上寫熟悉 AIDL,說一說 oneway 吧
我:???oneway 是什么?跟 AIDL 沒關系吧,我熟悉 AIDL 指的是使用 AIDL 接口進行跨進程通信。
面試官:...
啊哈,接下來的15分鐘我羞恥的恨不得立馬破門而出!binder通信原理是什么?說不清。子線程可以創建Handler嗎?母雞啊。activity啟動流程總能說一說吧?哈哈哈,忘記了....
我人生中的第一次跳槽就這樣羞辱的結束了。。。。。。。
這件事過后,我如夢方醒。光會砌磚(寫業務代碼)就想當總工頭(架構師)?不可能。
這也是大部分碼農無法成為架構師的一個原因。一直停留在業務層面,把磚砌的再好,終究只是砌磚師傅。
我們依舊比喻成造房子,也就是說,從一個砌磚師傅怎么才能一步步成為總工頭呢?
代碼是寫給別人看的,寫好業務代碼是成為架構師的第一步。
沒有哪一個架構師不是從寫業務代碼成長過來的。沒有不懂業務的架構師,所有的架構,都依賴于業務。所有的架構師,也必須要去寫業務代碼,不把自己設計的東西,用在真正的項目里,恐怕他們自己都不會知道,這種架構設計的合理性在哪里。
這里我想表達的代碼質量優化,并不單指日常編程。
我想表達的是一種架構思想:面向未來編程
一個好的工程師,在聽到需求的時候,可以根據自己的業務能力,判斷出來這些需求中,哪些是有可能變化的,哪些是不太可能變化的。
針對這些變化的內容,在編寫的過程中,不會寫死,而反復確認不可能會變化的需求,會寫的簡單一些,防止過度設計引起的復雜度。
房子要建好,必定要選用好的材料。這些便是房子的底層、基礎。
在編程中,我們所用的語言便是磚頭,各種工具類便是水泥,各種框架便是鋼筋。
光會用當然不行,必然要“知其然,知其所以然”,“所以然”便是各種方法、工具類、應用框架的底層源碼以及他的實現原理。
對于絕大多數編程從業開發者而言都面臨一個普遍的問題:廣度與深度難以兼顧。
每個企業的業務方向都不一樣,用的技術也不一樣。運氣好,面試的時候甲方公司用的技術剛好跟你學的一樣,結果技術面一問,你只答的出四大組件有哪些,生命周期支支吾吾也說不太清楚,view的繪制流程模棱兩可,垃圾回收算法一知半解,性能優化一竅不通。這要是能找到offer,那就見鬼了。
很多人在開發過程中只是浮在表面,忽略底層源碼分析,面試求職的簡歷也沒有進行修繕和突出重點,自然求職不順,加薪無望。
底層知識學扎實了,上層的東西像風箏一般千變萬化,而你是在底下扯線的那個人,順著線往下拉,便能輕松看清楚這個風箏長什么樣。
這個點相信大家很容易就能想到我接下來要說什么了。沒錯,就是開發少不了的—性能優化。
性能優化絕對是一個必修的課題,沒有過性能優化的經驗,去哪里找工作都免不了碰壁。
舉例:一名Android架構師,必定要掌控整個APP的總體構成,用戶體驗,是最為重要的一點。
作為Android開發,大部分朋友可能會對性能優化這個Topic如數家珍,Google官方在幾年前也有“Android性能最佳實踐系列”Android Performance Patterns,當然,其中大部分的Tips都是需要大家遵循的規范,但是無論理論上怎么說,我們所做的工作最終還是需要為業務服務,不管你是為了提高下載量、優化用戶評價、還是提高業務的轉化率,都需要給出性能優化的ROI。
經過近十年的發展,Android技術優化日新月異,如今Android 10.0 已經發布,Android系統性能也已經非常流暢,可以在體驗上完全媲美iOS。到了各大廠商手里,改源碼、自定義系統,使得Android原生系統變得魚龍混雜,然后到了不同層次的開發工程師手里,因為技術水平的參差不齊,即使很多手機在跑分軟件性能非常高,打開應用依然存在卡頓現象。
APP進行性能優化已成為開發者該有的一種綜合素質,也是開發者能夠完成高質量應用程序作品的保證。
從小白到架構師的職業規劃到底是怎樣的?
我們初入這行是可能出于興趣,可能出于前景。
入行這個職業就代表著你需要不斷的學習、學習,進階、進階。
在我們入行之初,為了就業,我們不得不讓自己的知識體系更具有“廣度”
入職后,你發現并不是之前所學的知識都需要用到,你開始需要進階某一知識模塊的“深度”
此時你具備初級開發的:知識點
工作了幾年后,你發現你需要更大的舞臺,你需要好幾個連起來模塊的深度進修。
此時你具備了中級工程師的:知識面
又過了幾年,你已是職場老鳥,你幾乎能解決工作中所有日常問題。你具有許多的知識面,你將你所有的知識面串聯,形成了一套完整的知識體系。
此時你是一名高級工程師:知識體系
可是,你已經到了30+,快要退休的年紀,你身后有無數的高級工程師隨時可取代你的位置。
此時,你需要探索代碼更深處的奧妙,你不再是只會建房子的“砌磚師傅”
你懂得每塊磚頭的組成、結構,你知道一所房子哪個地方需要這塊“磚頭”,哪個地方適合另一種“磚頭”。你知道這所房子需要怎樣建造,怎樣設計更堅固、合理且美觀。
此時,你是一名架構師。
為什么很多程序員做不了架構師。
1、良好健康的職業規劃很重要,但大多數人都忽略了
2、學習的習慣很重要,持之以恒才是正解。
3、編程思維沒能提升一個臺階,局限在了編碼,業務,沒考慮過選型、擴展
4、身邊沒有好的架構師引導、培養。所處的圈子對程序員的成長影響巨大。
北京京南校區:北京亦莊經濟開發區科創十四街6號院1號樓 賽蒂國際工業園
咨詢電話:400-009-1906 / 010-56233821
面授課程:?JavaEE+微服務+大數據? ???大數據+機器學習+平臺架構?????Python+數據分析+機器學習??人工智能+模式識別+強化學習???WEB前端+移動端+服務端渲染
山西學區地址:山西省晉中市榆次區大學城大學生活廣場萬科商業A1座702
武漢學區地址:武漢市東湖高新區光谷金融港B22棟11樓
咨詢電話:027-87989193
網址:http://www.cssxt.com/
咨詢電話:0731-83072091
深圳校區地址:深圳市寶安區航城大道U8智造產業園U6棟3樓
咨詢電話:0755-23061965 / 18898413781
上海尚學堂校區地址:上海市浦東新區城豐路650號
咨詢電話:021-67690939
廣州校區地址:廣州市天河區車陂街道大崗路5號中僑廣場2棟321室(四號線車陂站D出口,或brt車陂站)
咨詢電話:18948349646
保定招生辦公室
地址:河北省保定市競秀區朝陽南大街777號鴻悅國際1101室
電話:15132423123