一個android工程師除了需要編寫代碼的技能,還需要什麼?
只會寫代碼的叫碼農,懶惰、會拉資源、能解決問題、注重程序設計、懂軟體工程、懂業務,總之勤於動腦、能夠解決問題的才叫軟體工程師。
所以一個Android工程師絕不僅僅只會寫代碼,如果說除了編碼之外還需要什麼技能,歸結起來有以下幾項:解決問題的能力、自學的能力、溝通和理解能力;
其實你會發現很多公司在招人的時候,除了考察合格性以外,還會考察合適性(一般面試的時候都會有技術面、HR面吧,前者是考察合格性,後者是考察合適性)。
我對這三項能力的理解是這樣的:
解決問題的能力:遇到問題時,不僅可以依靠自己的知識來解決,對於不能夠解決的問題,知道利用身邊的資源(比如同事、網路等)來解決;
自學的能力:比如android的版本迭代這麼頻繁,如果不持續學習,很多能夠提升體驗和性能的新特性不用上肯定會影響app在高版本API上的體驗。其實我認為上大學最重要的是教會我自學的能力,在實驗室呆了近三年,所有的東西完全是自學,對我現在的工作很有幫助,最明顯的效果是解決問題的能力還可以;
溝通和理解能力:學會拒絕(你得說服別人吧)、遇到問題(你得讓別人理解你的意思吧)時和同行溝通、理解需求(你得知道你需要做什麼,怎麼做吧)文檔等等,這個需要自己多練習,多實踐不僅可以提高自己的溝通和理解能力,還可以提高自信心。看了看眾位的回答,我心中的想法就說不出口了。。。。
我想說做人來著。。。。
5分技術3分做人2分運氣。6分算及格。補充張明雲同學的回答。1、翻牆技能
不管是做日常(Eclipse、Android Studio的升級)、還是查資料(Android Developers、Stack Overflow、Google)都是必須的。
2、感知技術趨勢依據現有的App開發的面臨的共同問題,使用新技術的能力。比如提高移動端的發布能力,考慮到整個App升級率不高,因此Html5+Native混合開發在保證用戶體驗的同時,又能有近乎100%的發布能力(可以關注FaceBook開源React Native。見如何評價 React Native)。3、猜代碼工作中,你會悲催地發現很多時間要讀懂代碼(別人的、系統的),具體是因為要維護以前老人的代碼或者有google不到的問題。讀代碼最好的辦法就是猜,很多東西你猜了就等於讀了,最忌諱沒想法地磨代碼。還要看代碼的技能。
首先,Android的Framework層免不了常常打交道,說不定哪天你就和我一樣到了一個要定製Android的公司,那什麼也別說了,看Linux吧。看這些代碼確實有難度,不過有時也是享受,看看人那代碼寫的,大氣,你再看看自個兒那代碼。
然後,經常還會要看看別人的代碼,這個您就各安天命吧。前任是個好手,你接手那就是隨便改幾個參數,加兩個擴展就行;這要是前任對付活,那有得你受的,如果一個接近5000行的代碼里充斥著
mp.setPlayerType(6);
mp.setParameter(1400, 1);mp.setParameter(1500, 1)
這樣的代碼,前任還沒給你留下任何注釋和文檔,那自求多福吧。
不說了,說多了是淚。感覺最重要的是不斷自主學習的技能,不要等大家都用了這個東西,你才用。要學會走前沿。
寫代碼的含義很寬泛的。
從零開始全部自己實現叫寫代碼,
在提供了基礎API的基礎上照著達到偽代碼水平的設計書實現細節功能也叫寫代碼。前者可能是Linus Torvalds,Andy Rubin,後者則可能是某個公司上個月剛招的畢業生。。。這個要看自己的興趣了:
如果你對技術特別感興趣,對技術很熱愛,那就繼續技術之路,之後往CTO、架構師方向發展;
如果你對產品感興趣,不妨往產品經理方向靠,之後可以做產品總監;如果你發現你有管理的才能,之後也可以往管理崗發展;。。。但這一切都建立在你把現在的事做好的基礎上,所以當下你是一個Android程序員,那就爭取先做個優秀的Android程序員,等你成為了優秀的Android程序員,下一步我想你應該知道你需要什麼了。。。需要一個懂你的媳婦。聽我的,准沒錯,認同的點贊吧,
設計規範,交互,審美。
1解決bug的能力2自學能力3應用交互設計的能力
4如果能寫框架,站在架構師的角度思考,解決問題最好了
看了大家的回答 我都不想學習Android了 初學者啊。。。
推薦閱讀:
※Android Studio項目應該提交哪些文件到GitHub上?
※Android Studio有哪些非常好用的插件?
※有什麼好用的Android Studio的插件值得推薦?
※如何做好安卓應用的界面設計?
※Android 手機自動化測試工具有哪幾種?
TAG:Android開發 |