Grxevzsat1n0zoaykrqh

賴逸濤

我有約五年的Android App開發經驗,工作上開發使用Java,有後端API以及第三方SDK,Google相關SDK整合經驗,例如firebase, Realm, Mix panel, google map, YouTube等,在自動化測試上,使用UI階層的自動化測試來確保每次發布產品的品質。

主要開發的商品都是以電子商務為主,包含多渠道銷售平台,以及讓銷售員使用的地圖APP。


我會利用空閒時間自己開發Side Project,用來練習新的語言或是嘗試新的框架。一些在公司專案上尚未導入,或是沒有使用機會的技術,利用Side Project嘗試。

以下連結為我已經上架的APP,沒有上架的專案則放在Github裡。

https://play.google.com/store/apps/developer?id=Balder+Lai


我的目標是以開發Android APP為主,但也不排斥接觸其他方面的技術,曾經在團隊需要下開發過PL/SQL以及 Spring。自己的Side Project也使用GCP提供的DataBase, 以及Serverless的功能。在學習各方面的技術同時,可以了解系統的全面性,也能更加釐清在前端UI上要解決以及面對的問題。


除了軟體開發,開發流程上有參與過敏捷開發,Scrum團隊,Design Sprint,對於需求分析,規格設計上都有一定了解,可以讓我在進行軟體開發同時能夠更了解使用者的需求,以及一些UI設計上的概念。


Android工程師
城市,TW
[email protected]

技能


Android

Android 原生SDK開發,Web API串接,Google Play APP 上架,Google Firebase 服務整合,第三方SDK整合。

MVVM架構,Databinding。

測試框架:Robotimun, Expresso

使用語言:JAVA(80%),Kotlin(20%)

平台:Windows,android studio


JAVA

物件導向,Design Patten

工作經歷

預言家數位, Android工程師, May 2017 ~ 現在

我在此團隊中負責開發銷售系統的Android APP,也會參與設計以及規格定義。

加入這個團隊後從頭開始設計Android APP,畫面設計上會參考團隊已經在開發的初版IOS APP,依照Android使用習慣來做微調,並且開發新功能。開發過程中需要進行畫面設計,規格設計,到最後完成功能。畫面設計會用wireframe來開始設計,再畫出每個畫面的flowchart作為開發時的規格依據。另外以實例化來撰寫規格文件,讓功能完成後的測試有相關的例子可以進行。
第二年開始進行自動化測試的程序,每個功能都會以UI base來寫測試案例,在新功能或修改完成後,會跑過一輪自動化測試,測試使用的框架為Robotium。
APP開發上使用原生Java Android SDK開發,整合的第三方的開發工具包跨刷卡機的SDK來讓客戶可以使用信用卡付款。Mix Panel 用來記錄以及分析使用者行為。 Google Firebase的相關功能,包括發布測試版本的APP給測試人員,使用realtime DB讓APP保持最新版本,用Crashlytic來記錄追蹤錯誤回報。APP本地端的DB則使用Realm的No SQL database來做本地端商品資訊的存放,方便對商品資料做過濾,篩選的動作。

每次功能開發完成進入測試前都需要做Code review來保證程式碼品質。Code review 由我跟另一位APP工程師進行。而每次功能開發完成後的測試則由另外的測試人員進行,來確保功能正確。

團隊採用敏捷模式,使用看板來追蹤工作進度,跑Scrum開發模式,新的需求則用Google 的Design Sprint來分析設計驗證需求。因此在這也有三年以上的敏捷團隊參與經驗,會需要輪值主持日會,sprint retro以及sprint planning 會議,也參加過數次的Design Sprint工作坊

Ogloba, Android工程師, Sep 2014 ~ Feb 2017

開始為Android工程師,一年後開始支援後端(JAVA)跟資料庫(SQL DB),但是主要還是進行Android APP開發。
約五人的團隊裡面屬於最資深的工程師,也會直接需要應對客戶碰上的問題以及需求。

負責開發的專案
1. 客戶在零售店內使用的Omnichannel銷售APP,包括商品資料系統,庫存系統,以及串接訂單系統API等。

將原本為KIOSK站台所設計的APP改為手持平板使用,原本設計為固定使用而且螢幕較大,改為手持尺寸的時候須注意螢幕大小改變問題以及電量,網路連線等等可能造成的異常。

由於使用環境在只有內部網路可以存取,因此必須自己設計In-app update 系統,讓APP可以再需要更新的時候自動更新。同樣由於沒有雲端的事件回報系統可以使用,因此必須要讓APP將特定事件,例如當機,發生錯誤,或使用者做了某些操作的時候將事件紀錄下來送到後端,用來除錯,追蹤APP 系統狀態,商品資訊更新狀態以及機器電量網路狀態,以及分析使用者習慣。同時也使用了客戶指定的裝置品牌所提供的SDK來進行更進一步的操作,例如螢幕鎖定,隱藏按鈕等。


加入專案後約一年開始幫忙寫Gateway,server side 以及DB內的stored procedure,處兩商品資訊的架構以及產生給APP使用的商品資訊更新檔,分析APP使用狀態等等。


在最後半年左右,幫客戶開發利用實體充電Dock幫APP更新資料的Windows 應用程式,開發語言使用C#.Net,用USB連線將更新檔放入裝置內。


2. 給銷售員使用的APP,整合店鋪資料,路線資料的地圖應用,以及回報收款狀況。

此應用原本是使用手持POS機器,POS機器使用Byte來存放資料,因此在後端整合上需要重新設計API給APP使用。

為了讓使用者能夠方便安排走訪各個店鋪,在地圖上實作的導航路線繪製,可依照使用者需求安排順序,或是以店舖資訊來做排序進行路線安排例如庫存,距離等。

學歷

東海大學, 工學學士(BEng), 資訊工程, 2006 ~ 2014

就讀東海大學資訊工程學系,在就學過程中參加資策會舉辦的課程而開始接觸學習Android APP的開發,畢業專題是開發Android APP應用,用於紀錄棒球比賽比賽過程。

Powered by CakeResumePowered by CakeResume