2002波尔多红酒:Android 資深架構師的成長之路 [復制鏈接]

2019-10-8 10:48
ceshishangchuan 閱讀:241 評論:2 贊:0
Tag:  架構師

前言

恋恋波尔多 www.luaogj.com.cn 眾所周知,當下流行的編程語言有Java、PHP、C、C++、Python、Go等。其中,穩坐榜首的仍然是Java編程語言,且在以面向對象思想占主導的應用開發中,Java往往成為其代名詞。Java語言的背景強大,開發者眾多,一直發展都不錯。從普遍的企業的角度來看,存在的問題是:后臺被認為是技術核心,客戶端卻被認為技術含量不高,甚至小企業會讓后臺人員順便開發簡單的客戶端,或者讓后臺的架構師管理客戶端幾個人。事實上,客戶端技術和后臺技術的側重點完全不同,連編程語言都不同(Android使用Kotlin編程語言的逐漸普及)。另外,后臺的人跟用戶相對離得太遠,而客戶端是直接面向用戶的,與產品人員溝通更直接。所以,我認為企業產品真的是為了給用戶用,那么選客戶端背景的人員去做架構更好一點。

一、移動架構師職位介紹

(1)移動架構師公認的職位描述是什么?

事實上并沒有非常準確的職位描述。不過我可以嘗試給出了一個:

1.設計當前架構。包括新技術方案的制定或評審。

2.改進過去架構。根據業務的發展或者技術債務的原因,重構當前技術方案并且推進實施。

3.前瞻未來架構。技術方案調研和分析,隨時準備好對新技術的使用。

4.推進技術方案實施。解決實施過程中具體的技術問題。

5.技術分享和培訓。推進技術交流和新技術的使用。

6.人員的招聘。技術面試。

(2)移動架構師是否還要日常編碼,如果需要,比例是多少?

雖然帶有管理色彩,但仍然以技術為主。所以代碼是必須要寫的,架構師不寫代碼,就成管理了。寫代碼的比例應該至少是 40% 的工作時間以上。

(3)移動架構師的成長路線是什么樣的?

可以先試著解決當前業務中的技術問題,然后再培養自己的技術前瞻性,為業務的未來儲備技術。架構師立命的根本還是技術,所以在移動開發技術上研究的事情都要嘗試去做。另外,技術人員通常不善于表達,而架構師的很多工作(例如技術分享,培訓,面試,推進技術方案實施)都是需要溝通工作的。另外優秀的移動架構師能夠對業界都有所影響。所以,作為一個移動架構師,鍛煉自己的表達能力也是必要的一條成長路線。

(4)移動架構師是否需要學習前端、后端開發技術?

這等于問要不要擴展技術“廣”度,而架構師標簽之一就是“廣”。不過是看個人的精力能夠達到多大的廣度和深度了。

(5)移動架構師是否需要設計整個 C/S 架構?

這點倒是夸張了,配合后臺人員設計應該是可以的,總負責的話,挑戰略大了一些。

(6)移動架構師如何進行團隊溝通工作?

1、與CTO總監的合作。

首先從思想上要認識到兩者是利益完全一致的。總監為架構師拓展上升空間,而架構師將總監的規劃切實落地。保證足夠的溝通,可以約定一個固定溝通機制,比如每2周一次,讓雙方在思想上保持同步和一致。架構師應該帶著方案和CTO溝通,講清楚A、B方案的優缺點??梢勻肅TO根據從上層去考慮做決定,就算架構師本職的決策,也最好先取得CTO的認可。如果出現意見分歧,最好的方式是先擱置,等條件成熟了,很可能意見會趨于一致。如果不能等,只要CTO的意見不是太離譜,還是按照CTO的意見執行比較好。如果有十足把握,認為自己的方案很好,那么也要得到CTO的許可和諒解,否則千萬不要擅自去做,因為最后的鍋不是你一個人能背的。

2、與其他部門的合作。

產品部門一般不懂技術,架構師的作用就是幫他解決這個問題,這個很好理解。在理解了產品需求后,進行技術可行性分析。在不改變整體方案目標的前提下,從技術的角度,提出改善意見,修改設計,目的是方便實現。與后臺架構師搞好合作,從后臺到前臺,整條鏈路太長,一個人管不過來,需要兩人好好合作,共同把好技術關。拉攏好測試部門,要當作開發的朋友看待,是自己人。如果關系夠好,考慮讓測試人員在“自測”階段提前介入,幫助開發人員提供測試案例。運營部門的關系稍微遠了一點,關鍵點是及早介入。防止臨上線了,加入一堆的運營需求,就可能影響產品投放時間了。總之與其他部門以合作為主,掙取及早溝通,將風險消滅在反生之前。

3、與團隊成員的合作。

移動開發團隊人數不多,但是部門和開發語言多。有IOS,android,還有JS和Java網關。如果一個部門超過3個人,應該設置一個Team-Leader,進行授權實現間接管理。對于自己擅長的技術親自去實現,和兄弟們一起戰斗,深入到團隊中。思考團隊提升和儲備,應讓中層人員在一線作戰,高層人員作指導,初層人員打醬油學習。對于自己不擅長的技術,可以采用“結對編程”的方法,讓兩個開發者在一臺電腦上開發,一個編寫另一個觀察,程序基本是相同的,還是能夠理解和參與討論的。與幾個Leader,要重點在于溝通,在大方向上保證思想一致,給他們空間適量授權,并協助他們做出成績。重點注意團隊的正能量以及活躍的氣氛,人不是機器,和諧的氛圍比冰冷的制度和懲罰要好得多。記錄團隊的功績和成果,提高團隊成員集體榮譽感,將奮斗目標引導到“自我價值”上來。

(7)移動架構師項目新需求處理的注意事項

1、開發流程。新的產品方案從市場運營提出需求開始,再到產品經理制定新的功能需求,最后開發手里進行研發。

2、全局視野。在產品與開發首次會議時,首先從整個項目的全局出發,掌握需求的目的和意義和其他需求之間的關系。

3、完善補漏。向產品提出的需求的不足之處,從用戶和開發的角度進行補漏完善,從而保證項目正常的運行。

4、接口數據。與后臺數據接口開發人員定制數據在那個接口里給比較合理。

二、Android架構師技術介紹

架構與設計

  • 設計模式
  • 重構
  • 網絡編程框架
  • TCP格式三次握手與四次揮手
  • HttpClient
  • HttpURLConnection
  • Volley
  • OkHttp
  • Retrofit
  • UI架構模式
  • MVC
  • MVP
  • MVVM

研發工具

  • 集成開發環境
  • Android Studio
  • Sublime Text
  • 版本控制系統
  • svn
  • git
  • gitlab
  • github
  • mercurial
  • 調試工具
  • ADB
  • DDMS
  • Stetho
  • LeakCanary
  • ClassyShark
  • Postman
  • markman
  • CodeReview工具
  • Gerrit
  • Phabricator
  • 構建工具
  • Gradle
  • Buck
  • 效率工具
  • 番茄鐘
  • Markdown
  • WakaTime
  • Focus Matrix
  • evernote
  • Pocket

移動安全

  • 代碼和資源混淆
  • 反編譯
  • 密鑰管理
  • 安全編碼
  • 應用加固

專項技術

  • App 瘦身
  • MultiDex
  • 插件化
  • 推送技術
  • Crash 統計
  • 函數式編程
  • 啟動?;?/li>
  • 在線熱修復
  • AOP
  • React Native
  • Hybrid
  • SDK化
  • 依賴注入

軟技能

  • 知識管理
  • 團隊Wiki
  • 團隊論壇
  • 時間管理
  • 四象限法則
  • 帕累托法則
  • 番茄工作法
  • 目標管理
  • Smart 法則
  • 思維導圖
  • 甘特圖
  • 項目管理
  • 邊界思維
  • 過程思維(WBS)
  • 風險思維
  • 干系人思維
  • 整合溝通
  • 團隊管理
  • 招聘面試
  • 梯隊培養
  • 技術規劃
  • 團隊規范
  • 個人管理
  • 技術博客
  • 技術分享
  • 會議演講
  • 領導力
  • 持續學習

周邊技術

  • 產品交互設計
  • 后端技術
  • HTML5
  • iOS

移動測試

  • 單元測試
  • JUnit
  • Robolectric
  • Mockito
  • UI自動化測試
  • Monkey
  • MonkeyRunner
  • UIAutomator
  • Robotium
  • Espresso
  • Appium
  • 持續集成
  • Jenkins
  • Travis CI
  • fastlane
  • 靜態代碼掃描
  • CheckStyle
  • FindBugs
  • PMD
  • Android Lint
  • Infer

性能優化

  • 啟動優化
  • 代碼優化
  • 內存優化
  • 電量優化
  • 布局優化
  • 網絡優化

編程語言

  • Java
  • C
  • C++
  • Javascript
  • Groovy
  • Kotlin


我來說兩句
您需要登錄后才可以評論 登錄 | 立即注冊
facelist
所有評論(2)
17692179967 2019-10-8 15:04
高手,正在豐富自己。
回復
xcy_001 2019-10-8 15:05
  
回復
領先的中文移動開發者社區
18620764416
7*24全天服務
意見反?。[email protected]

掃一掃關注我們

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 恋恋波尔多 )