我有約五年的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 原生SDK開發,Web API串接,Google Play APP 上架,Google Firebase 服務整合,第三方SDK整合。
MVVM架構,Databinding。
測試框架:Robotimun, Expresso
使用語言:JAVA(80%),Kotlin(20%)
平台:Windows,android studio
物件導向,Design Patten
開始為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使用。
為了讓使用者能夠方便安排走訪各個店鋪,在地圖上實作的導航路線繪製,可依照使用者需求安排順序,或是以店舖資訊來做排序進行路線安排例如庫存,距離等。
就讀東海大學資訊工程學系,在就學過程中參加資策會舉辦的課程而開始接觸學習Android APP的開發,畢業專題是開發Android APP應用,用於紀錄棒球比賽比賽過程。