「android高階工程師需要掌握哪些技能?」「怎樣才能成為android高階工程師?」
這些問題不只是剛剛從事android開發不久的小夥伴才有疑問的,很多任務作四五年的也同樣會有這些疑問。(兩三年沒怎麼公升職加薪,技術也遇到瓶頸的開發者大有人在)作為好的安卓開發,首先明確android是前端,重點是ui,做出穩定的應用是關鍵。
很多人對android屬於一知半解的狀態,鼓勵去stackoverflow之類的地方尋找問題的解決辦法,但務必了解內在的機理,達成對知識理解的體系,當你建立了乙個體系,很多問題就不在複雜,軟體開發是precise engineering,不是憑運氣。
舉個例子,面試的時候,我喜歡挑戰面試者一些很離譜的題目,比如,在乙個edittext裡面,你輸了乙個字母「a」,這個a是經過了多少安卓特有的流程才能顯示到螢幕上的。 初看這是個無聊的問題,大家往往會覺得,這是理所當然的事情,其實不然,這個問題考查了你對view layout/measure的理解,對rendering的理解,對drawing的理解,如果面試者能答出來這個問題,那我一定不擔心你會寫出卡頓的安卓**。
剛開始做android開發的時候,我也答不出這個問題,但幾年之後,漸漸養成了乙個體系,充分貫通這些「不必要」的細節,我私以為這是個資深程式設計師必備的條件,什麼效能優化都是水到渠成的事情
至於其他的技術,比如video streaming,取決於你是想成為某個領域的專家,還是解決問題的能手,如果是後者,你需要良好的資料結構+演算法+讀**+讀文件的能力,在短時間內了解優秀的解決辦法,然後加以利用,做軟體工程不是讀phd,先把需求解決了,再看怎麼提高。
如果身在團隊中,建立良好的學習氛圍,鼓勵交流,同時在被產品經理和設計師折磨的時候,理解他們,幫助他們理解android開發特點
最後,android只是個解決問題的工具,你需要乙個時刻準備用這個工具解決問題的知識體系,換了乙個工具也是一樣的。比如跨平台開發技術都是殊途同歸,手機沒被淘汰,android開發就不會被淘汰。
資深開發者與初級開發者的差別
如果你認為使用 優秀 和 差 來區分開發者不妥的話,也可以將這些看作是初級開發者和資深開發者之間的區別。但無論如何,多看看其他的優秀開發者 或資深開發者 是如何做的,對於自身技能 工作方式的提公升有很大的幫助。優秀的開發者是乙個藝術家,乙個享受創作過程的工匠。差的開發者只將自己當作負責產生 的碼農。...
乙個開發者的全域性思考
我最近要開發乙個需求,就是統一改一下ui標註,專案採用了元件化,標註是放在底層元件中的,供其他元件共用。需求開發前,我認為我要做的準備如下 1 ui要給我統一的標註 2 本需求涉及到多個元件庫,所以我需要多個元件庫的許可權。準備工作做完之後我就開始開發了,開發過程比較簡單,之後就是交付ui同學驗收。...
多人共用乙個蘋果開發者證書
當多人開發時,如果已經申請了幾個開發者證書和發布者證書,蘋果就不允許再建立了,頁面新增的地方被灰化了,所以不可能每個人都建乙個開發證書,這時候需要共用乙個證書了。其實一般在我們的證書介面中應該只有乙個開發證書,乙個發布證書,沒必要生成那麼多的證書,證書一般在過期之後才會重新新增。如下 方法一 rev...