標籤:

一個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開發 |