人(rén)
已閱讀
已閱讀
APP開發工程師技術水(shuǐ)平的(de)差别
來(lái)源:lexintech.com 發布時(shí)間:2017-10-18
APP開發工程師、程序員(yuán),根據技術水(shuǐ)平、工作經驗,大(dà)概可(kě)以分(fēn)爲下(xià)面一些級别:普通(tōng)開發者、熟練開發者、高(gāo)級開發工程師、技術組長(cháng)、技術專家、架構師、一線經理(lǐ)、科學家、首席(資深)架構師、部門研發總監。今天我們就來(lái)來(lái)討(tǎo)論一下(xià)普通(tōng)開發者如何進階爲熟練開發者。
我們會先定義普通(tōng)開發者應該達到的(de)能力水(shuǐ)平,然後再介紹他(tā)應該在哪方面提升才可(kě)能進到下(xià)一個(gè)階段。
普通(tōng)開發者處在第一個(gè)成長(cháng)階段:專項能力提升。
專項能力提升階段是初級階段,你爲了(le)搞定事情,必須先具備某些基礎能力,比如某種編程語言(Java / C++ / Python / JavaScript 等)、某個(gè)IDE (Visual Studio / Qt Creator / Android Studio / Eclipse / WebStorm 等)、某種技術框架(Netty / Qt / SSH / MyBatis / AngularJS 等)。
這(zhè)個(gè)階段最重要的(de)就是提升專項能力,讓自己能夠迅速搞定一些别人(rén)安排給你的(de)事情,體現出你的(de)價值。
在這(zhè)個(gè)階段,最起碼達到下(xià)列水(shuǐ)準:
能理(lǐ)解并完成别人(rén)分(fēn)解好的(de)葉子任務
能自己完成一個(gè)功能模塊的(de)開發
以前端開發者爲例,在這(zhè)個(gè)階段,你必須能将從 UI 過來(lái)的(de)某個(gè)頁面原型轉換爲可(kě)運行、可(kě)操作的(de)真實 Web 頁面。比如登錄頁面、比如商品詳情展示頁面,要能做(zuò)到實現可(kě)視化(huà)頁面和(hé)業務邏輯跳轉。
以 Android App 開發者爲例,在這(zhè)個(gè)階段,你必須能搞定類似登錄、支付等這(zhè)類功能。以 App 的(de)登錄功能爲例,你要能使用(yòng)特定的(de)布局和(hé)組件實現自适應的(de)登錄界面,還(hái)要能學習(xí)使用(yòng)類似微信、微博等第三方賬戶的(de) SDK ,實現第三方賬戶登錄。
你可(kě)能很難自己設計一套完整的(de)登錄功能(包含口令加密、單點登錄、Cookie 使用(yòng)、驗證碼、密碼找回、第三方登錄、多(duō)終端同步、角色鑒權、用(yòng)戶數據存儲等),但是當熟練開發者或者高(gāo)級開發者完成了(le)設計,把某個(gè)小功能分(fēn)配給你的(de)時(shí)候,你要能夠理(lǐ)解這(zhè)個(gè)設計,并将這(zhè)個(gè)設計實現出來(lái),和(hé)整個(gè)登錄系統整合在一起,能夠正常運轉。
當你能夠搞定這(zhè)些事情的(de)時(shí)候,你的(de)專項技術水(shuǐ)平起碼是這(zhè)樣的(de):
能熟練搭建需要的(de)開發和(hé)測試環境
熟悉所用(yòng)編程語言的(de)基礎語法,有這(zhè)門語言的(de)知識地圖,熟悉該語言本身的(de)各種基礎功能,了(le)解這(zhè)門語言的(de)高(gāo)級功能
能調用(yòng)已有技術框架的(de) API 來(lái)實現特定功能
能在實現同一功能的(de)多(duō)組 API 之間選擇合适的(de)那一組
能熟練使用(yòng)開發環境和(hé)各種輔助工具進行調試
可(kě)以解決易複現的(de)、邏輯簡單的(de)軟件 Bug
能自主學習(xí)某個(gè)新框架的(de)基礎 API ,參考 DEMO 完成某個(gè)功能的(de)基本實現
我的(de)總結可(kě)能不完善或存在 Bug ,請大(dà)家在留言區(qū)指正、補充。
要想進階,就要先在專項技術能力上達到我們前面所列清單描述的(de)水(shuǐ)平(那是基礎要求),然後再對(duì)照(zhào)熟練開發者的(de)能力要求,有針對(duì)性的(de)去學習(xí)提高(gāo),穩步進入下(xià)個(gè)階段。
普通(tōng)開發者因爲不斷完成任務,不斷做(zuò)項目,接觸、使用(yòng)了(le)各種各樣的(de)“知識點”,于是擁有了(le)各種離散的(de)知識,但這(zhè)個(gè)知識和(hé)那個(gè)知識很少關聯,他(tā)擁有的(de)知識,是散兵(bīng)遊勇。
當你的(de)知識點各不關聯時(shí),你在遇到問題時(shí),就很難進行系統思考,就很難獲得(de)解決辦法。
而熟練開發者,則(被動或主動)經曆了(le)知識點的(de)梳理(lǐ)、整合過程,把零散的(de)知識點圍繞著(zhe)某個(gè)應用(yòng)場(chǎng)景聯系起來(lái),形成了(le)知識體系。
當你有了(le)知識體系之後,遇到和(hé)你知識體系對(duì)應的(de)場(chǎng)景相關的(de)問題,就可(kě)以快(kuài)速找到相關的(de)知識,系統的(de)分(fēn)析問題,最終解決問題。
所以說,是否擁有知識體系,導緻了(le)熟練開發者和(hé)普通(tōng)開發者的(de)一個(gè)非常重要的(de)區(qū)别:熟練開發者能夠獨立負責一個(gè)模塊或子系統的(de)設計和(hé)開發工作,擁有分(fēn)析問題、解決問題的(de)能力和(hé)任務分(fēn)解的(de)能力,可(kě)以分(fēn)配任務給普通(tōng)開發者。
從技術水(shuǐ)平的(de)角度講,普通(tōng)開發者和(hé)熟練開發者的(de)區(qū)别就在于:普通(tōng)開發者的(de)知識不成體系,而熟練開發者構建了(le)與某個(gè)應用(yòng)場(chǎng)景相關的(de)知識體系。這(zhè)樣看來(lái),普通(tōng)開發者要想進階,方向就非常明(míng)确了(le),一句話(huà)總結:構建自己的(de)知識體系。
- 上一篇:H5開發是否會取代APP開發?
- 下(xià)一篇:APP開發如何做(zuò)好後台的(de)設計